<xsl:value-of select="$j"/> <xsl:value-of select="$j"/>
</xsl:variable> </xsl:variable>
<result> <result>
<xsl:copy-of select="$k"/> <xsl:copy-of select="$k"/>
</result> </result>
</xsl:if> </xsl:if>
</xsl:template> </xsl:template>
<xsl:variable name="gt"> <xsl:variable name="gt">
is greater than is greater than
</xsl:variable> </xsl:variable>
</xsl:stylesheet> </xsl:stylesheet>
Π XSLT Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Π½Π΅Π»ΡΠ·Ρ Π΄Π²Π°ΠΆΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈ ΡΡΡ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ.
β‘ ΠΠΌΠ΅Π½Π° Π΄Π²ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π² ΡΠΎΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠΌΠΏΠΎΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ , ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ xsl:variable ΡΠΎ ΡΡΠ°ΡΡΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ°.
β‘ ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ β Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ (Π½ΠΎ Π½Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ) β Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ "Π·Π°ΠΊΡΡΠ²Π°ΡΡ" Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ .
β‘ ΠΠ²Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π² ΡΠΎΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ.
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΌΡ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠΌΠΏΠΎΡΡΠ°: ΡΠΎΠ³Π΄Π° ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎ ΡΡΠ°ΡΡΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΌΠ»Π°Π΄ΡΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ°. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠΎΠ΄ΠΈΡΡ ΡΠΊΡΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ choice ΠΌΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° input.
ΠΠΈΡΡΠΈΠ½Π³ 5.24. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ en.xsl<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="submit" select="'Submit'"/>
<xsl:variable name="reset" select="'Reset'"/>
<xsl:template name="choice">
<input type="button" value="{$submit}"/>
<xsl:text>
</xsl: text>
<input type="reset" value="{$reset}"/>
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="choice"/>
</xsl:template>
</xsl:stylesheet>
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ:
<input type="button" value="Submit"/>
<input type="reset" value="Reset"/>
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π½Π°Π΄ΠΏΠΈΡΠΈ Π½Π° ΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°.
ΠΠΈΡΡΠΈΠ½Π³ 5.25. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ de.xsl<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="en.xsl"/>
<xsl:variable name="submit" select="'Senden'"/>
<xsl:variable name="reset" select="'Loeschen'"/>
</xsl:stylesheet>
Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΠΆΠ΅ Π½Π° Π½Π΅ΠΌΠ΅ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅:
<input type="button" value="Senden"/>
<input type="reset" value="Loeschen"/>
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ ΠΎΠΏΠ°ΡΠ½ΡΠΌ: Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ, ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΎΠ΅ Π±ΡΠ»ΠΎ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΎ, ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
<xsl:variable name="app:href" select="..."/>
<xsl:variable name="db:href" select="..."/>
Π ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡΡ app ΠΈ db (ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ) Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΡΠ΅ΠΌΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ "ΡΠΊΡΡΡΠΈΠ΅" Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="i" select="1"/>
<xsl:template match="/">
<xsl:text>i equals </xsl:text>
<xsl:value-of select="$i"/>
<xsl:text>
</xsl:text>
<xsl:variable name="i" select="$i + 1"/>
<xsl:text>i equals </xsl:text>
<xsl:value-of select="$i"/>
</xsl:template>
</xsl:stylesheet>
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ:
i equals 1
i equals 2
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i "ΡΠΊΡΡΠ»ΠΎ" Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΠΎ Π΅ΡΠ΅ ΠΈ ΡΠ΅ΠΌ, ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ β ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΆΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ»ΡΡΠ°ΠΉ Π΄Π²ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΄Π²Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ β ΠΎΠ΄Π½Ρ Π·Π° Π΄ΡΡΠ³ΠΎΠΉ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="i" select="1"/>
<xsl:text>i equals </xsl:text>
<xsl:value-of select="$i"/>
<xsl:text>
</xsl:text>
<xsl:variable name="i" select="2"/>
<xsl:text>i equals </xsl:text>
<xsl:value-of select="$i"/>
</xsl:template>
</xsl:stylesheet>
Π ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΌΡ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ : ΡΠ΅ΡΠΎΠΉ Π·Π°Π»ΠΈΠ²ΠΊΠΎΠΉ β ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ β ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ, ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ β ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π²ΡΠ΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΠΈΠ΄Π°:
Failed to compile style sheet
At xsl:variable on line 9 of file stylesheet.xsl:
Variable is already declared in this template
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ xsl:variable ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π΄Π²ΡΠΌ Π±ΡΠ°ΡΡΠΊΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="i" select="1"/>
<xsl:text>i equals </xsl:text>
<xsl:value-of select="$i"/>
<xsl:variable name="i" select="2"/>
<xsl:text>i equals </xsl:text>
<xsl:value-of select="$i"/>
</xsl:template>
</xsl:stylesheet>
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ Π΄Π²ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠΎΠΆΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠ΄Π°:
i equals 1
i equals 2
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠ΅ΠΉ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² XSLT Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°: "ΠΠ° Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠΎΠ³Π΄Π° Π½ΡΠΆΠ½Ρ?!".
ΠΡΠ΅ΡΠ΅Π½Π·ΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅ΡΡΠ΅Π·Π½Π° ΠΈ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π° β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΏΠΎΡΡΠ΅ΠΌ Π² ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°Π³ΠΎΠ²ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ . Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π΄Π°ΠΆΠ΅ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² XSLT, ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ·ΡΠΊΠ°. ΠΠΈΠΆΠ΅ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
β‘ ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΡΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠΎ-Π½ΠΎΠ²ΠΎΠΌΡ.
β‘ ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
β‘ ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ.
ΠΡΠΈΠΌΠ΅ΡΡΠΠ΅ΡΠ²ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½: Π΅ΡΠ»ΠΈ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠ΅ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΡΡΡΠ»ΠΎΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΠΈΠ΄Π°:
//a[@href]
Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅ΠΉ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠ½Π΅ΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΈΠ΄Π°
<xsl:variable name="links" select="//a[@href]"/>
ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ°ΠΊ $a. Π€ΠΈΠ»ΡΡΡΡΡΡΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° XPath (ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ FilterExpr) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ·Π»Π°ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, $a[1] Π±ΡΠ΄Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ //a[@href][1], a $a/@href β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ //a[@href]/@href. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ $a ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΡΠΊΠ°ΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ a Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ href, ΡΡΠΎ, ΠΏΠΎ Π²ΡΠ΅ΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.