xslt转换

时间:2012-04-06 11:13:39

标签: xml xslt

我正在开发一个应用程序,我需要转换如下所示的XML文档:

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE markables SYSTEM "markables.dtd">
<markables>
<markable id="markable_1" mmax_level="coref" span="word_1..word_4"> </markable>
<markable id="markable_2" mmax_level="coref" span="word_6..word_7"> </markable>
<markable id="markable_3" mmax_level="coref" span="word_10..word_24"> </markable>
</markables>

使用XSLT样式表。我希望转换的结果是(在这种情况下)word_1 word_6 word_10,这是我正在使用的XSL:

<?xml version='1.0' encoding='ISO-8859-1'?>

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="markable">
  <html>
  <body>
    <tr>
      <td><xsl:value-of select="@span"/></td>
    </tr>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

结果是word_1..word_4 word_6..word_7 word_10..word_24。我需要在XSLT中更改什么?

1 个答案:

答案 0 :(得分:2)

您需要使用XSLT函数,即fn:substring-before(@span, '..')