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

問題は、これを作成した人がマークアップを属性内に配置したことです。これにより、すべてのマークアップが効果的に破棄され、結果は属性内の 1 次元のテキストになります。

これは確かに悪い習慣です。XPath と XSLT を使用して文字列をマークアップとして処理できるようにするには、文字列からマークアップを再構成する必要があります。属性のコンテンツをcontent新しい XmlDocument として解析するための前処理ステップが必要です。または、XSLT コード内で (記述する必要がある) 拡張関数を呼び出して、テキストを解析し、ドキュメントを返すことができます。ノード。

XSLT 3.0 / XPath 3.0 には、parse-xml()まさにこのような場合に対応する標準関数があります。

于 2011-09-09T13:27:58.717 に答える