<xsl:comment><xsl:apply-templates select="image" /></xsl:comment>
Kết quả là:
<!---->
đó là mã trong các yếu tố xsl: bình luận bỏ qua
The XSLT 1.0 Spec nói:
Đó là lỗi nếu instantiating nội dung của xsl: comment tạo các nút ngoài các nút văn bản. Bộ xử lý XSLT có thể báo hiệu lỗi; nếu nó không báo hiệu lỗi, nó phải khôi phục bằng cách bỏ qua các vi phạm vi phạm cùng với nội dung của chúng.
Làm cách nào để hiển thị một mục trong các nhận xét ?
Nó phụ thuộc những gì là có nghĩa là để "trưng bày": trong một trình duyệt:
<-- <xsl:apply-templates select="image" /> -->
có thể hữu ích, cung cấp các kết quả của <xsl:apply-templates/>
aboveis chỉ văn bản đơn giản (không đánh dấu).
Nếu để "trưng bày" có nghĩa là để cung cấp kết quả dưới dạng văn bản, sau đó DOE, nếu được phép bởi bộ xử lý XSLT, có thể cho chúng ta những kết quả mong muốn:
< - Một số văn bản - >
Cuối cùng, nếu nó được yêu cầu rằng những gì nên được bên trong "bình luận" nên được đánh dấu và nó sẽ được hiển thị như đánh dấu, sau đó điều này là khá khó khăn. Trong trường hợp này, người dùng phải sử dụng:
<xsl:output method="text"/>
và nên trình bày mọi mục từ vựng XML với tuần tự mong muốn của nó (ví dụ: thoát).
Đây là cách Trình hiển thị XPath xây dựng đầu ra của nó.
Đây là một biến đổi nhỏ thể hiện hai phương pháp tiếp cận đầu tiên:
<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>
chuyển đổi này, khi áp dụng trên bất kỳ tài liệu XML (không sử dụng), sản xuất:
<-- Hello, World -->
<--
Hello,world! -->
Cả hai "bình luận" có thể được xem như là bình luận trong một trình duyệt, trong khi chỉ có "bình luận" được trình bày dưới dạng chú thích trong văn bản tự do.
Cách tiếp cận thứ ba (hầu hết có lẽ là những gì bạn muốn) được minh họa dưới đây:
<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>
khi chuyển đổi này được áp dụng trên các tài liệu XML sau:
<image src="http://example.com/yyy.jpg" width="200" height="300"/>
sự muốn kết quả được tạo ra:
<--
<img src="http://example.com/yyy.jpg"
width="200px"
height="300px"/>
-->
xem trong một trình duyệt như:
< - < img src = "http://example.com/yyy.jpg" width = "200px" height = "300px"/> - >
Câu hỏi hay, +1. Xem câu trả lời của tôi cho một lời giải thích chi tiết và ba cách tiếp cận có thể, tùy thuộc vào nhiệm vụ cụ thể. –
Tôi vừa chỉnh sửa câu trả lời của mình và nghĩ rằng bây giờ nó có giải pháp mà bạn muốn. Có phải vậy không? –