XML :: XPATTOXML.

XML :: XPathToxml ist ein Perl-Modul, das XML-Dokument von XPath-Ausdrücken generiert.
Jetzt downloaden

XML :: XPATTOXML. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Kurt George Gjerde
  • Website des Verlags:
  • http://search.cpan.org/~pajas/XML-XSH2-2.1.0/lib/XML/XSH2/XPathToXML.pm

XML :: XPATTOXML. Stichworte


XML :: XPATTOXML. Beschreibung

XML :: XPathToxml ist ein Perl-Modul, das XML-Dokument aus XPath-Ausdrücken erzeugt. XML :: XPathToxml ist ein Perl-Modul, das XML-Dokument von XPath Expressions generiert ',' / project / start '=>' 2002-09-08 ',' / project / ende '=>' 7002002-09-08 ',' / project / @ id '=>' 42 ',' / projekt / temp / pre '=>' 41 ',' / project / temp / pre '=>' 46 ',' / project / temp / pre '=>' 43 '', ' / project / temp / pre '=> XML :: libxml-> new-> parse_xml_chunk (q (willkürlich xml Chunk)); MEIN $ XPX = NEUES XML :: XPATTOXML (debug => 1); $ XPX-> Parse (@Data); $ XPX-> Parse ('/ project / temp / pre / @ rate', 'toyhigh'); drucken $ XPX-> Dokumentelement-> TOSTRING (1). "n"; Ergebnis: Die ultimative Frage 2002-09-08 7002002-09-08

 41 
 
 BIRBITRARY  XML  Chunk  
 43 
 
 
  46    Erzeugt ein XML-Dokument- oder Knotenbaum von einem oder mehreren XPath-Ausdrücken. Kehrt ein XML :: LIBXML :: Dokument oder XML :: libxml :: element.only Eine begrenzte Teilmenge von XPath wird derzeit unterstützt. Die XPath-Expression muss nämlich ein Ortspfad sein, der aus einer /-einsparren Sequenz eines oder mehrerer Standortschritte entlang des Kindes, der Geschwister- oder Attributachsen besteht. Der Knoten-Test-Teil des Ausdrucks kann weder ein Wildcard (*, @ *, Prefix: *, ...) noch die Node () -Funktion sein. Wenn ein Namespace-Präfix verwendet wird, muss entweder der Namespace bereits im Dokument deklariert oder mit einem XPathContext-Objekt registriert sein. Die Standortschritte können beliebige Prädikate (Filter) enthalten, zeigen jedoch die unten angegebenen Angaben. Der Parser verarbeitet den Standortpfad wie folgt: Für einen absoluten Standortpfad (beginnend mit /) beginnt die Auswertung auf dem Dokumentknoten. Für den relativen Standortpfad beginnt die Auswertung auf einem angegebenen anfänglichen Kontextknoten. Der Parser wertet den Standortpfad von links nach rechts, einem Standortschritt zu einem Zeitpunkt aus, startet entweder auf dem Dokumentknoten (im Falle eines absoluten Standortpfads) oder auf einem angegebenen anfänglichen Kontextknoten (bei relativen Standortpfaden). Wenn der Standortschritt (einschließlich Filter) einem untergeordneten Knoten oder einem Attribut des aktuellen Knotens übereinstimmt, bewegt sich der Parser an den ersten mit dem ersten Knoten abgestimmten und an den nächsten Standortschritt. Wenn keine Knoten vom Standortschritt abgeglichen werden, erstellt der Parser ein Element oder Attribut mit dem im Node-Test-Teil des Standortschritts angegebenen Namen (und möglicherweise Namespace) und versucht erneut. Wenn noch keine Knoten übereinstimmen, wiederholt der Parser den Vorgang, bis der Standortschritt übereinstimmt, oder die Anzahl der auf diese Weise erstellten Geschwisterknoten erreicht die in MaximumAutosiblings angegebene Grenze. In dem ersten Fall bewegt sich der Parser zum ersten anpassenden Knoten. Im letzteren Fall schlägt der Parser fehl (entfernen Sie alle für den fehlgeschlagenen Standortschritt erstellte Geschwister-Knoten von dem Baum). Wenn ein Filterprädikat eines Standortschritts eine Position eines Knotens (z. B. mit oder usw.), dann versucht der Parser, automatisch leere Geschwisterknoten zu erstellen, bis es schließlich eins erstellt, mit dem das Prädikat true ist , Ausdrücke wie / root / a / b werden als / root / a / b behandelt. Also, im Falle des Dokuments       $ xpx-> parse (q (root (/ root / a / b), 'foo') Ergebnis in    foo       Obwohl in dem bereits ein Element Matching / root / A / B vorhanden war dokumentieren. Um dies zu verhindern, geben Sie entweder explizit an, dass b mit / root / a / b vorhanden sein muss oder das zweite Element A als Kontextknoten einstellen und einen relativen Standortpfad wie B: $ XPX-> SETCONTEXTNode ($ XPC- > Dokument-> Suche ('/ root / a ') -> get_node (1)) $ XPX-> Analyse ("B", "Foo"); # "./b" ist auch okor einfach $ xpx-> createnode ("b", "foo", $ XPC-> Dokument-> Suchen ('/ root / a ') -> get_node (1)) In der Tradition von XML :: LIBXML-Fehler müssen mit EVAL () eingeschlossen sein (der Parser stirbt auf Fehler). Anforderungen: · Perl. 


XML :: XPATTOXML. Zugehörige Software