É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 !

  1. Copiez le code ci-dessus et enregistrez-le dans les fichiers appropriés sur votre disque local.

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