<xsl:copy-of>-Element
Fügt Teilstrukturen and Ergebnisstrukturfragmente in die Ergebnisstruktur ein.
<xsl:copy-of
select = Expression />
Attribute
- select
Erforderlich. XPath-Ausdrücke, der die zu kopierenden Knoten angibt. Die Teilstruktur unterhalb dieser Knoten wird vollständig in die Ergebnisstruktur kopiert.
Elementinformationen
Anzahl der Vorkommen |
Unbegrenzt |
Übergeordnete Elemente |
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, Ausgabeelemente |
Untergeordnete Elemente |
(Keine untergeordneten Elemente) |
Hinweise
Wenn das Ergebnis der Auswertung des Ausdrucks ein Ergebnisstrukturfragment ist, wird das gesamte Fragment in die Ergebnisstruktur kopiert. Wenn das Ergebnis eine Knotengruppe ist, werden alle Knoten in der Gruppe in der Dokumentreihenfolge in die Ergebnisstruktur kopiert. Beim Kopieren eines Elementknotens werden die Attributknoten, die Namespaceknoten und die untergeordneten Knoten des Elementknotens sowie der Elementknoten selbst kopiert. Ein Stammknoten wird kopiert, indem seine untergeordneten Knoten kopiert werden. Wenn das Ergebnis weder eine Knotengruppe noch ein Ergebnisstrukturfragment ist, wird das Ergebnis in eine Zeichenfolge konvertiert und anschließend in die Ergebnisstruktur eingefügt, wie bei <xsl:value-of>
.
Beispiel
Diese XSLT-Beispieldatei wird für die XML-Beispieldatei ausgeführt, um ein <person>
-Element mit den untergeordneten Elementen <given-name>
und <family-name>
zu finden. Der Absatz enthält das erste untergeordnete <given-name>
-Element des aktuellen Knotens, einschließlich aller Attribute und untergeordneten Elemente, gefolgt von einem Leerraum und dem ersten untergeordneten <family-name>
-Element, einschließlich aller Attribute und untergeordneten Elemente, des aktuellen Knotens.
XML-Datei (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-Datei (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>
Ausgabe
Dies ist die formatierte Ausgabe:
Fred Freddy Smith
Robert Bob Smith
Im Folgenden ist die Prozessorausgabe dargestellt, wobei aus Gründen der Übersichtlichkeit Zeilenumbrüche hinzugefügt wurden.
<?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>