2

我正在开发一个应用程序,我需要转换如下所示的 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 中进行哪些更改?

4

1 回答 1

2

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

于 2012-04-06T11:19:15.900 回答