English | >> Français << | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 7 << | Précédent | Suivant | Contenu | Index des éléments

Le traitement commence toujours par le modèle sélectionnant le noeud correspondant au motif match="/". Ce noeud est le noeud racine (le noeud dont le seul élément fils est l'élément document : dans notre cas, l'élément "source"). Un grand nombre de feuilles de style ne comportent pas cet élément de manière explicite. Lorsque ce modèle n'est pas explicitement indiqué, le modèle implicite est utilisé (il comporte une seule instruction ). Cette instruction signifie : traiter tous les noeuds fils du noeud courant, y compris les noeuds textuels. Comparez Feuille de style XSLT 1 et Feuille de style XSLT 2 . Lorsqu'il y a un modèle pour un noeud particulier, le traitement par défaut n'est pas appelé ( Feuille de style XSLT 3 ). Si vous souhaitez inclure les descendants de ce noeud, vous devez appeler leur modèle de manière explicite ( Feuille de style XSLT 4 ).

Feuille de style XSLT 1

Source XML
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <DDD id="d1"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c2"/>
     </BBB>
</AAA>

</source>

Sortie
<div style="color:purple">AAA id=a1</div>

<div style="color:purple">AAA id=a2</div>

Vue HTML
AAA id=a1
AAA id=a2
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="AAA">
     <div style="color:purple">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
</xsl:template>


</xsl:stylesheet>


Feuille de style XSLT 2

Source XML
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <DDD id="d1"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c2"/>
     </BBB>
</AAA>

</source>

Sortie
<div style="color:purple">AAA id=a1</div>

<div style="color:purple">AAA id=a2</div>

Vue HTML
AAA id=a1
AAA id=a2
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/source">
     <xsl:apply-templates/>
</xsl:template>

<xsl:template match="AAA">
     <div style="color:purple">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
</xsl:template>


</xsl:stylesheet>


Feuille de style XSLT 3

Source XML
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <DDD id="d1"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c2"/>
     </BBB>
</AAA>

</source>

Sortie
<div style="color:purple">AAA id=a1</div>

<div style="color:purple">AAA id=a2</div>

Vue HTML
AAA id=a1
AAA id=a2
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="AAA">
     <div style="color:purple">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
</xsl:template>

<xsl:template match="BBB">
     <div style="color:blue">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
</xsl:template>

<xsl:template match="CCC">
     <div style="color:maroon">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
</xsl:template>

<xsl:template match="DDD">
     <div style="color:green">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
</xsl:template>


</xsl:stylesheet>


Feuille de style XSLT 4

Source XML
<source>

<AAA id="a1" pos="start">
     <BBB id="b1"/>
     <BBB id="b2"/>
</AAA>
<AAA id="a2">
     <BBB id="b3"/>
     <BBB id="b4"/>
     <CCC id="c1">
          <DDD id="d1"/>
     </CCC>
     <BBB id="b5">
          <CCC id="c2"/>
     </BBB>
</AAA>

</source>

Sortie
<div style="color:purple">AAA id=a1</div>

<div style="color:blue">BBB id=b1</div>

<div style="color:blue">BBB id=b2</div>


<div style="color:purple">AAA id=a2</div>

<div style="color:blue">BBB id=b3</div>

<div style="color:blue">BBB id=b4</div>

<div style="color:maroon">CCC id=c1</div>

<div style="color:green">DDD id=d1</div>


<div style="color:blue">BBB id=b5</div>

<div style="color:maroon">CCC id=c2</div>

Vue HTML
AAA id=a1
BBB id=b1
BBB id=b2
AAA id=a2
BBB id=b3
BBB id=b4
CCC id=c1
DDD id=d1
BBB id=b5
CCC id=c2
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/xslTutorial">
     <xsl:apply-templates/>
</xsl:template>

<xsl:template match="AAA">
     <div style="color:purple">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
     <xsl:apply-templates/>
</xsl:template>

<xsl:template match="BBB">
     <div style="color:blue">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
     <xsl:apply-templates/>
</xsl:template>

<xsl:template match="CCC">
     <div style="color:maroon">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
     <xsl:apply-templates/>
</xsl:template>

<xsl:template match="DDD">
     <div style="color:green">
          <xsl:value-of select="name()"/>
          <xsl:text> id=</xsl:text>
          <xsl:value-of select="@id"/>
     </div>
</xsl:template>


</xsl:stylesheet>