差別:
- xsl:value-of returns all the TEXT within the selected tag(s).
- xsl:copy-of returns all the ELEMENTS (both tags and text) of the selected tag(s).
一言以蔽之, value-of 只會回傳你選擇node裡面的text, 但是copy-of 卻是會把整個node structure都回傳回來.
例子:
<Name>
<Family>Smith</Family>
<Given>John</Given>
</Name>
XSLT:
<xsl:value-of select="Name"/>
<!-- 輸出element Name下面的所有text -->
Output:
Smith
John
XSLT:
<xsl:value-of select="Name"/>
輸出Name底下的所有element (包含tag)
Output:
<Name>
<Family>Smith</Family>
<Given>John</Given>
</Name>
XSLT:
<xsl:value-of select="Name/node()"/>
輸出Name底下子節點的所有element (包含tag), 不包含自己
Output:
<Family>Smith</Family>
<Given>John</Given>
XSLT:
<xsl:value-of select="Name/text()"/>
輸出Name底下的text, 但是這邊沒有, 所以沒有輸出
Output:
Reference:
http://dev.ektron.com/blogs.aspx?id=10472
沒有留言:
張貼留言