Condividi tramite


Elemento <xsl:element>

Crea un elemento di output con il nome specificato.

<xsl:element
  name = "element-name"  
  namespace = "uri-reference"
  use-attribute-sets = QName
</xsl:element>

Attributi

  • name
    Obbligatorio. Nome dell'elemento da creare. Se il valore è un Nomi completi (XSLT), il nodo dell'elemento viene creato nello spazio dei nomi correntemente associato al prefisso, a meno che non venga sottoposto a override da un attributo namespace. Il valore dell'attributo name viene considerato come un modello del valore dell'attributo, ovvero le espressioni contenute in parentesi graffe vengono valutate e convertite in stringhe, come in <xsl:value-of>. Ciò consente di calcolare o di ottenere il nome dell'elemento dall'XML di origine.

  • namespace
    L'URI dello spazio dei nomi dell'elemento creato. Se l'attributo name contiene un nome completo, il prefisso specificato sarà associato allo spazio dei nomi specificato nell'attributo namespace. Ciò potrebbe richiedere ulteriori dichiarazioni di spazio dei nomi in caso di serializzazione. Il valore namespace è considerato come un modello del valore dell'attributo.

  • use-attribute-sets
    Un elenco di insiemi di attributi separati da spazi vuoti, specificato come un Nomi completi (XSLT). Se si specifica questo attributo, viene dichiarato ogni attributo in ogni set di attributi elencati.

Informazioni sull'elemento

Numero di occorrenze

Illimitato

Elementi padre

xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:template, xsl:variable, xsl:when, xsl:with-param, elementi di output

Elementi figlio

xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:for-each, xsl:if, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable, elementi di output

Note

L'elemento <xsl:element> consente di creare un elemento con un nome calcolato. Il nome dell'elemento da creare è specificato da un attributo name obbligatorio e da un attributo namespace facoltativo. Il contenuto dell'elemento <xsl:element> è un modello per gli attributi e gli elementi figlio dell'elemento creato.

Questo elemento fornisce un meccanismo per impedire la creazione di elementi, come lo stesso XSLT, in cui sono presenti incompatibilità di spazi dei nomi.

Esempio

L'elemento <xsl:element> è necessario poiché gli elementi XSLT non possono essere utilizzati come elementi di output. In questo esempio viene illustrato come generare l'output di un elemento <xsl:template>.

File XML (item.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="element.xsl" ?>
<root>
   <item>My Item</item>
</root>

File XSLT (element.xsl)

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:template match="item">
   <xsl:element name="xsl:template">
      <xsl:attribute name="match">cost</xsl:attribute>
      <xsl:attribute name="xml:space">preserve</xsl:attribute>
      <xsl:apply-templates/>
   </xsl:element>
</xsl:template>

</xsl:stylesheet>

Output

L'output formattato è il seguente:

My Item

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

<?xml version="1.0"?>
<xsl:template match="cost" 
      xml:space="preserve" 
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
My Item</xsl:template>