Freigeben über


<xsl:import>-Element

Importiert eine andere XSLT-Datei.

<xsl:import
  href = "uri-reference" />

Attribute

  • href
    Erforderlich. Ein URI-Verweis (Uniform Resource Identifier), der die zu importierende XSLT-Datei identifiziert.

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

xsl:stylesheet, xsl:transform

Untergeordnete Elemente

(Keine untergeordneten Elemente)

Hinweise

Eine XSLT-Datei kann eine andere XSLT-Datei mithilfe eines <xsl:import>-Elements importieren.Das Importieren einer XSLT-Datei ist gleichbedeutend mit deren Einfügen, bis auf die Ausnahme, dass Definitionen und Vorlagenregeln in der importierenden Datei Vorrang gegenüber denen in der importierten XSLT-Datei genießen. Das <xsl:import>-Element weist ein href-Attribut auf, dessen Wert ein URI-Verweis ist, der das zu importierende Stylesheet identifiziert. Ein relativer URI wird relativ zum Basis-URI des <xsl:import>-Elements aufgelöst.

Das <xsl:import> -Element ist nur als Element auf oberster Ebene erlaubt. Die untergeordneten <xsl:import>-Elemente müssen allen anderen untergeordneten Elementen eines <xsl:stylesheet>-Elements vorangestellt sein. Dies gilt auch für alle untergeordneten <xsl:include> -Elemente. Wenn ein Stylesheet mit <xsl:include> eingefügt wird, werden alle im eingefügten Dokument enthaltenen <xsl:import>-Elemente in dem eingefügten Dokument nach oben verschoben, damit sie auf alle vorhandenen <xsl:import>-Elemente im eingefügten Dokument folgen.

Die <xsl:stylesheet>-Elemente, die während der Verarbeitung eines Stylesheets gefunden wurden, das <xsl:import>-Elemente enthält, werden als Importstruktur behandelt. In der Importstruktur verfügt jedes <xsl:stylesheet>-Element über ein untergeordnetes Importelement für jedes darin enthaltene <xsl:import> -Element. Alle <xsl:include>-Elemente werden vor dem Erstellen der Importstruktur aufgelöst. Ein <xsl:stylesheet> -Element in der Importstruktur weist eine geringere Importpriorität als ein anderes <xsl:stylesheet>-Element in der Importstruktur auf, wenn darauf vor diesem <xsl:stylesheet>-Element in einem Durchlauf der bereits geordneten Importstruktur zugegriffen wurde. Dies ist der Fall, wenn ein Durchlauf der Importstruktur erfolgt ist, in dem auf ein <xsl:stylesheet>-Element nach seinen importierten untergeordneten Elementen zugegriffen wurde. Definitionen und Vorlagenregeln verfügen über eine Importpriorität, die durch das darin enthaltene <xsl:stylesheet>-Element bestimmt wird.

Angenommen, die folgenden Bedingungen sind wahr.

  • Die XSLT-Datei A importiert die XSLT-Dateien B und C in dieser Reihenfolge.

  • Die XSLT-Datei B importiert die XSLT-Datei D.

  • Die XSLT-Datei C importiert die XSLT-Datei E.

Die Reihenfolge der Importpriorität (die Dateien mit geringster Priorität zuerst) lautet: D, B, E, C, A.

Tipp

Da die <xsl:import>-Elemente vor allen Definitionen oder Vorlagenregeln angeordnet werden müssen, findet eine Implementierung, die die importierten XSLT-Dateien verarbeitet, an dem Punkt, an dem sie das <xsl:import>-Element vorfindet, die Definitionen und Vorlagenregeln in aufsteigender Ordnung der Importpriorität vor.

Im Allgemeinen genießt eine Definition oder Vorlagenregel mit höherer Importpriorität Vorrang gegenüber einer Definition oder Vorlagenregel mit geringerer Importpriorität. Dies ist ausführlich für jede Art von Definition und für Vorlagenregeln definiert.

Wenn sich eine XSLT-Datei direkt oder indirekt selbst importiert, liegt ein Fehler vor. Abgesehen davon wird das Importieren einer XSLT-Datei mit einem bestimmten URI an mehreren Stellen nicht speziell behandelt. Die Importstruktur weist für jede Stelle, an der sie importiert wird, ein eigenes <xsl:stylesheet>-Element auf.

Tipp

Beim Verwenden von <xsl:apply-imports> unterscheidet sich das Verhalten möglicherweise von dem Verhalten, das auftritt, wenn die XSLT-Datei nur an der Stelle mit der höchsten Importpriorität importiert wurde.

XSLT-Datei (importer.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:import href="article.xsl"/>
<xsl:import href="bigfont.xsl"/>

<xsl:attribute-set name="note-style">
   <xsl:attribute name="font-style">italic</xsl:attribute>
</xsl:attribute-set>

</xsl:stylesheet>

Informationen finden Sie auch unter dem folgenden Thema:

Siehe auch

Verweis

<xsd:include>-Element
<xsl:apply-imports>-Element