Parse :: Plain

TEMPLATE PARSING Engine
Jetzt downloaden

Parse :: Plain Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Andrew Alexandre Novikov
  • Website des Verlags:
  • http://search.cpan.org/~andrewn/

Parse :: Plain Stichworte


Parse :: Plain Beschreibung

Vorlagen-Analyse-Engine. Parse :: Plain ist eine Perl-Klasse zum Analysieren von textbasierter Vorlagen. Es wurde so konzipiert, dass es mit HTML-, XHTML-, XML- und anderen Markup-Sprachen verwendet wurde, jedoch in der Regel mit willkürlichen Textdateien verwendet werden. Basic-Konstruktionen in den Vorlagen sind Tags und Blöcke. Beide müssen Namen haben. Gültige Symbole für die Verwendung in Tag- und Blocknamen sind Ziffern, lateinische Buchstaben, Unterstriche, Bindestriche, Punkte, Semikolons, Doppelpunkte, Kommas, Klammern, Sternchen, Amperands, Schrägstriche und Caret-Symbole. Ein Ausrufezeichen ('!') Hat eine besondere Bedeutung und wird später diskutiert. Alle Namen sind Groß-all-Sensitive.tag ist eine Zeichenfolge in Form %% TagName %%. Möglicherweise gibt es eine beliebige Anzahl von Tags mit demselben Namen und eine beliebige Anzahl verschiedener Tags in der Template.block ist eine Konstruktion, die mit der Zeile {{blocknamed endet mit symbole}} ein Blockstartelement ist in separater Zeile. Es kann keine anderen Symbole vom Beginn der Zeile an das Block-End-Element aufweisen. Sie können jedoch einen anderen Text haben (außer Block-Start) nach Block-Ende auf derselben Zeile (gleiche wie diese Symbole auf der nächsten Zeile). Symbole zwischen Blockstart- und Block-End-Formularblockkörper. Blöcke sind besonders nützlich für iterative Elemente wie Tabellenreihen. Blöcke können verschachtelt werden und Tags sind innerhalb des Blockkörpers erlaubt. Es gibt auch eine spezielle Form von Tag-Namen. Nehmen wir an, Sie haben einen Block mit dem Namen MyBlock. Dann können Sie in der Vorlage Tags mit dem Namen %%! MyBlock %% verwenden, und sie werden dem aktuellen Wert von myBlock ersetzt.UU können auch den Block von Place in der Vorlage ausblenden, in dem es durch Vorabdruck definiert ist! Namensname. Sie können diesen Block immer noch mit den entsprechenden Tag-Namen verwenden können (mit '!'). Siehe Abschnitt "Beispiele". Es gibt einen Unterschied zwischen Quellblock und Ergebnisblock (wie in einigen Methodennamen verwendet). Der Quellblock ist ein Teil des Textes, der genau so ist, wie es in der Quellvorlage angezeigt wird, wenn Sie es nicht mit Methoden "block_src", "unshift_block_src", "push_block_src", geändert haben. Der Ergebnisblock ist ein Stück Text, der in der Ausgabe angezeigt wird und in diesem Block von Anrufen auf "Parse" auf diesem Block betroffen ist oder mit "block_res", "unshift_block_res", "push_block_res" -methoden, geändert werden kann. Siehe Beschreibung dieser Methoden an anderer Stelle in diesem Dokument. Um den Unterschied zu veranschaulichen: # Quellblock mit dem Namen 'B' in Vorlage: # {{b # - %% y %% - #}} $ val = $ t-> block_src ('b'); # $ val q '- %% y %% -' $ val = $ t-> block_res ('b'); # $ val == undef # Jetzt können wir den Quellblock $ t-> push_block_src ändern ('b', 'z |'); # - %% y %% - Z | $ t-> unshift_block_src ('b', 'x'); # X - %% y %% - Z | $ val = $ t-> block_src ('b'); # $ val q 'x - %% y %% - Z |' $ val = $ t-> block_res ('b'); # $ val == undef # Jetzt können wir das Ergebnis blockieren $ t-> parse ('b', '1'); # Ergebnisblock: X-1-Z | $ t-> parse ('b', '2'); # Ergebnisblock: X-1-Z | X-2-Z | $ t-> unshift_block_res ('b', '|'); # Ergebnisblock: | x-1-z | x-2-z | $ val = $ t-> block_src ('b'); # $ val q 'x - %% y %% - Z |' $ val = $ t-> block_res ('b'); # $ VAL EQ '| X-1-Z | X-2-Z |' Synopsis # in Benutzerkodex verwenden Analyse :: Plain; mein $ t = New Parse :: Plain ('/ path / to / fileName.tmpl'); meine $ t = Neuer Analyse :: Plain ('/ path / to / fileName.tmpl', 1, 2); $ t-> set_tag ('mytag', 'Wert'); # %% mytag %% Set auf Wert $ t-> push_tag ('mytag', '-pushed'); # %% mytag %% Set auf Wert-geschoben $ t-> set_tag ({'mytag' => 'Wert'}); # %% mytag %% Set auf Wert $ t-> unshift_tag ('mytag', 'unschoben-'); # %% mytag %% Set auf unschobene Wert # Setzen Sie einen Rückruf für Tags wie %% URL: http: //host.com/doc.html%% $ t-> callback ('url', sub {Return SomeEPackage: : Geturl ($ _ );}); $ t-> push_block_src ('myblock', 'ein Text, um an die Blockquelle anzuhängen'); $ t-> unshift_block_res ('myblock', 'ein Text, um auf das Blockergebnis vorzubereiten "); $ t-> parse ('myblock', {'blocktag' => 'Blockwert'}); # Parse Block $ t-> parse ('myblock', {'blocktag' => 'Ein anderer Blockwert'}); $ t-> parse; # Parse ganze Dokument $ t-> Ausgabe; # Ausgabe Analyse Ergebnisse zu stdout $ t-> unparse; # Reset-Analyseergebnis auf die ursprünglichen Vorlagenanforderungen: · Perl.


Parse :: Plain Zugehörige Software