<xsl:comment><xsl:apply-templates select="image" /></xsl:comment>
結果:
<!---->
那就是在元素 XSL代碼:發表評論忽略
The XSLT 1.0 Spec說:
如果實例化xsl:comment的 內容會創建除文本節點之外的節點 ,則會發生錯誤。 XSLT 處理器可能發出錯誤信號;如果它 不表示錯誤,則必須通過忽略違規的 節點及其內容來恢復它。
如何顯示 評論中的項目?
這要看是什麼意思爲「顯示」:在瀏覽器中:
<-- <xsl:apply-templates select="image" /> -->
可能是有用的,提供的<xsl:apply-templates/>
aboveis只是簡單的文本(未標記)的結果。
如果以「顯示」是指以提供結果的文本,然後DOE,如果允許的XSLT處理器,可以給我們想要的結果:
< - 一些文本 - >
最後,如果要求「評論」內應該是標記,並且應該顯示爲標記,那麼這是相當具有挑戰性的。在這種情況下,一個具有使用:
<xsl:output method="text"/>
和應提供每XML詞項與其期望的序列化(即,逸出)。
這是XPath Visualizer構造其輸出的方式。
這裏是一個小變換演示前兩種方法:當在任何XML文檔(未使用)施加
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<-- Hello, World -->
<xsl:text disable-output-escaping="yes"><--</xsl:text>
Hello,world! --<xsl:text disable-output-escaping="yes">></xsl:text>
</xsl:template>
</xsl:stylesheet>
這個變換,產生:
<-- Hello, World -->
<--
Hello,world! -->
這兩個「評論」都可以在瀏覽器中看作評論,而只有第二個評論以自由文本形式發表。
第三種方法(最可能是你想要1)表示如下:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<-- <xsl:apply-templates select="image"/> -->
</xsl:template>
<xsl:template match="image">
<img src="<xsl:value-of select="@src"/>"
width="<xsl:value-of select="@width"/>px"
height="<xsl:value-of select="@height"/>px"/>
</xsl:template>
</xsl:stylesheet>
當下面的XML文檔應用這種轉變:
<image src="http://example.com/yyy.jpg" width="200" height="300"/>
通緝結果產生:
<--
<img src="http://example.com/yyy.jpg"
width="200px"
height="300px"/>
-->
在瀏覽器中被視爲:
< - < IMG SRC = 「http://example.com/yyy.jpg」 寬度= 「200像素」 高度= 「300像素」/ > - >
好問題,+1。根據具體任務,查看我的答案以獲得詳細的解釋和三種可能的方法。 – 2010-10-14 12:59:15
我剛編輯我的答案,並認爲現在它有你想要的解決方案。這是嗎? – 2010-10-14 15:32:19