Condividi tramite


Elemento <xsl:copy-of>

Inserisce nell'albero risultato sottoalberi e frammenti di albero risultato.

<xsl:copy-of
  select = Expression />

Attributi

  • select
    Obbligatorio. Espressioni (XSLT) XPath per identificare i nodi da copiare. Il sottoalbero al di sotto di ciascuno di tali nodi viene copiato completamente nell'albero risultante.

Informazioni sull'elemento

Numero di occorrenze

Illimitato

Elementi padre

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, elementi di output

Elementi figlio

(Nessun elemento figlio)

Note

Se il risultato della valutazione dell'espressione è un frammento di albero risultato, nell'albero risultato viene copiato il frammento completo. Se il risultato è un set di nodi, tutti i nodi nel set vengono copiati nell'albero risultato in base all'ordine con cui sono riportati nel documento. Se si copia un nodo dell'elemento, vengono copiati i nodi Attribute, i nodi dello spazio dei nomi, gli elementi figlio del nodo dell'elemento e lo stesso nodo dell'elemento. Un nodo radice viene copiato copiandone i relativi elementi figlio. Se il risultato non è né un set di nodi né un frammento di albero risultato, il risultato viene convertito in una stringa e inserito nell'albero risultato, come quando si utilizza <xsl:value-of>.

Esempio

Questo file XSLT di esempio viene eseguito in base al file XML di esempio per individuare un elemento <person> con gli elementi figlio <given-name> e <family-name>. Il paragrafo conterrà il primo elemento figlio <given-name> del nodo corrente, inclusi eventuali attributi ed elementi figlio, seguito da uno spazio e dal primo elemento figlio <family-name>, inclusi eventuali attributi ed elementi figlio, del nodo corrente.

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

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

Output

L'output formattato è il seguente:

Fred Freddy Smith

Robert Bob Smith

Di seguito è indicato l'output del processore. Le interruzioni di riga sono state aggiunte per chiarezza.

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

Vedere anche

Riferimenti

Elemento <xsl:value-of>