XSLT仅打印第一个字母

时间:2014-06-03 16:02:44

标签: xml xslt

是否可以在两个xml标签之间打印第一个字母。例如,如果你有一个像这样的xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited by XMLSpy -->
<catalog>
<cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
</cd>

和xslt代码如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="/">
     <html>
     <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <tr>
        <td><xsl:value-of select="catalog/cd/title"/></td>
        <td><xsl:value-of select="catalog/cd/artist"/></td>
      </tr>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

你可以把表中的输出放在:

    My CD Collection
Title                      Artist
E                             B

而不是:

My CD Collection
    Title                      Artist
    Empire Burlesque           Bob Dylan

1 个答案:

答案 0 :(得分:2)

了解http://www.w3.org/TR/xpath/#function-substring之类的XPath字符串函数并使用substring(title, 1, 1)