Nic Miloslav Example 47 | KEYWORDS EXAMPLES AUTHORS |
---|
The substring-before function returns the substring of the first argument string that precedes and the substring-after function that follows the first occurrence of the second argument string in the first argument string. The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string.Counting starts with 1. (Stylesheet 1). Stylesheet 2 demonstrates a situation where some arguments are out of range or they are not integrals. The returned substring contains those characters for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments.
XML | HOME XSL 1 XSL 2 |
---|
<xslTutorial > |
<text>Welcome to XSL world.</text> |
<string>XSL</string> |
<start>4</start> |
<end>10</end> |
</xslTutorial> |
XSL 1 | HOME XML HTML 1 OUTPUT 1 |
---|
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > |
<xsl:template match="/"> |
<DIV> |
<B><xsl:text> Text: </xsl:text> </B> |
<xsl:value-of select="//text"/> |
</DIV> |
<B><xsl:text> Text before </xsl:text> |
<xsl:value-of select="//string"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring-before(//text,//string)"/> |
<DIV> |
<B><xsl:text> Text after </xsl:text> |
<xsl:value-of select="//string"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring-after(//text,//string)"/> |
</DIV> |
<DIV> |
<B><xsl:text> Text from position </xsl:text> |
<xsl:value-of select="//start"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring(//text,//start)"/> |
</DIV> |
<DIV> |
<B><xsl:text> Text from position </xsl:text> |
<xsl:value-of select="//start"/> |
<xsl:text> of length </xsl:text> |
<xsl:value-of select="//end"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring(//text,//start,//end)"/> |
</DIV> |
</xsl:template> |
</xsl:stylesheet> |
HTML 1 | HOME XML XSL 1 OUTPUT 1 |
---|
<HTML> |
<HEAD> </HEAD> |
<BODY> |
<DIV> |
<B>Text: </B>Welcome to XSL world.</DIV> |
<B>Text before XSL: </B>Welcome to |
<DIV> |
<B>Text after XSL: </B> world.</DIV> |
<DIV> |
<B>Text from position 4: </B>come to XSL world.</DIV> |
<DIV> |
<B>Text from position 4 of length 10: </B>come to XS</DIV> </BODY> </HTML> |
OUTPUT 1 | HOME XML XSL 1 HTML 1 |
---|
XSL 2 | HOME XML HTML 2 OUTPUT 2 |
---|
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > |
<xsl:template match="/"> |
<DIV> |
<B><xsl:text> Text from position </xsl:text> |
<xsl:value-of select="//start * -1"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring(//text,//start * -1)"/> |
</DIV> |
<DIV> |
<B><xsl:text> Text from position </xsl:text> |
<xsl:value-of select="//start + 0.45"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring(//text,//start + 0.45)"/> |
</DIV> |
<DIV> |
<B><xsl:text> Text from position </xsl:text> |
<xsl:value-of select="//start *-2"/> |
<xsl:text> of length </xsl:text> |
<xsl:value-of select="//end *1.5"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring(//text,//start * -2,//end * 1.5)"/> |
</DIV> |
<DIV> |
<B><xsl:text> Text from position </xsl:text> |
<xsl:value-of select="//start + 0.4"/> |
<xsl:text> of length </xsl:text> |
<xsl:value-of select="//end div 10 + 0.7"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring(//text,//start + 0.4,//end div 10 + 0.7)"/> |
</DIV> |
<DIV> |
<B><xsl:text> Text from position </xsl:text> |
<xsl:value-of select="//start + 0.4"/> |
<xsl:text> of length </xsl:text> |
<xsl:value-of select="//end div 10 + 0.2"/> |
<xsl:text> : </xsl:text> </B> |
<xsl:value-of select="substring(//text,//start + 0.4,//end div 10 + 0.2)"/> |
</DIV> |
</xsl:template> |
</xsl:stylesheet> |
HTML 2 | HOME XML XSL 2 OUTPUT 2 |
---|
<HTML> |
<HEAD> </HEAD> |
<BODY> |
<DIV> |
<B>Text from position -4: </B>Welcome to XSL world.</DIV> |
<DIV> |
<B>Text from position 4.45: </B>come to XSL world.</DIV> |
<DIV> |
<B>Text from position -8 of length 15: </B>Welcom</DIV> |
<DIV> |
<B>Text from position 4.4 of length 1.7: </B>co</DIV> |
<DIV> |
<B>Text from position 4.4 of length 1.2: </B>c</DIV> </BODY> </HTML> |
OUTPUT 2 | HOME XML XSL 2 HTML 2 |
---|