如何使用XSLT在文本节点值中获取字符串?

时间:2013-07-16 20:04:22

标签: xml string xslt position

我正在尝试使用下面的XSLT来转换我的XML文档,并且转换工作正常。我现在需要的是能够在列表项文本节点值中的空格字符之前获取第一组数字。目的是在<doc:id>

中使用它

我试过了:

<xsl:template match="li">
    <document>
        <title><xsl:apply-templates/></title>

        <location>


            <xsl:value-of select="concat('http://localhost/auto/teo',mydoc)"></xsl:value-of>
           <test>
               <xsl:for-each select="text()[1]">
                   <xsl:value-of select="."/>
               </xsl:for-each>

           </test>
        </location>
            <extension >

                  <doc:id>

                      <xsl:number value="position()" format="01" />
                    </doc:id>

            </extension>
        </document>
</xsl:template>

以下是转型的源文件:

<html>
<head>
  <title></title>
</head>
<body>

  <!-- This is my first comment -->
 <ol>
    <li>1 data</li>
    <li>2 data</li>
    <li>3 data</li>
    <li>4 data</li>
    <li>5 data</li>
    <li>6 data</li>
    <li>7 data</li>
    <li>8 data</li>
    <li>9 data</li>
    <li>10 data</li>
    <li>11 data</li>
    <li>12 data</li>
    <li>13 data</li>
 </ol>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

请尝试以下方法:

<doc:id>
   <xsl:number value="substring-before(., ' ')" format="01" />
</doc:id>