XSLT 2.0 udostępnia dużo więcej wbudowanych funkcji niż wersja 1.0 tego standardu.
Są to między innymi funkcje lower-case() i upper-case():
Czasem jednak pojawia się konieczność poprawienia kodu, który napisany został w specyfikacji XSLT 1.0 i nie ma możliwości jej zmiany na nowszą. W takim wypadku część funkcji dostępnych w XSLT 2.0 trzeba będzie zaimplementować samemu. Niestety tutaj pojawia się kolejny problem - w starej XSLT nie ma możliwości tworzenia własnych funkcji. Całe szczęście możemy osiągnąć efekt jaki udostępniają lower-case() i upper-case() poprzez użycie funkcji translate().<xsl:variable name="var">ŚmIeSzNy NaPiS</xsl:variable> <xsl:value-of select="upper-case($var)"/>
Oto jak można to zrobić:
<xsl:variable name="lowerCase">
abcdefghijklmnopqrstuvwxyz
</xsl:variable> <xsl:variable name="upperCase">
ABCDEFGHIJKLMOPQERTUVWZYZ
</xsl:variable> <xsl:variable name="var">ŚmIeSzNy NaPiS</xsl:variable> <xsl:value-of select="translate($var, $lowerCase, $upperCase)"/>
Artykuł udostępniany na licencji CC-BY-SA-3.0
Komentarze
Prześlij komentarz