Download - IT-Designers GmbH
Download - IT-Designers GmbH
Download - IT-Designers GmbH
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5.3.2 Filter<br />
S TEINBEIS-TRANSFERZENTRUM<br />
- 5. Stylesheets -<br />
XPath unterstützt auch verschiedene Filter, um die Menge der selektierten Knoten<br />
zu reduzieren. Filter können<br />
• auf das Vorhandensein eines Attributes prüfen:<br />
article[@version]<br />
article[@*]<br />
• auf das Vorhandensein eines Elementes prüfen:<br />
book[editor]<br />
book[*]<br />
• Vergleiche evaluieren:<br />
article[@language='en']<br />
article[author='Hans Dampf']<br />
book[@year>=2000]<br />
• mehrere Filter kombinieren:<br />
article[author='Hans Dampf'][@year='2000']<br />
• Funktionsaufrufe evaluieren: (ToDo: prüfen)<br />
//Adresse/Email/Emailadresse[position()!=last()]<br />
//book//para[contains(text(), 'alles') and<br />
not(contains(text(), 'gut'))]<br />
Zu beachten ist die Schreibweise mit dem einfachen Apostroph ('). Er muss<br />
deswegen benutzt werden, da die XPath Ausdrücke häufig als Attributwerte stehen,<br />
die ja dann mit dem Doppelapostroph (") gekennzeichnet sind.<br />
5.3.3 Achsen<br />
Bei der Auswertung von XPath Ausdrücken spielen die Achsen eine wichtige Rolle.<br />
Sie wurden in den bisherigen Beispielen auch schon – allerdings in einer einfachen<br />
Schreibweise – benutzt. Damit waren die oben gezeigten Formulierungen sehr<br />
eingängig und vergleichbar mit UNIX Dateinamen. Die Schreibweise von XPath<br />
Ausdrücken wird allerdings ein wenig komplexer, wenn man verschiedene Achsen<br />
explizit selbst auswählen will.<br />
Es folgt nun die Auflistung aller Achsen, die XPath kennt.<br />
• self (der Kontextknoten selbst)<br />
• child (alle direkten Kinder – direkte Nachkommen – des Kontextknotens)<br />
• parent (der Vaterknoten des Kontextknotens)<br />
• ancestor (die Vorfahren des Kontextknotens, rekursiv)<br />
S OFTWARETECHNIK Einführung in XML © Prof. J. Goll<br />
- 53 -