<xsl:copy-of> 元素
將子樹狀目錄和結果樹狀目錄片段插入至結果樹狀目錄。
<xsl:copy-of
select = Expression />
屬性
- select
必要項。 識別要複製之節點的 XPath Expressions (XSLT)。 這些節點之下的子樹狀目錄都會整體地複製到結果樹狀結構中。
項目資訊
發生次數 |
無限制 |
父項目 |
xsl:attribute、xsl:comment、xsl:copy、xsl:element、xsl:fallback、xsl:for-each、xsl:if、xsl:message、xsl:otherwise、xsl:param、xsl:processing-instruction、xsl:template、xsl:variable、xsl:when、xsl:with-param、輸出項目 |
項目子系 |
(沒有項目子系) |
備註
當評估運算式的結果是結果樹狀結構片段時,就會將完整的片段複製到結果樹狀結構中。 若結果是節點集,則節點集內所有的節點都會以文件順序複製到結果樹狀結構中。 複製項目節點時,也會一併複製屬性節點、命名空間節點、項目節點的子系,以及項目節點本身。 根節點會在複製其子系時進行複製。 當結果為節點集或節點樹狀結構片段時,結果會先轉換為字串,然後再插入結果樹狀結構中,如同使用 <xsl:value-of>。
範例
此範例 XSLT 檔案將針對範例 XML 檔案進行運作,以尋找具有 <given-name> 及 <family-name> 項目子系的 <person> 項目。 本段將包含目前節點的第一個 <given-name> 項目子系,包括任何屬性與項目子系,接著是空格,然後是目前節點的第一個 <family-name> 項目子系,包括任何屬性與項目子系。
XML 檔 (family.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="family.xsl"?>
<family>
<person>
<given-name age="10">
<name>Fred</name>
<nick-name>Freddy</nick-name>
</given-name>
<family-name>Smith</family-name>
</person>
<person>
<given-name age="10">
<name>Robert</name>
<nick-name>Bob</nick-name>
</given-name>
<family-name>Smith</family-name>
</person>
</family>
XSLT 檔 (family.xsl)
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="person">
<p>
<xsl:copy-of select="given-name"/>
<xsl:text> </xsl:text>
<xsl:copy-of select="family-name"/>
</p>
</xsl:template>
</xsl:stylesheet>
輸出
此為格式化輸出:
Fred Freddy Smith
Robert Bob Smith
以下是處理器輸出,並已加入分行符號以便檢視。
<?xml version="1.0"?>
<p><given-name age="10">
<name>Fred</name>
<nick-name>Freddy</nick-name>
</given-name>
<family-name>Smith</family-name></p>
<p><given-name age="10">
<name>Robert</name>
<nick-name>Bob</nick-name>
</given-name>
<family-name>Smith</family-name></p>