<xsl:processing-instruction>  
Diese Anweisung erstellt eine Verarbeitungsanweisung für das Ausgabedokument.
 
Kategorie

Anweisung

 
Obligatorische Attribute
name
Dieses Attribut definiert den Namen der Verarbeitungsanweisung.

 
Optionale Attribute

Keine

 
Inhalt

Eine XSLT-Vorlage. Der Inhalt der Vorlage wird für die Daten der Verarbeitungsanweisung verwendet.

 
Übergeordnetes Element

<xsl:processing-instruction> erscheint innerhalb einer Template.

 
Definition

XSLT-Abschnitt 7.3, Erzeugung von Verarbeitungsanweisungen

 
Beispiel

Es wird ein Stylesheet gezeigt, das eine Verarbeitungsanweisung in ein XML-Dokument einfügt. Die Verarbeitungsanweisung wird das Stylesheet template.xsl mit diesem XML-Dokument verknüpfen. Hier das Stylesheet:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml"/>


  <xsl:template match="/">
    <xsl:processing-instruction name="xml-stylesheet">href="docbook/html/docbook.xsl" 
       type="text/xsl"</xsl:processing-instruction>
    <xsl:copy-of select="."/>
  </xsl:template>

</xsl:stylesheet>

Dieses Stylesheet verwendet einfach das Element <xsl:copy-of>, um das Eingabedokument in den Ergebnisbaum zu kopieren und dabei auch die Verarbeitungsanweisung hinzuzufügen. Dieses Stylesheet wird auf das folgende Dokument angewendet:

<?xml version="1.0"?>
<list>
  <title>A few of my favorite albums</title>
  <listitem>A Love Supreme</listitem>
  <listitem>Beat Crazy</listitem>
  <listitem>Here Come the Warm Jets</listitem>
  <listitem>Kind of Blue</listitem>
  <listitem>London Calling</listitem>
  <listitem>Remain in Light</listitem>
  <listitem>The Joshua Tree</listitem>
  <listitem>The Indestructible Beat of Soweto</listitem>
</list>

Hier die Ergebnisse, die entstehen, wenn diese Transformation ausgeführt wird:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="docbook/html/docbook.xsl" type="text/xsl"?>
<list>
  <title>A few of my favorite albums</title>
  <listitem>A Love Supreme</listitem>
  <listitem>Beat Crazy</listitem>
  <listitem>Here Come the Warm Jets</listitem>
  <listitem>Kind of Blue</listitem>
  <listitem>London Calling</listitem>
  <listitem>Remain in Light</listitem>
  <listitem>The Joshua Tree</listitem>
  <listitem>The Indestructible Beat of Soweto</listitem>
</list>

Beachten Sie, dass der Inhalt einer Verarbeitungsanweisung Text ist. Auch wenn die soeben erzeugte Verarbeitungsanweisung so aussieht als hätte sie zwei Attribute, können Sie die Verarbeitungsanweisung nicht wie folgt erstellen:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml"/>

  <xsl:template match="/">
    <xsl:processing-instruction name="xml-stylesheet">

      <!-- This doesn't work!  You can't put <xsl:attribute>
           elements inside a <xsl:processing-instruction> element. -->

      <xsl:attribute name="href">
        <xsl:text>docbook/html/docbook.xsl</xsl:text>
      </xsl:attribute>
      <xsl:attribute name="type">
        <xsl:text>text/xsl</xsl:text>
      </xsl:attribute>
    </xsl:processing-instruction>
    <xsl:copy-of select="."/>
  </xsl:template>

</xsl:stylesheet>

Wenn Sie das ausführen, erhalten Sie vom XSLT-Prozessor eine Ausnahme.