<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>

Siehe auch

Verweis

<xsl:value-of>-Element