Condividi tramite


Elemento <xsl:processing-instruction>

Genera un nodo di istruzioni di elaborazione nell'output.

<xsl:processing-instruction
  name = "pi-name">
</xsl: processing-instruction>

Attributi

  • Nome
    Obbligatorio. Il nome NCName dell'istruzione di elaborazione.

Informazioni sull'elemento

Numero di occorrenze

Illimitato

Elementi padre

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, elementi di output

Elementi figlio

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

Note

L'elemento <xsl:processing-instruction> genera un nodo di istruzioni di elaborazione nell'output. Il nome è indicato dall'attributo name. Il contenuto dell'elemento specifica il resto dell'istruzione di elaborazione.

La dichiarazione XML non è un'istruzione di elaborazione e deve essere generata impostando gli attributi in un elemento <xsl:output>.

Esempio

In questo esempio viene illustrato un modello che genera nell'output la dichiarazione XML e un'istruzione di elaborazione di un foglio di stile.

File 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>

File 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>

Prova

  1. Copiare il codice riportato sopra e salvarlo nei file appropriati nell'unità locale.

  2. Eseguire l'esempio usando l'utilità msxsl.exe, disponibile all'indirizzo www.microsoft.com/downloads/, dal prompt dei comandi come descritto di seguito:

    msxsl customers.xml pi.xsl -o new-cust.xml

Output

Il risultato di questa trasformazione è lo stesso file XML con un nuovo foglio di stile incorporato. Il file di output, new-cust.xml, dovrebbe avere il seguente aspetto:

<?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>