我有以下带有公式的XML片段作为其他文本的一部分。这是由XSLT转换为HTML。最终的HTML输出应该反映应用的上标。实现这一目标的正确方法是什么?
XML代码段生成如下
<meta name="Abstract" content="We present different models used in nuclear astrophysics. In particular the role of microscopic cluster theories is emphasized. Recent applications on the triple-&#945; process, and on the <sup>12</sup>C(&#945;, &#947;)<sup>16</sup>O and <sup>3</sup>He(&#945;, &#947; )<sup>7</sup>Be reactions are discussed. (author)"/>
目前,当我应用XSLT时,输出如下
我们提出了用于核天体物理学的不同模型。特别强调了微观聚类理论的作用。最近在triple&amp;#945上的应用;过程,并且在&lt; sup&gt; 12&lt; / sup&gt; C(&amp;#945;,&amp;#947;)&lt; sup&gt; 16&lt; / sup&gt; O&lt; sup&gt; 3&lt; / sup&gt; He( &amp;#945;,&amp;#947;)&lt; sup&gt; 7&lt; / sup&gt;讨论反应。 (作者)
任何帮助表示感谢。
答案 0 :(得分:1)
问题在于,无论是谁生成此标记都会在属性中添加标记。这有效地破坏了所有标记,结果只是属性中的一维文本。
这确实是一种邪恶的做法。为了能够将字符串作为标记处理 - 使用XPath和XSLT - 需要从字符串重新构建标记。您需要有一个预处理步骤来将content
属性的内容解析为新的XmlDocument,或者您可以在XSLT代码中调用一个扩展函数(您需要编写),它将解析发送文本并返回文档节点。
在XSLT 3.0 / XPath 3.0中,对于这样的情况,将会有一个标准函数 parse-xml()
。