<xsl:processing-instruction> 要素
出力内容に処理命令ノードを生成します。
<xsl:processing-instruction
name = "pi-name">
</xsl: processing-instruction>
属性
- name
必ず指定します。 処理命令の NCName。
要素情報
解説
<xsl:processing-instruction> 要素は出力内容に処理命令ノードを生成します。 名前は name 属性によって示されます。 要素のコンテンツがその他の処理命令になります。
XML 宣言は処理命令ではなく、<xsl:output> 要素の属性を設定することによって生成する必要があります。
使用例
この例では、XML 宣言を生成するテンプレート、および出力内の命令を処理するスタイル シートを示します。
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>
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>
手順を次に示します。
上記のコード サンプルをコピーして、ローカル ドライブ上の適切なファイルに保存します。
msxsl.exe ユーティリティ (www.microsoft.com/downloads/ でダウンロードできます) を使用し、コマンド プロンプトで次のように入力して、サンプルを実行します。
msxsl customers.xml pi.xsl -o new-cust.xml
出力
この変換の結果は、同じ XML ファイルに新しいスタイル シートを組み込んだものと同じです。 出力ファイル new-cust.xml は、次のようになります。
<?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>