Kurzübersicht über XSLT 1.0
(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 6.)
Übersicht über die Elemente
XSLT 1.0 kennt insgesamt 35 Elemente:
- Zwei Root-Elemente:
xsl:stylesheet, xsl:transform
- Zwölf Toplevel-Elemente:
xsl:attribute-set, xsl:decimal-format, xsl:import, xsl:include, xsl:key, xsl:namespace-alias, xsl:output, xsl:param, xsl:preserve-space, xsl:strip-space, xsl:template, xsl:variable
- 17 Instruktionen:
xsl:apply-imports, xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:number, xsl:processing-instruction, xsl:text, xsl:value-of,
- Vier Sub-Instruktionen:
xsl:otherwise, xsl:sort, xsl:when, xsl:with-param
Die folgende Grafik verdeutlicht die Hierarchie der XSLT 1.0-Elemente.
Abbildung: Übersicht über die XSLT-Elemente von XSLT 1.0.
Standardattribute in XSLT 1.0
Für alle Elemente von XSLT 1.0 – und auch weiterhin in der Version 2.0 – gelten zwei Standardattribute, die für jedes XSLT-Element verwendet werden dürfen: xml:lang und xml:space. Beide Attribute befinden sich, entsprechend der W3C-Empfehlung für Namensräume von 1999, in folgendem festgelegten Namensraum. Dieser XML-Namensraum muss jedoch nicht explizit deklariert werden, da er per Definition grundsätzlich in jedem XML-Dokument gültig ist:
xmlns:xml="http://www.w3.org/XML/1998/namespace"
Für das Präfix xml ist der genannte Namensraum-URI ist festgeschrieben, sodass dieses Präfix nicht mit einem anderen Namensraum belegt werden darf. Die Verwendung anderer Präfixe mit dem oben angegebenen Namensraum ist dagegen zwar gestattet, wird aber wenig sinnvoll sein. Beim Einsatz der xml-Attribute muss gegebenenfalls darauf geachtet werden, diese in der DTD oder im Schema des Dokumenttyps zu deklarieren.
xml:lang
Wert | string (Ländercode) |
Verwendung | Optional, Standardattribut |
Einführung | XSLT 1.0 |
Das Standardattribut xml:lang darf jedem Element eines XML-Dokuments, folglich auch jedem XSLT-Element eines XSLT-Stylesheets, beigegeben werden, um die Sprache des jeweiligen Elementinhalts zu bestimmen. Die Sprache wird (nach RFC 1766) durch einen aus zwei Buchstaben bestehenden Ländercode gemäß ISO 639 bzw. ISO 3166-1 repräsentiert.
Alternativ kann ein Code gemäß der »Internet Assigned Numbers Authority« (IANA) gewählt werden – dann mit Präfix i- vor dem eigentlichen Code. Auch nutzerdefinierte Codes sind möglich, die dann das Präfix x- erhalten, um als solche gekennzeichnet zu sein. Eine Sprachdeklaration durch xml:lang gilt jeweils für den gesamten Elementinhalt mitsamt Attributwerten, sofern sie nicht für ein enthaltenes Element und seine Inhalte durch eine anderslautende xml:lang-Deklaration überschrieben wird.
xml:space
Wert | "default" (Default) | "preserve" |
Verwendung | Optional, Standardattribut |
Einführung | XSLT 1.0 |
Das Attribut xml:space bestimmt, wie der XML-Parser mit dem im so markierten Element enthaltenen Weißraumzeichen (Leerzeichen, Tabulatoren, Zeilenumbrüche) verfahren soll. Es gibt zwei erlaubte Werte, default und preserve. Die Wahl des Wertes preserve erzwingt die Weitergabe des gesamten im Element enthaltenen Leerraums an die Folgeanwendung.
Bei nicht vorhandenem xml:space-Attribut oder bei der Wahl des Wertes default wird dem Parser gestattet, sogenannten nicht signifikanten Leerraum zu entfernen. Das Attribut gilt stets für den gesamten Inhalt des Elements, für das es gesetzt ist. Sollen Elemente innerhalb auf preserve gesetzter Bereiche normal geparst werden, so kann dies durch Setzen von xml:space="default" erzwungen werden.
Attributwert-Templates in Instruktionen von XSLT 1.0
In XSLT 1.0 ist ausschließlich für folgende fünf Instruktionen – und dort nur für die jeweils in der rechten Tabellenspalte genannten Attribute – die Verwendung sogenannter Attributwert-Templates (AVT) gestattet:
XSLT-Instruktion | AVT erlaubt für Attribute |
---|---|
xsl:attribute | name, namespace |
xsl:element | name, namespace |
xsl:number | format, lang, letter-value, grouping-separator, grouping-size |
xsl:processing-instruction | name |
xsl:sort | lang, data-type, order, case-order |
Tabelle: In XSLT 1.0-Instruktionen erlaubte Attributwert-Templates.
Was ist ein Attributwert-Template?
Mit dem Begriff Attributwert-Template (Attribute Value Template, AVT) wird ein Konstrukt bezeichnet, das es dem XSLT-Prozessor ermöglicht, zur Laufzeit einen XPath-Ausdruck (expression) zu verarbeiten, der stellvertretend für einen zu ermittelnden Wert eines Attributs innerhalb eines Literal Result Elements oder bestimmter Attribute einiger XSLT-Instruktionen steht.
Ein Attributwert-Template wird von geschweiften Klammern umgeben, die selbst aber nicht zum auszuwertenden XPath-Ausdruck gehören:
attributname="{expression}"
<< 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