2011-09-09 24 views
0

我有以下帶有公式的XML片段作爲其他一些文本的一部分。這由XSLT轉換爲HTML。最終的HTML輸出應該反映應用的上標。實現這一目標的正確方法是什麼?如何將XML中的上標/下標轉換爲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,輸出如下

我們提出在覈天體物理中使用不同的模型。特別強調了微觀集羣理論的作用。最近的三重應用 - &#945;過程中,以及在<SUP/SUP> C(&#945 ;, &#947;)<SUP/SUP> O和<SUP/SUP>赫(&#945 ;, &#947;)<sup/sup>討論了反應。 (作者)

任何幫助表示讚賞。

回答

1

問題是,誰生成這個標記在一個屬性中。這有效地銷燬了所有標記,結果只是屬性內的一維文本。

這實際上是一種邪惡的做法。爲了能夠將字符串處理爲標記 - 使用XPath和XSLT - 標記需要從字符串中重新構建。您需要執行預處理步驟來將content屬性的內容解析爲新的XmlDocument,或者您可以在XSLT代碼中調用一個擴展函數(需要編寫)來解析文本並返回文檔節點。

在XSLT 3.0/XPath 3.0中,將會有一個標準功能parse-xml()正好適用於這種情況。