Élément <xsl:output> de XSLT

Définition et utilisation

L'élément <xsl:output> définit le format du document de sortie.

Remarque :<xsl:output> est un élément de niveau supérieur (top-level element), il doit être un noeud enfant de <xsl:stylesheet> ou <xsl:transform>.

Syntaxe

<xsl:output
method="xml|html|text|name"
version="string"
encoding="string"
omit-xml-declaration="yes|no"
standalone="yes|no"
doctype-public="string"
doctype-system="string"
cdata-section-elements="namelist"
indent="yes|no"
media-type="string"/>

Attribut

Attribut Valeur Description
method
  • xml
  • html
  • text
  • name
Optionnel. Définir le format de sortie. Par défaut, c'est XML. Netscape 6 ne prend en charge que "html" et "xml".
version string Optionnel. Définir le numéro de version W3C du format de sortie. (Utilisé uniquement lorsque method="html" ou method="xml").
encoding string Optionnel. Définir la valeur de l'attribut d'encodage dans la sortie.
omit-xml-declaration
  • yes
  • no

Optionnel.

"yes" stipule que la déclaration XML doit être omise dans la sortie (<?xml...?>).

"no" stipule que la déclaration XML doit être incluse dans la sortie. La valeur par défaut est "no".

standalone
    • yes
    • no
Optionnel. Définir si le processeur XSLT doit sortir une déclaration de document indépendant ; cette valeur doit être "yes" ou "no". La valeur par défaut est "no". Netscape 6 ne prend pas en charge cet attribut.
doctype-public string Optionnel. Définir l'identificateur public à utiliser dans le DTD. C'est la valeur de l'attribut PUBLIC de la déclaration DOCTYPE dans la sortie.
doctype-system string Optionnel. Définir l'identificateur système à utiliser dans le DTD. C'est la valeur de l'attribut SYSTEM de la déclaration DOCTYPE dans la sortie.
cdata-section-elements namelist Optionnel. Une liste d'éléments séparés par des espaces, les textes de ces éléments doivent être sortis comme des parties CDATA.
indent
  • yes
  • no
Optionnel. Indiquer si des espaces blancs doivent être ajoutés lors de la sortie de l'arbre de résultat ; cette valeur doit être "yes" ou "no". Netscape 6 ne prend pas en charge cet attribut.
media-type string Optionnel. Définir le type MIME de sortie (type de média des données). La valeur par défaut est "text/xml". Netscape 6 ne prend pas en charge cet attribut.

Attribut method

L'identifiant est utilisé pour désigner la méthode globale de sortie du résultat de l'arbre. Si il n'y a pas de préfixe, il désigne la méthode spécifiée dans ce document, elle doit être "xml", "html", "text" ou l'un des noms qualifiés qui ne sont pas NCName. Si il y a un préfixe, il est étendu et l'identifiant de la méthode de sortie est identifié.

Le choix de la valeur par défaut de l'attribut method est comme suit. Si l'une des conditions suivantes est vraie, la méthode de sortie par défaut est "html" :

Le nœud racine de l'arbre de résultat contient des éléments sous-niveaux.

Le nœud racine du résultat du arbre contient des éléments sous-niveaux. L'extension du nom de l'élément racine du résultat du arbre contient la partie locale "html" (combinaison de casse aléatoire) et un URI d'espace de noms vide.

Tous les nœuds de texte avant le premier élément sous-niveau du nœud racine du résultat ne contiennent que des caractères blancs.

Sinon, la méthode de sortie par défaut est "xml". Si il n'y a pas d'élément <xsl:output> ou si l'élément <xsl:output> n'a pas spécifié la valeur de l'attribut method, la méthode de sortie par défaut doit être utilisée.

Exemple

Exemple 1

Dans cet exemple, la sortie est un document XML, de version 1.0. Le mode d'encodage des caractères est configuré en "ISO-8859-1", la sortie est indentée pour améliorer la lisibilité :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>

Exemple 2

Dans cet exemple, la sortie est un document HTML, la version est 4.0. Le mode de codage des caractères est réglé sur "ISO-8859-1", l'indentation est appliquée pour améliorer la lisibilité :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>