如何将XML中的上标/下标转换为HTML

时间:2011-09-09 13:04:03

标签: xml xslt superscript

我有以下带有公式的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时,输出如下

我们提出了用于核天体物理学的不同模型。特别强调了微观聚类理论的作用。最近在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;讨论反应。 (作者)

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

问题在于,无论是谁生成此标记都会在属性中添加标记。这有效地破坏了所有标记,结果只是属性中的一维文本。

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

在XSLT 3.0 / XPath 3.0中,对于这样的情况,将会有一个标准函数 parse-xml()