Diskussion:XPath/Archiv/1

aus Wikipedia, der freien Enzyklopädie

Beispiele

Die Erläuterungen zum Beispiel sind irreführend: Das Wurzelelement ist nicht <dok>. Das Wurzelelement ist - in der XPath Syntax - immer "unbenannt" bzw. heißt einfach /. Darunter folgt dann, neben den Processing Instructions etc., das Dokumentelement, dass hier fälschlicherweise als Wurzel bezeichnet wurde. Das Dokumentelement heißt in diesem Fall also <dok>!

Ja und nein: Die Wurzel ist kein Element, sondern ein Knoten: document-node(). Das erste Element in der Dokumentenreihenfolge und das einzige Kindelement des document-node() wird aber regelmäßig als Wurzelelement bezeichnet. -- Stf 23:32, 20. Dez. 2009 (CET)

Der letzte Satz unter der Tabelle mit den Definitionen der Achsen ist meiner Meinung nach nicht ganz richtig. Dort sind fünf Achsen ( self, parent, child, preceding und following) aufgezählt, mit denen der ganze XML Baum abbgebildet werden kann. Allerdings sollte parent mit ancestor ersetzt werden.

Stefan

Das ist beliebig austauschbar: ob ich von pa aus parent::kap/parent::/dok oder ancestor:dok schreibe, ist egal. -- Stf 23:32, 20. Dez. 2009 (CET)

ein Schema

Standard-Attribute und -Knoten, die durch eine Schema vorgegeben werden, schon im Baum enhalten sind.

das Schema -> ein Schema

-- 194.95.147.246 18:17, 28. Sep 2005 (CEST)

erledigt. -- Stf 23:32, 20. Dez. 2009 (CET)

Prinzipien... / Link auf Mengenlehre

Unter dem Abschnitt "Prinzipien von XPath 1.0" steht irgendwo:

"Beliebig viele XPath-Ausdrücke lassen sich mit dem Zeichen | vereinigen."

Macht der Link auf Mengenlehre in diesem Kontext wirklich Sinn?

--Schwarzweiss76 13:44, 12. Dez 2005 (CET)

erledigt. -- Stf 23:32, 20. Dez. 2009 (CET)

XPath Abkürzungen

Die Abkürzungen in der Tabelle von Achsen ist leider irreführend bzw. falsch!

. ist nicht die Abkürzung für self sondern für self::node(), analog 
.. -> parent::node()
// -> descendant::node()
AAA -> child::AAA
* -> child::* (die Abkürzung aus der Tabelle mit child ist leider auch falsch)
Mhh, so ganz auch nicht. . ist die Abkürzung für self::item(), weil man natürlich auch Attribute oder Integer aus einer Sequenz damit bezeichnen kann.

d.h. './/AAA', was vom momentanen Knoten aus alle AAA Elemente selektiert, ist die Abkürzung von self::node()/descendant-or-self::node()/child::AAA

Quelle: http://www.obqo.de/w3c-trans/xpath-de Deutsche Übersetzung der W3C Empfehlungen

Mhh, wohl eher self::item()/descendant::AAA


Ich würde einen eigenen Absatz mit Abkürzungen Vorschlagen und die Abkürzungen aus der Tabelle der Achsen entfernen.

Ja, das ist eine gute Idee. -- Stf 23:32, 20. Dez. 2009 (CET)

Abkürzung für child wird einfach weggelassen siehe auch http://vsr.informatik.tu-chemnitz.de/proseminare/xml04/doku/xpath/#abkuerzungen unter Abschnitt 3.3.4 (nicht signierter Beitrag von 93.231.165.175 (Diskussion) 13:32, 26. Jun. 2010 (CEST))


Aber dass .// == ./descendant ist einfach falsch. ./descendant::AAA != ./descendant-or-self::node()/child::AAA. Zwar in den meisten Fällen schon, aber eben nicht immer. Sitz grad in ner Übung, also kein Beispiel – Flying sheep 12:48, 25. Jan. 2011 (CET)

Beispiele: /dok/kap ist nicht: alle kap-Elemente innerhalb eines dok Elements

Es werden hier ja schon einige Ungenauigkeiten oder falsche Angaben diskutiert.

Ich glaube, mir ist auch noch eine aufgefallen:

Soweit ich XPath schon verstanden habe, ist das folgende Beispiel von der Seite falsch:

/dok/kap
alle kap-Elemente innerhalb eines dok Elements

Es müsste heißen:

/dok/kap
alle kap-Elemente innerhalb des Wurzel-Elements dok

oder:

dok/kap
alle kap-Elemente innerhalb eines dok Elements

Wie gesagt, ich kenne mich noch nicht wirklick aus, aber ich habe das aus dem Beispiel auf http://www.php.net/manual/en/simplexmlelement.xpath.php abgeleitet.

Ich denke, der Artikel sollte einen Überarbeitungsvermerk bekommen, bis die hier diskutierten vermuteten Fehler geklärt sind.

--JohannesPonader 22:26, 20. Dez. 2009 (CET)

Ich habe das mal geändert. -- Stf 23:32, 20. Dez. 2009 (CET)

Achse "root"

Ich finde weder in den XPath-Spezifikationen noch sonst irgendwo eine Bestätigung dafür, dass es eine Achse namens "root" gibt; die Abkürzung mittels / (am Anfang eines XPath-Ausdrucks) ist wohl richtig, aber die Einordnung als Achse wohl nicht.--Hero Wanders (Diskussion) 01:26, 20. Okt. 2014 (CEST)

Sehe ich auch so. Der Bezeichner wurde bereits entfernt. Zum Verständnis ist der Verweis auf den Wurzelknoten hilfreich, auch wenn er keine Achse darstellt. Der angesprochene Punkt wäre demnach seit dem 10.11.2014 behoben. -- Ormek (Diskussion) 13:04, 13. Mär. 2016 (CET)