Elemento <xsl:copy-of>
Inserisce nella struttura ad albero risultato sottostrutture ad albero e frammenti di struttura ad albero risultato.
<xsl:copy-of
select = Expression />
Attributi
- select
Obbligatorio. Espressioni XPath per identificare i nodi da copiare. Il sottoalbero di ogni nodo viene copiato completamente nella struttura ad albero dei risultati.
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) |
Osservazioni
Se il risultato della valutazione dell'espressione è un frammento di struttura ad albero risultato, nella struttura ad albero risultato viene copiato il frammento completo. Se il risultato è un set di nodi, tutti i nodi nel set vengono copiati nella struttura ad 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 struttura ad albero risultato, il risultato viene convertito in una stringa e inserito nella struttura ad 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)
File XSLT (family.xsl)
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>