Π’ΡΠΈ ΡΠ°Π³Π° ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΈΡ. 5.1.
Π ΠΈΡ. 5.1. ΠΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ΄Π΅ΡΡ ΡΠ»Π΅Π²Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ·Π»ΠΎΠ², ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ β Π΄Π΅ΡΠ΅Π²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠ½ΠΊΡΠΈΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ·Π»ΠΎΠΌ, ΡΠΏΡΠ°Π²Π° β Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π²ΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ:
<b>text</b>
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°:
<para>
<bold>text1</bold>
<para>
<bold>text2</bold>
</para>
</para>
ΠΠΎΡΡΠ΄ΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ.
β‘ ΠΠ΅ΡΠ²ΡΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ·Π΅Π». ΠΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ·Π»Π°ΠΌ (Π²Π΅ΡΠ½Π΅Π΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌΡ ΡΠ·Π»Ρ β ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ para).
β‘ Π¨Π°Π±Π»ΠΎΠ½, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ para, ΡΠΎΠ·Π΄Π°Π΅Ρ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ p ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊ ΡΠ²ΠΎΠΈΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ·Π»Π°ΠΌ β Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΈΡ Π΄Π²Π°, bold ΠΈ para.
β‘ Π¨Π°Π±Π»ΠΎΠ½, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ bold, ΡΠΎΠ·Π΄Π°Π΅Ρ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ b ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ·Π΅Π» ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ "text1".
β‘ Π¨Π°Π±Π»ΠΎΠ½, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ para, ΡΠΎΠ·Π΄Π°Π΅Ρ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅ ΡΠ·Π΅Π» p ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ·Π»Π°ΠΌ.
β‘ ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ·Π»ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° para ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ bold.
β‘ Π¨Π°Π±Π»ΠΎΠ½, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ bold, ΡΠΎΠ·Π΄Π°Π΅Ρ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ b ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ·Π΅Π» ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ "text2".
ΠΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 5.2.
Π ΠΈΡ. 5.2. ΠΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ:
<b>text1</b>
<b>text2</b>
ΠΡΡΠΈΠ±ΡΡ select ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:apply-templates ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ·Π»Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ select β ΡΡΠΎ XPath-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ². Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π°ΡΡΠΈΠ±ΡΡ select ΡΠΊΠ°Π·Π°Π½, ΡΠ°Π±Π»ΠΎΠ½Ρ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· ΡΠ·Π»ΠΎΠ² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°.
ΠΡΠΈΠΌΠ΅ΡΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² para ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ bold ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅, ΡΠ°Π±Π»ΠΎΠ½ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² para Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<xsl:template match="para">
<xsl:apply-templates select="bold"/>
</xsl:template>
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
<para>
<bold>text1</bold>
<para>
<bold>text2</bold>
</para>
</para>
Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ
<b>text1</b>
ΠΠ»Π΅ΠΌΠ΅Π½Ρ para, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎ Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ para, Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ ΠΏΠΎ ΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π²ΠΎΡΠ΅Π» Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ XPath-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ "bold". Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π°ΠΏΠΈΡΠ΅ΠΌ
<xsl:template match="para">
<xsl:apply-templates select="bold|para"/>
</xsl:template>
ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅:
<b>text1</b>
<b>text2</b>
Π‘Π»Π΅Π΄ΡΠ΅Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ select ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:apply-templates ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ match ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:template. ΠΡΡΠΈΠ±ΡΡ match ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ XPath-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΏΠ°ΡΡΠ΅ΡΠ½ XSLT; Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠ° select Π² xsl:apply-templates ΠΎΠ½ Π½Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·Π»ΠΎΠ², ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ Π΄Π°Π½Π½ΡΠΉ ΡΠ·Π΅Π» ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ.
ΠΡΡΠΈΠ±ΡΡ select ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:apply-templates Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ ΠΏΠ°ΡΡΠ΅ΡΠ½, Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°
<xsl:apply-templates select="para+1"/>
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ para+1 Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ².
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡΠ΅ Π½Π΅Ρ. Π Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·Π»ΠΎΠ², ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ·Π»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ id ΠΈΠ»ΠΈ key), Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π½Π°Π΄ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌΠΈ (ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ bold|para), ΠΏΡΡΠΈ Π²ΡΠ±ΠΎΡΠΊΠΈ, ΡΠΈΠ»ΡΡΡΡΡΡΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΠΎΠ±ΡΠ΅ΠΌ, Π»ΡΠ±ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ select ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:apply-template ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ document.
ΠΡΠΈΠΌΠ΅ΡΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°
<xsl:apply-templates select="document('a.xml')//para"/>
ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ para Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° a.xml.
Π Π΅ΠΆΠΈΠΌΡ
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠ·Π»Ρ, Π½ΠΎ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π’ΠΈΠΏΠΈΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π·Π°Π΄Π°ΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ Π·Π΄Π΅ΡΡ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, ΠΈ ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΡΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°.
ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ Π² XSLT ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎ. ΠΡΡΠΈΠ±ΡΡ mode ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:template Π·Π°Π΄Π°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π°ΡΡΠΈΠ±ΡΡ Π΅ΡΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:apply-templates: Π² ΡΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ xsl:apply-templates ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² XHTML-ΡΠ°ΠΉΠ» ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠ»ΠΎΠΊ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, XHTML β ΡΡΠΎ XML-Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° HTML, Π° Π·Π½Π°ΡΠΈΡ XSLT Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ XHTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
URI ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠ·ΡΠΊΠ° XHTML β "http://www.w3.org/1999/xhtml"; ΡΡΠΎΠΌΡ ΡΠ·ΡΠΊΡ ΠΌΡ Π½Π°Π·Π½Π°ΡΠΈΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡ "xhtml" ΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠΌΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns="http://www.w3.org/1999/xhtml">
...
</xsl:stylesheet>
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· ΡΡΡΠ»ΠΎΠΊ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΅ Π°ΡΡΠΈΠ±ΡΡ href ΠΈ ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ br ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ 
.
<xsl:template match="xhtml:a">
<xsl:copy>
<xsl:copy-of select="@href|text()"/>
</xsl:copy>
<br/>
<xsl:text>
</xsl:text>
</xsl:template>
ΠΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ xsl:copy, xsl:copy-of ΠΈ xsl:text, ΠΏΠΎΠΊΠ° ΠΆΠ΅ ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ
<xsl:copy>
<xsl:copy-of select="@href|text()"/>
</xsl:copy>
ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π² Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ·Π΅Π», Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡ href (@href) ΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ·Π»Ρ (text()).
ΠΠ»Π΅ΠΌΠ΅Π½Ρ <xsl:text>
</xsl:text> Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ <br/> ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° β ΠΎΠ½ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ, Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ β ΠΎΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠ·Π»Ρ ΠΎΠ΄ΠΈΠ½ Π² ΠΎΠ΄ΠΈΠ½:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° body β Π² Π½Π΅Π³ΠΎ ΠΌΡ Π²ΠΊΠ»ΡΡΠΈΠΌ ΠΊΠΎΠΏΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ»ΠΊΠΈ, ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
<xsl:template match="xhtml:body">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<h1>Links found on this page:<h1>
<xsl:apply-templates
select=".//xhtml:a[@href and not(xhtml:*)]">
<xsl:sort select="."/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΎΡΡΠΎΡΡΠ΅Π΅ ΠΈΠ· ΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌ, ΡΡΠΎ Π² ΡΠ΅ΠΊΡΡΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΡΡΠ»ΠΊΠΈ ΠΈΡΠΏΠΎΡΡΠΈΠ»ΠΈΡΡ β ΡΠ°ΠΌ ΡΠΎΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ br ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΡΡΠΎΠΊ. ΠΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠ»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΡ Π²ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ links:
<xsl:template match="xhtml:a" mode="links">
...
</xsl:template>
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΡΡΡΠ»ΠΊΠ°ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
<xsl:apply-templates select="@*|node()"/>