02.06.2013 Aufrufe

Download - IT-Designers GmbH

Download - IT-Designers GmbH

Download - IT-Designers GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!