Schlüssel und Identifier

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 3.)

Zur Verbesserung der Perfomance der Verarbeitung oder auch als Tools zur Erkennung und Zuordnung von Nodes bietet XSLT einige Instruktionen (XSLT-Elemente) und dazu passende Funktionen:

  • Deklarierte Identifier erkennen mit id()
    Die Funktion id() ermöglicht das Auffinden von Elementen, die durch echte Identifier vom Typ ID gekennzeichnet sind. Dies geschieht anhand des Identifierwerts. Sie greift dazu auf die ID-Deklaration des Attributs in der DTD zurück, benötigt also nicht den realen Namen des Identifiers – der Wert als solcher muss ja ohne­hin einzigartig sein.
  • Laufzeitidentifier erzeugen mit generate-id()
    Für den Fall, dass mehr­mals während einer Verarbeitung auf denselben Knoten zugegriffen werden muss, und die Ausgabekontexte in einer ID-IDREF-Beziehung zueinander stehen sollen, ist es möglich, mit der Funktion generate-id() einen künst­lichen, temporären Identifier zu erzeugen, der genau diese Funktionalität bietet.
  • Verzeichnisse von Knoten erzeugen und lesen – xsl:key und key()
    Schließlich gibt es die Möglichkeit, mittels so genannter Schlüssel ein (wieder temporäres) Verzeichnis bestimmter Elemente mit vorgegebenen Eigenschaften oder Inhalten zu erzeugen. Dies geschieht mit der Instruktion xsl:key. Auf dieses Verzeichnis kann mit der Funktion key() zugegriffen und auf diese Weise langwieriges (für den XSLT-Prozessor arbeits­intensives) Durchsuchen des Dokuments mit XPath-Ausdrücken vermieden werden.

   

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Galileo Press, Rheinwerkallee 4, 53227 Bonn