Freitag, 12. Dezember 2008

XPath und seine Funktionen

Als nächstes machte ich mich dran, die XPath Aufgabe zu lösen. Hierfür mussten wir 3 vernünftige Abfragen für unser in A3 erstelltes XML Dokument sowie für eine neu zu erstellende XML Datei zu einer bereits vorgegeben DTD formulieren.

Leider verstand ich - trotz des expliziten Hinweises darauf vom Chef - nicht von Anfang an, dass bei einer Vergleichsoperation wirklich nur der Wert der jeweils zu vergleichenden Attribute verwendet wird, da nämlich bei einer Navigation zu einem der Attribute immer der komplette String, also auch der Name des Attributes markiert wurden.
Also dachte ich, bin ich schlau, und befrage mal w3.org nach XPath Funktionen und fand natürlich auch ganz schnell die Funktion string(), die genau das zurücklieferte, was ich wollte: nämlich den Wert des Attributs.
Haha ja, allerdings brauchte ich auch eine Weile, bis ich das entdeckte, denn das Ergebnis von Funktionen, markiert unser Tool nicht - wie bei normalen Navigationen - einfach im Dokument rot, sondern gibt es oberhalb des Dokumentes klein zurück :P
Wie auch immer, nachdem diese Hürden also überwunden waren, bemerkte ich den nächsten Mangel an meiner Arbeitstechnik, nämlich, dass string() ja immer nur ein Ergebnis zurückliefert. So konnte ich dann eben nicht mehrere IDREFs zurückverfolgen oder ähnliche Anfragen machen.

Mittlerweile bin ich zum Glück etwas klüger geworden und weiß, dass der Vergleichsoperator sofort string() verwendet, und ich ansonsten auch die Funktion contains() hätte benutzen können :)

Trotz allem hat mir diese Aufgabe eigentlich ziemlich Spaß gemacht und meine Abfragen findet ihr hier

Keine Kommentare:

Kommentar veröffentlichen