<xsl:import>  
Permet d'importer les modèles figurant dans une autre feuille de style XSLT. Contrairement à <xsl:include>, tous les modèles importés avec <xsl:import> ont une priorité inférieure à ceux de la feuille de style d'inclusion. Autre différence entre <xsl:include> et <xsl:import>, <xsl:include> peut apparaître à un emplacement quelconque dans une feuille de style alors que <xsl:import> ne peut apparaître qu'au début.
 
Catégorie

Elément de niveau supérieur

 
Attributs obligatoires
href
Définit l'URI de la feuille de style importée.

 
Attributs facultatifs

Aucun.

 
Contenu

Aucun. <xsl:import> est un élément vide.

 
Apparaît dans

L'élément <xsl:import> est un élément de niveau supérieur qui ne peut apparaître que sous forme d'enfant de l'élément <xsl:stylesheet>.

 
Défini dans

XSLT section 2.6.2, Importation d'une feuille de style.

 
Exemple

La feuille de style simple importée est la suivante :

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

  <xsl:output method="text"/>

  <xsl:variable name="newline">
<xsl:text>
</xsl:text>
  </xsl:variable>


  <xsl:template match="/">
    <xsl:value-of select="$newline"/>
    <xsl:apply-templates select="list/title"/>
    <xsl:apply-templates select="list/listitem"/>
  </xsl:template>

  <xsl:template match="title">
    <xsl:value-of select="."/>
    <xsl:text>: </xsl:text>
    <xsl:value-of select="$newline"/>
    <xsl:value-of select="$newline"/>
  </xsl:template>

  <xsl:template match="listitem">
    <xsl:text>HERE IS LISTITEM NUMBER </xsl:text>
    <xsl:value-of select="position()"/>
    <xsl:text>:  </xsl:text>
    <xsl:value-of select="."/>
    <xsl:value-of select="$newline"/>
  </xsl:template>

</xsl:stylesheet>

Cette feuille de style ainsi que la feuille de style l'ayant importée sont appliquées au document XML suivant :

<?xml version="1.0"?>
<list>
  <title>A few of my favorite albums</title>
  <listitem>A Love Supreme</listitem>
  <listitem>Beat Crazy</listitem>
  <listitem>Here Come the Warm Jets</listitem>
  <listitem>Kind of Blue</listitem>
  <listitem>London Calling</listitem>
  <listitem>Remain in Light</listitem>
  <listitem>The Joshua Tree</listitem>
  <listitem>The Indestructible Beat of Soweto</listitem>
</list>

Une fois le document XML source traité à l'aide de la feuille de style, les résultats sont les suivants :

A few of my favorite albums:

HERE IS LISTITEM NUMBER 1:  A Love Supreme
HERE IS LISTITEM NUMBER 2:  Beat Crazy
HERE IS LISTITEM NUMBER 3:  Here Come the Warm Jets
HERE IS LISTITEM NUMBER 4:  Kind of Blue
HERE IS LISTITEM NUMBER 5:  London Calling
HERE IS LISTITEM NUMBER 6:  Remain in Light
HERE IS LISTITEM NUMBER 7:  The Joshua Tree
HERE IS LISTITEM NUMBER 8:  The Indestructible Beat of Soweto

L'élément <xsl:import> est maintenant utilisé dans une autre feuille de style :

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

  <xsl:import href="listitem.xsl"/>

  <xsl:output method="text"/>

  <xsl:variable name="newline">
<xsl:text>
</xsl:text>
  </xsl:variable>

  <xsl:template match="/">
    <xsl:value-of select="$newline"/>
    <xsl:apply-templates select="list/title"/>
    <xsl:apply-templates select="list/listitem"/>
  </xsl:template>

  <xsl:template match="listitem">
    <xsl:value-of select="position()"/>
    <xsl:text>.  </xsl:text>
    <xsl:value-of select="."/>
    <xsl:value-of select="$newline"/>
  </xsl:template>

</xsl:stylesheet>

Les résultats de la seconde feuille de style sont les suivants :

A few of my favorite albums:

1.  A Love Supreme
2.  Beat Crazy
3.  Here Come the Warm Jets
4.  Kind of Blue
5.  London Calling
6.  Remain in Light
7.  The Joshua Tree
8.  The Indestructible Beat of Soweto

Le modèle des deux feuilles de style était de type match="listitem". Le modèle de la feuille de style importée étant de priorité inférieure, il n'est donc pas utilisé. La feuille de style importée étant la seule à posséder un modèle de type match="title", le modèle importé est donc utilisé pour l'élément <title>.