Élément <xsl:stylesheet>

Spécifie l'élément document d'un fichier XSLT, qui contient tous les autres éléments XSLT.

Spécifie l'élément document d'un fichier XSLT, qui contient tous les autres éléments XSLT. Cet élément est synonyme de l'élément <xsl:transform>.

<xsl:stylesheet
  id = id
  extension-element-prefixes = NCNames
  exclude-result-prefixes = NCNames
  version = number>
</xsl:stylesheet>

Attributs

  • id
    Identificateur unique qui facilite l'incorporation de fichiers XSLT.

  • extension-element-prefixes
    Espace de noms à utiliser comme espace de noms d'extension. La valeur est une liste, séparée par des espaces blancs, de préfixes d'espaces de noms. L'espace de noms lié à chacun des préfixes est désigné comme un espace de noms d'extension. L'espace de noms par défaut (tel que déclaré par xmlns) peut être désigné comme un espace de noms d'extension si #default est inclus dans la liste des préfixes d'espaces de noms. La désignation d'un espace de noms comme espace de noms d'extension s'applique à l'intérieur de la sous-arborescence de la feuille de style dont la racine est à un élément portant l'attribut extension-element-prefixes ; une sous-arborescence dont la racine est à un élément <xsl:stylesheet> n'inclut aucune feuille de style importée ou incluse par les enfants de cet élément <xsl:stylesheet>.

  • exclude-result-prefixes
    URI d'espace de noms désignant un espace de noms exclus. La valeur est une liste, séparée par des espaces blancs, de préfixes d'espaces de noms. L'espace de noms lié à chacun des préfixes est désigné comme un espace de noms exclu. L'espace de noms par défaut (tel que déclaré par xmlns) peut être désigné comme un espace de noms exclu si #default est inclus dans la liste des préfixes d'espaces de noms. La désignation d'un espace de noms comme espace de noms exclu s'applique à l'intérieur de la sous-arborescence de la feuille de style dont la racine est à l'élément portant l'attribut exclude-result-prefixes ; une sous-arborescence dont la racine est à un élément <xsl:stylesheet> n'inclut aucune feuille de style importée ou incluse par les enfants de cet élément <xsl:stylesheet>.

  • version
    Requis. Version de XSLT requise par le fichier XSLT. La valeur doit être définie sur "1.0" pour cette version de XSLT.

Informations sur les éléments

Nombre d'occurrences

One

Éléments parents

(Pas d'éléments parents)

Éléments enfants

xsl:attribute-set, xsl:import, xsl:include, xsl:output, xsl:param, xsl:template, xsl:variable, msxsl:script

Notes

Tout fichier XSTL doit déclarer <xsl:stylesheet> comme élément document.

Une feuille de style peut utiliser une série de déclarations de règles de modèle (<xsl:template>) pour prescrire des transformations explicites appliqués à un ensemble de données. Elle peut utiliser <xsl:include> et/ou <xsl:import> pour incorporer d'autres feuilles de style ; cela permet de réutiliser des règles de modèle existantes et testées. La feuille de style peut aussi prendre en charge des variables globales (<xsl:param>) et des constantes nommées (<xsl:variable>) à utiliser dans toutes les transformations. L'élément <xsl:param> peut être utilisé pour transmettre des paramètres dans une feuille de style. Avec l'élément d'extension <msxsl:script>, une feuille de style peut même permettre l'implémentation de fonctions personnalisées, mais cette pratique est généralement déconseillée.

L'exemple suivant illustre un élément <xsl:stylesheet> avec plusieurs espaces de noms communs.

Une feuille de style XSLT doit déclarer au moins l'espace de noms destiné à la transformation XSL. Dans les versions 4.0 et supérieures de MSXML, cet espace doit être déclaré comme suit :

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

Si des éléments ou des types de données provenant d'autres espaces de noms sont traités, la feuille de style doit également déclarer les espaces de noms en question. Par exemple, la déclaration de feuille de style XSLT suivante stipule l'utilisation de vocabulaire XML supplémentaire, défini pour des extensions Microsoft et des objets XSL-FO (XSL Formatting Objects).

<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:msxsl="urn:schemas-microsoft-com:xslt"
      xmlns:fo="http://www.w3.org/1999/XSL/Format">

Exemple

Cet exemple illustre un fichier XSLT complet qui contient un ensemble de modèles. Le modèle racine (match="/") définit la structure du document de sortie global et les autres modèles, celle des éléments <name>, <address> et <phone>. Le fichier de sortie HTML a été produit à l'aide de msxml.exe à l'invite de commande.

Fichier XML (customers.xml)

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="customers.xsl"?>
<customers>
   <customer>
      <name>John Smith</name>
      <address>123 Elm St.</address>
      <phone>(123) 456-7890</phone>
   </customer>
   <customer>
      <name>Mary Jones</name>
      <address>456 Oak Ave.</address>
      <phone>(156) 789-0123</phone>
   </customer>
</customers>

Fichier XSLT (customers.xsl)

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

<xsl:template match="/">
  <HTML>
    <BODY>
      <TABLE>
        <xsl:for-each select="customers/customer">
          <TR>
            <xsl:apply-templates select="name" />
            <xsl:apply-templates select="address" />
            <xsl:apply-templates select="phone" />
          </TR>
        </xsl:for-each>
      </TABLE>

    </BODY>
  </HTML>
</xsl:template>

<xsl:template match="name">
  <TD STYLE="font-size:14pt font-family:serif">
    <xsl:apply-templates />
  </TD>
</xsl:template>

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

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

<xsl:template match="text()">
  <xsl:value-of select='.'/>
</xsl:template>

</xsl:stylesheet>

Sortie

Voici les données en sortie formatées :

Résultat mis en forme

Voici les données en sortie du processeur :

<HTML>
<BODY>
<TABLE>
<TR>
<TD STYLE="font-size:14pt font-family:serif">John Smith</TD>
<TD>123 Elm St.</TD>
<TD>(123) 456-7890</TD>
</TR>
<TR>
<TD STYLE="font-size:14pt font-family:serif">Mary Jones</TD>
<TD>456 Oak Ave.</TD>
<TD>(156) 789-0123</TD>
</TR>
</TABLE>

</BODY>
</HTML>

Voir aussi

Référence

Élément <xsl:transform>