Élément <xsl:processing-instruction>
Génère un nœud d'instruction de traitement dans la sortie.
<xsl:processing-instruction
name = "pi-name">
</xsl: processing-instruction>
Attributs
- name
Requis. NCName de l'instruction de traitement.
Informations sur les éléments
Nombre d'occurrences |
Illimité |
Éléments parents |
xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, éléments de sortie |
Éléments enfants |
xsl:apply-imports, xsl:apply-templates, xsl:call-template, xsl:choose, xsl:copy, xsl:copy-of, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:number, xsl:text, xsl:value-of, xsl:variable |
Notes
L'élément <xsl:processing-instruction> génère un nœud d'instruction de traitement dans la sortie. Le nom est indiqué par l'attribut name. Le contenu de l'élément fournit le reste de l'instruction de traitement.
La déclaration XML n'est pas une instruction de traitement et doit être générée en définissant les attributs d'un élément <xsl:output>.
Exemple
Cet exemple illustre un modèle qui génère la déclaration XML et une instruction de traitement de feuille de style dans la sortie.
Fichier XML (customers.xml)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="pi.xsl" ?>
<customers>
<customer>
<name>James Smith</name>
<address>123 Elm St.</address>
<phone>(123) 456-7890</phone>
</customer>
<customer>
<name>Amy Jones</name>
<address>456 Oak Ave.</address>
<phone>(156) 789-0123</phone>
</customer>
</customers>
Fichier XSLT (pi.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method='xml' version='1.0'/>
<xsl:template match="/">
<xsl:processing-instruction name="xml-stylesheet">
<xsl:text>type="text/xsl" href="style.xsl"</xsl:text>
</xsl:processing-instruction>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="@* | *">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template></xsl:stylesheet>
Essayez !
Copiez le code ci-dessus et enregistrez-le dans les fichiers appropriés sur votre disque local.
Exécutez l'exemple à l'aide de l'utilitaire msxsl.exe (disponible à l'adresse www.microsoft.com/downloads/) ou à partir de l'invite de commande, comme suit :
msxsl customers.xml pi.xsl -o new-cust.xml
Sortie
Le résultat de cette transformation est le même fichier XML, auquel une nouvelle feuille de style est intégrée. Le fichier de sortie, new-cust.xml, doit se présenter comme suit :
<?xml version="1.0" encoding="UTF-16"?>
<?xml-stylesheet type="text/xsl" href="style.xsl" ?>
<customers>
<customer>
<name>James Smith</name>
<address>123 Elm St.</address>
<phone>(123) 456-7890</phone>
</customer>
<customer>
<name>Amy Jones</name>
<address>456 Oak Ave.</address>
<phone>(156) 789-0123</phone>
</customer>
</customers>