为什么XSLT模板无法正常工作?

时间:2014-11-14 20:44:00

标签: xml xslt xpath

我有一些格式的XML文件,并希望将其转换为另一种格式。

第一种格式是:

<Project>
 <Requirements>
  <Source>     
    <Section>
      <Requirement>
        <Content>
          this is I<sub>leakage</sub>
        </Content>
        <Title></Title>
        <Property name="Status"/>
      </Requirement>
   </Section>
  </Source>
 </Requirements>
</Project>

我正在使用模板将此子标记更改为下标标记

      this is I<sub>leakage</sub>

      this is I<subscript>leakage</subscript>

我正在使用此模板转换:

<xsl:template match="sub">
   <Subscript>
       <xsl:value-of select="current()/text()"/>
   </Subscript>
</xsl:template>

问题是模板不起作用,虽然如果我将子标签放在要求之外(例如在Section下),它可以正常工作。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

希望这有帮助,

<xsl:template match="sub">
 <Subscript>
  <xsl:value-of select="./text()"/>
 </Subscript>
</xsl:template>

这在我的最后工作。差异的原因可以在这里找到: Current node vs. Context node in XSLT/XPath?