2012-03-08 6 views
6

私はこのcontectで使用されているこの見てきました:誰もが "ノード()| @ *" という説明できnode()| @ *はXSLTを意味しますか?

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

を手段?

答えて

5

これはidentity transformと呼ばれます。 node()|@*は、すべての子ノード(node()はすべてテキスト、要素、処理命令、コメント)と一致し、現在のコンテキストの属性(@*)に一致しています。

+1

もっと正確には、node()はchild :: node()を意味し、@ *は属性:: *を意味するため、コンテキストノードのすべての子と属性に一致します。 (文書ノードまたは名前空間ノードと一致しません)。 –

+0

@MichaelKay - そうです。私は混乱を避けるために私の文章に少し明確化を加えました。ありがとうございました。 –

+0

ありがとうございました。私は実際にその機能を理解することなく、多くのXSLドキュメントでそれを使用していたため、意味がどういうものなのか疑問に思いました。 – MMKD

関連する問題