我需要一些XSL Transformation的帮助。它是XML到XML的转换。
我有这种XML结构:
<book>
<chap>
<dev>
<p>This is some text<apnb id="N1">blah blah blah</p>
<p>...</p>
<p>...</p>
<quote>...</quote>
</dev>
<defnotes>
<ntb id="N1">This is the footnote corresponding to the element apnb</ntb>
</defnotes>
</chap>
</book>
通过XSLT转换,我需要将ntb
元素的内容放入一个note元素中,该元素将直接替换段落中的apnb
元素。我的尝试是创建xsl:variable name="N1"
以放置ntb id="N1"
元素的文本,然后在适当的位置创建note元素并放置xsl:value-of select="$N1"
。但它不起作用。我认为我的XPATH表达式可能是错误的(因为我是XSLT的初学者)。
我希望你理解我的问题。提前感谢您的所有答案。
弗洛
答案 0 :(得分:0)
XPath应该是这样的:
<xsl:value-of select="//ntb[@id='N1']" />
找到属性id等于&#39; N1&#39;的所有ntb元素。 如果您没有重复名称&#39; N1&#39;。
,这应该可行此外,apnb标记的XML无效,因为它缺少结束标记。
您的代码在这里:
<apnb id="N1">
应该是:
<apnb id="N1"/>