XSLT-Elementreferenz
Es gibt zwei Arten von Elementen, die hier besprochen werden: Top-Level-Elemente und Anweisungen. Ein Top-Level-Element muss als Kind von entweder <xsl:stylesheet>
oder <xsl:transform>
erscheinen. Eine Anweisung hingegen ist mit einer Vorlage verbunden. Ein Stylesheet kann mehrere Vorlagen enthalten. Eine dritte Art von Element, die hier nicht behandelt wird, ist das Literal Result Element (LRE). Ein LRE erscheint ebenfalls in einer Vorlage. Es besteht aus jedem Nicht-Anweisungs-Element, das unverändert in das Ergebnisdokument übernommen werden soll, beispielsweise ein <hr>
-Element in einem HTML-Konvertierungsstylesheet.
In diesem Zusammenhang können auch beliebige Attribute in einem LRE und einige Attribute einer begrenzten Anzahl von XSLT-Elementen sogenannte Attributwertvorlagen enthalten. Eine Attributwertvorlage ist ein String, der einen eingebetteten XPath-Ausdruck enthält, der verwendet wird, um den Wert eines Attributs zu spezifizieren. Zur Laufzeit wird der Ausdruck ausgewertet, und das Ergebnis der Auswertung wird anstelle des XPath-Ausdrucks eingesetzt. Zum Beispiel nehmen wir an, dass eine Variable image-dir
wie folgt definiert wird:
<xsl:variable name="image-dir">/images</xsl:variable>
Der Ausdruck, der ausgewertet werden soll, wird in geschweifte Klammern gesetzt:
<img src="{$image-dir}/mygraphic.jpg"/>
Dies würde zu folgendem Ergebnis führen:
<img src="/images/mygraphic.jpg"/>
Die folgenden Elemente enthalten Beschreibungen, eine Syntaxauflistung, eine Liste der erforderlichen und optionalen Attribute, eine Beschreibung des Typs und der Position, die Quelle in der W3C-Empfehlung sowie eine Erläuterung des Grades der aktuellen Gecko-Unterstützung.
<xsl:apply-imports>
<xsl:apply-templates>
<xsl:attribute>
<xsl:attribute-set>
<xsl:call-template>
<xsl:choose>
<xsl:comment>
<xsl:copy>
<xsl:copy-of>
<xsl:decimal-format>
<xsl:element>
<xsl:fallback>
(nicht unterstützt)<xsl:for-each>
<xsl:if>
<xsl:import>
(größtenteils unterstützt)<xsl:include>
<xsl:key>
<xsl:message>
<xsl:namespace-alias>
(nicht unterstützt)<xsl:number>
(teilweise unterstützt)<xsl:otherwise>
<xsl:output>
(teilweise unterstützt)<xsl:param>
<xsl:preserve-space>
<xsl:processing-instruction>
<xsl:sort>
<xsl:strip-space>
<xsl:stylesheet>
(teilweise unterstützt)<xsl:template>
<xsl:text>
(teilweise unterstützt)<xsl:transform>
<xsl:value-of>
(teilweise unterstützt)<xsl:variable>
<xsl:when>
<xsl:with-param>