2012-03-08 2 views
6

Я видел это существо, используемое в этом Contect:Что означает node() | @ * XSLT?

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

Может кто-нибудь объяснить, что "узел() | @ *" означает?

ответ

5

Это называется identity transform. соответствует всем дочерним узлам (node() - это все текст, элемент, инструкции по обработке, комментарии) и атрибуты (@*) текущего контекста.

+1

Ну, точнее, node() означает child :: node() и @ * означает атрибут :: *, поэтому он сопоставляет все дочерние элементы и атрибуты контекстного узла. (Он не соответствует узлам документов или узлам пространства имен). –

+0

@MichaelKay - Да, вы правы. Я добавил немного разъяснений в свой пост, чтобы избежать путаницы. Спасибо. –

+0

Благодарим вас за помощь. Я задался вопросом, что это значит, потому что я использовал его во многих Документах XSL, не понимая его функциональности. – MMKD

Смежные вопросы