0

我有以下带有公式的 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-&amp;#945; process, and on the &lt;sup&gt;12&lt;/sup&gt;C(&amp;#945;, &amp;#947;)&lt;sup&gt;16&lt;/sup&gt;O and &lt;sup&gt;3&lt;/sup&gt;He(&amp;#945;, &amp;#947; )&lt;sup&gt;7&lt;/sup&gt;Be reactions are discussed. (author)"/>

目前,当我应用 XSLT 时,输出如下

我们提出了核天体物理学中使用的不同模型。特别强调了微观集群理论的作用。最近在三重α 过程,并在 <sup>12</sup>C(α, γ)<sup>16</sup>O 和 <sup>3</sup>He(α, γ )<sup>7</sup>讨论了Be反应。(作者)

任何帮助表示赞赏。

4

1 回答 1

1

问题是生成此标记的人将标记放入属性中。这有效地破坏了所有标记,结果只是属性内的一维文本。

这确实是一种邪恶的做法。为了能够将字符串作为标记处理——使用 XPath 和 XSLT——标记需要从字符串中重新构成。您需要有一个预处理步骤来将content属性的内容解析为一个新的 XmlDocument,或者您可以在 XSLT 代码中调用一个扩展函数(您需要编写),这将解析文本并返回一个文档节点。

在 XSLT 3.0 / XPath 3.0 中,将有一个标准函数parse-xml()完全用于此类情况。

于 2011-09-09T13:27:58.717 回答