Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Substring-before() returns the substring of the first argument that precedes

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data>     <text>Welcome to XSL world.</text>     <string>XSL</string>     <start>4</start>     <end>10</end> </data> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <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> Output: <?xml version="1.0" encoding="UTF-8"?><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>