我正在轉換一些嵌入了mathml的xml。我們要去的目標xml文件不支持mathml。我想在註釋塊中輸出該mathml,以便mathml不會丟失,但也不會導致對目標dtd的驗證錯誤。xsl將元素的所有子元素置於註釋塊中
我嘗試了:
<xsl:comment><xsl:copy-of select="*"/></xsl:comment>
但是,這並不十分去做。
任何幫助,非常感謝!
感謝,
拉斯
我正在轉換一些嵌入了mathml的xml。我們要去的目標xml文件不支持mathml。我想在註釋塊中輸出該mathml,以便mathml不會丟失,但也不會導致對目標dtd的驗證錯誤。xsl將元素的所有子元素置於註釋塊中
我嘗試了:
<xsl:comment><xsl:copy-of select="*"/></xsl:comment>
但是,這並不十分去做。
任何幫助,非常感謝!
感謝,
拉斯
的XSLT spec說:
這是一個錯誤,如果實例的
xsl:comment
內容創建一個比文本節點的其他節點。
一種可能的解決辦法是使用disable-output-escaping
創建註釋:
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
<xsl:copy-of select="*"/>
<xsl:text disable-output-escaping="yes">--></xsl:text>
酷!這就是訣竅!謝謝! –
既然他幫了你,爲什麼不接受他的回答呢?還要考慮回顧一下你過去的14個問題,並接受你收到的任何其他有用答案;那裏至少有幾個可以接受的答案。以下是接受答案的方式:http://meta.stackexchange.com/a/5235/234215 – kjhughes
順便說一下,該報價來自XSLT 1.0規範。在XSLT 2.0中,xsl:comment的作用類似於xsl:value-of - 如果內容中有元素節點,則使用它們的字符串值。 –
順便說一句,完整的模板是: \t的 \t \t \t \t 式放在這裏 XSL:發表評論> \t \t 的 XSL:評論> \t \t \t的 \t \t \t \t \t \t ImageObject> \t \t InlineEquation> \t xsl:template> –
使用XML註釋來保留內容是一個壞主意。許多解析器和工具將完全忽視評論。 –
我知道。我只是試圖爲圖形用戶保留這些信息,因爲他們可以使用它來創建方程式作爲外部圖形。 –