2012-03-08 30 views
6

Tôi đã thấy hạnh phúc này được sử dụng trong contect này:Nút() | @ * có nghĩa là gì XSLT?

<xsl:template match="node()|@*"> 
<xsl:copy> 
    <xsl:apply-templates select="node()|@*"/> 
</xsl:copy> 

bất cứ ai có thể giải thích rằng "nút() | @ *" có nghĩa là?

Trả lời

5

Đây được gọi là identity transform. node()|@* phù hợp với tất cả các nút con (node() là tất cả văn bản, phần tử, hướng dẫn xử lý, nhận xét) và các thuộc tính (@*) của ngữ cảnh hiện tại.

+1

Vâng, chính xác hơn, nút() có nghĩa là child :: node(), và @ * có nghĩa là thuộc tính :: *, vì vậy nó phù hợp với tất cả trẻ em và thuộc tính của nút ngữ cảnh. (Nó không khớp với các nút tài liệu hoặc các nút không gian tên). –

+0

@MichaelKay - Có bạn nói đúng. Tôi đã thêm một chút làm rõ để statment của tôi để tránh nhầm lẫn. Cảm ơn bạn. –

+0

Cảm ơn sự giúp đỡ của bạn. Tôi đã tự hỏi điều đó có ý nghĩa gì khi tôi đã sử dụng nó trong nhiều tài liệu XSL mà không thực sự hiểu được chức năng của nó. – MMKD