<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 | |
|
|
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>. |