<xsl:processing-instruction>-Element

Generiert einen Verarbeitungsanweisungsknoten in der Ausgabe.

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

Attribute

  • Name
    Erforderlich. Der NCName der Verarbeitungsanweisung.

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

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, Ausgabeelemente

Untergeordnete Elemente

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

Hinweise

Das <xsl:processing-instruction> -Element generiert einen Verarbeitungsanweisungsknoten in der Ausgabe. Der Name wird durch das name-Attribut angegeben. Mit dem Inhalt des Elements wird der Rest der Verarbeitungsanweisung angegeben.

Die XML-Deklaration ist keine Verarbeitungsanweisung und muss durch Festlegen von Attributen für ein <xsl:output>-Element generiert werden.

Beispiel

In diesem Beispiel wird eine Vorlage veranschaulicht, die die XML-Deklaration und eine Verarbeitungsanweisung für ein Stylesheet in der Ausgabe generiert.

XML-Datei (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>

XSLT-Datei (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>

Probieren Sie es aus!

  1. Kopieren Sie den oben stehenden Code, und speichern Sie ihn in entsprechenden Dateien auf dem lokalen Laufwerk.

  2. Führen Sie das Beispiel aus, und verwenden Sie das Dienstprogramm msxsl.exe (verfügbar unter www.microsoft.com/downloads/) wie folgt an einer Eingabeaufforderung:

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

Ausgabe

Das Ergebnis dieser Transformation ist die gleiche XML-Datei mit einem darin eingebetteten neuen Stylesheet. Die Ausgabedatei new-cust.xml sollte wie folgt aussehen:

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