<xsl:processing-instruction name="xml-stylesheet">
<xsl:text>href="style.xsl" type="text/xsl"</xsl:text>
</xsl:processing-instruction>
Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π² Π²ΠΈΠ΄Π΅:
<?xml-stylesheet href="style.xsl" type="text/xsl"?>
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:processing-instruction Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ XML, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° (Π½ΠΎ Π½Π΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ) ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° XML-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ xsl:output.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·Π»ΠΎΠ²
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ , Π½ΠΎ ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ·Π»ΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ xsl:copy ΠΈ xsl:copy-of, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½ΠΎ Π½ΠΈΠΆΠ΅.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:copy
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
<xsl:copy
use-attribute-sets = "Π½Π°Π±ΠΎΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²">
<!-- Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ΡΠ°Π±Π»ΠΎΠ½ -->
</xsl:copy>
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:copy ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ·Π»Π° Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΅Π³ΠΎ ΡΠΈΠΏΠ°. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ·Π»ΠΎΠΌ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ·Π»Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ. ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ·Π»Ρ ΠΈ ΡΠ·Π»Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π² Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ.
ΠΡΠ»ΠΈ xsl:copy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΈΠ»ΠΈ ΡΠ·Π΄Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π² Π²ΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π΄Π΅ΡΠ΅Π²Π°, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎΡΡ Π² xsl:copy.
ΠΡΠΈΠΌΠ΅ΡΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ element-count ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ°Π²Π½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ·Π»Ρ ΠΎΡΡΠ°Π²ΠΈΡΡ, ΠΊΠ°ΠΊ Π΅ΡΡΡ.
ΠΠΈΡΡΠΈΠ½Π³ 7.17. ΠΡ ΠΎΠ΄ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ<Π°> text
<b attr="value"/>
<c/>
<d>
text
<e/>
</d>
</a>
ΠΠΈΡΡΠΈΠ½Π³ 7.18. Π¨Π°Π±Π»ΠΎΠ½ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ<xsl:template match="@*|node()">
<xsl:copy>
<xsl:attribute name="element-count">
<xsl:value-of select="count(*) "/>
</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
ΠΠΈΡΡΠΈΠ½Π³ 7.19. ΠΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ<a element-count="3">
text
<b element-count="0" attr="value"/>
<c element-count="0"/>
<d element-count="1">
text
<e element-count="0"/>
</d>
</a>
ΠΡΠ»ΠΈ xsl:copy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΠ·Π»Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π² Π½Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π°ΡΡΠΈΠ±ΡΡΠ° use-attribute-sets ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°Π±ΠΎΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» "ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°Π±ΠΎΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²" Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Ρ).
ΠΡΠΈΠΌΠ΅ΡΠΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ΠΎ Π² Π²ΠΈΠ΄Π΅
<xsl:attribute-set name="elements">
<xsl:attribute name="element-count">
<xsl:value-of select="count(*)"/>
</xsl:attribute>
</xsl:attribute-set>
<xsl:template match="@*|node()">
<xsl:copy use-attribute-sets="elements">
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ Π²ΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:copy-of
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ΡΠ»ΠΎΠΆΠ΅Π½:
<xsl:copy-of
select="Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅"/>
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:copy-of ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:value-of Π·Π° ΡΠ΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ xsl:copy-of ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΅Π³ΠΎ ΠΊ ΡΡΡΠΎΠΊΠ΅ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ . ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ xsl:copy-of Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
β‘ ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π±ΡΠ»Π΅Π²ΡΠΉ, ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ, ΡΠΎ xsl:copy-of Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·Π»Π°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ xsl:copy-of Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:value-of.
β‘ ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ² (node-set), ΡΠΎ xsl:copy-of ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π²ΡΠ΅ ΡΠ·Π»Ρ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌΠΈ.
β‘ ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π΄Π΅ΡΠ΅Π²Π°, ΡΠΎ ΠΎΠ½ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠΈΡΡΠΈΠ½Π³ 7.20. ΠΡ ΠΎΠ΄ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ<values>
<boolean>false</boolean>
<string>text</string>
<number>3.14</number>
<node-set>
<item>10</item>
<item>20</item>
<item>30</item>
</node-set>
<tree>
text
<root>
text
<branch>
text
<leaf/>
<leaf/>
</branch>
<leaf/>
</root>
</tree>
</values>
ΠΠΈΡΡΠΈΠ½Π³ 7.21. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="boolean" select="values/boolean='true'"/>
<xsl:variable name="string" select="string(values/string)"/>
<xsl:variable name="number" select="number(values/number)"/>
<xsl:variable name="node-set" select="values/node-set/*"/>
<xsl:variable name="tree">
<xsl:copy-of select="values/tree/*"/>
</xsl:variable>
<xsl:text> Value-of boolean:</xsl:text>
<xsl:value-of select="$boolean"/>
<xsl:text> Copy-of boolean:</xsl:text>
<xsl:copy-of select="$boolean"/>
<xsl:text> Value-of string:</xsl:text>
<xsl:value-of select="$string"/>
<xsl:text> Copy-of string:</xsl:text>
<xsl:copy-of select="$string"/>
<xsl:text> Value-of number:</xsl:text>
<xsl:value-of select="$number"/>
<xsl:text> Copy-of number:</xsl:text>
<xsl:copy-of select="$number"/>
<xsl:text> Value-of node-set:</xsl:text>
<xsl:value-of select="$node-set"/>
<xsl:text> Copy-of node-set:</xsl:text>
<xsl:copy-of select="$node-set"/>
<xsl:text> Value-of tree:</xsl:text>
<xsl:value-of select="$tree"/>
<xsl:text> Copy-of tree:</xsl:text>
<xsl:copy-of select="$tree"/>
</xsl:template>
</xsl:stylesheet>
ΠΠΈΡΡΠΈΠ½Π³ 7.22. ΠΡΡ ΠΎΠ΄ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡValue-of boolean:false
Copy-of boolean:false
Value-of string:text
Copy-of string:text
Value-of number:3.14
Copy-of number:3.14
Value-of node-set:10
Copy-of node-set:<item>10</item><item>20</item><item>30</item>
Value-of tree:
text
text
Copy-of tree:<root>
text
<branch>
text
<leaf/>
<leaf/>
</branch>
<leaf/>
</root>
Π£ΡΠ»ΠΎΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°
Π XSLT ΠΈΠΌΠ΅ΡΡΡΡ Π΄Π²Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ β xsl:if ΠΈ xsl:choose. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ xsl:if ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΈΠΏΠ° "Π΅ΡΠ»ΠΈ-ΡΠΎ", Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ xsl:choose ΡΠΎΠ·Π΄Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:if
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
<xsl:if
test="Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅">
<!-- Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ΡΠ°Π±Π»ΠΎΠ½ -->
</xsl:if>
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:if ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ ΡΡΠ»ΠΎΠ²Π½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π² XSLT. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ΡΡ Π² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡΠ΅ test, Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π±ΡΠ»Π΅Π²ΠΎΠΌΡ ΡΠΈΠΏΡ. Π ΡΠΎΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉΡΡ Π² xsl:if.
ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π°ΡΡΠΈΠ±ΡΡΡ Π² XML Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ "<" ΠΈ "&"), ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ. Π ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» ΡΠΈΠΏΠ° "ΠΌΠ΅Π½ΡΡΠ΅"; ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°
<xsl:if test="a < b"/>
Π±ΡΠ΄Π΅Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° XML Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ. ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅
<xsl:if test="a < b"/>
Π‘Π»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ» "Π±ΠΎΠ»ΡΡΠ΅" (">") Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΡΡΠ½ΠΎΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΈ Π΅Π³ΠΎ.
ΠΡΠΈΠΌΠ΅ΡΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ
<list active="Bravo">
<item>Alpha</item>