| <xsl:preserve-space> | |
| 空白スペースを保持するソースドキュメントの要素を定義します。 | |
| カテゴリ | |
|
トップレベル要素 |
|
| 必須の属性 | |
|
|
| 省略可能な属性 | |
|
なし。 |
|
| コンテンツ | |
|
なし。<xsl:preserve-space> は空の要素です。 |
|
| 指定先 | |
|
<preserve-space> はトップレベル要素であり、<xsl:stylesheet> の子としてのみ使用できます。 |
|
| 定義先 | |
|
XSLT 3.4 節「空白スペースの削除」 |
|
| 例 | |
|
<preserve-space> が次のスタイルシートでどのように動作するかを示します。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:preserve-space elements="listing"/>
<xsl:variable name="newline">
<xsl:text>
</xsl:text>
</xsl:variable>
<xsl:template match="/">
<xsl:value-of select="$newline"/>
<xsl:value-of select="/code-sample/title"/>
<xsl:value-of select="$newline"/>
<xsl:for-each select="/code-sample/listing">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
このスタイルシートを使用して次のドキュメントを処理します。
<?xml version="1.0"?>
<code-sample>
<title>Conditional variable initialization</title>
<listing>
<type>int</type> <variable>y</variable> = <constant>23</constant>;
<type>int</type> <variable>x</variable>;
<keyword>if</keyword> (<variable>y</variable> > <constant>10</constant>)
<variable>x</variable> = <constant>5</constant>;
<keyword>else</keyword>
<keyword>if</keyword> (<variable>y</variable> > <constant>5</constant>)
<variable>x</variable> = <constant>3</constant>;
<keyword>else</keyword>
<variable>x</variable> = <constant>1</constant>;
</listing>
</code-sample>
このドキュメントをスタイルシートで処理すると、次の結果が得られます。
Conditional variable initialization
int y = 23;
int x;
if (y > 10)
x = 5;
else
if (y > 5)
x = 3;
else
x = 1;
この例を <strip-space> 要素の例と比較してください。 |
|