<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!
Kopieren Sie den oben stehenden Code, und speichern Sie ihn in entsprechenden Dateien auf dem lokalen Laufwerk.
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>