XML Tutorial/XSLT stylesheet/substring before

Материал из Web эксперт
Перейти к: навигация, поиск

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

   <source lang="xml">

File: Data.xml <?xml version="1.0" encoding="utf-8"?>

   <text>Welcome to XSL world.</text>
   <string>XSL</string>
   <start>4</start>
   <end>10</end>

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="/">
       
         <xsl:text>Text: </xsl:text>
       
       <xsl:value-of select="//text"/>
     
       <xsl:text>Text before </xsl:text>
       <xsl:value-of select="//string"/>
       <xsl:text>: </xsl:text>
     
     <xsl:value-of select="substring-before(//text,//string)"/>
       
         <xsl:text>Text after </xsl:text>
         <xsl:value-of select="//string"/>
         <xsl:text>: </xsl:text>
       
       <xsl:value-of select="substring-after(//text,//string)"/>
       
         <xsl:text>Text from position </xsl:text>
         <xsl:value-of select="//start"/>
         <xsl:text>: </xsl:text>
       
       <xsl:value-of select="substring(//text,//start)"/>
       
         <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>
       
       <xsl:value-of select="substring(//text,//start,//end)"/>
   </xsl:template>

</xsl:stylesheet> Output:

<?xml version="1.0" encoding="UTF-8"?>
Text: Welcome to XSL world.
Text before XSL: Welcome to
Text after XSL: world.
Text from position 4: come to XSL world.
Text from position 4 of length 10: come to XS
</source>