xsl:attribute Element
9/8/2008
Cria um nó de atributo e anexa-lo para um elemento saída.
Syntax
<xsl:attribute
name = "attribute-name"
namespace = "uri-reference">
</xsl:attribute>
Atributos
- Nome
[exigido] Nome do atributo para criar. Se esse valor é um Nome qualificado, o nó de atributo é criado no espaço de nome atualmente ligado para o prefixo, a menos que caso contrário substituídos pela presença de um Espaço para nome atributo. O valor da Nome atributo é interpretado como um modelo valor atributo (expressões nas chaves são avaliadas e convertidas em seqüências de caracteres como em < xsl:value - de >). Isso permite que o nome do atributo a ser calculada ou obtido de origem XML.
- Espaço para nome
O espaço nome URI (Uniform Resource Identifier) (URI) do atributo criado. Se o atributo nome contém um Nome qualificado, o prefixo especificado haverá ligado ao espaço de nome especificado no atributo espaço de nome, possivelmente, resultando na adição de outras declarações espaço nome quando a serialização. Esse valor é interpretado como um modelo valor atributo.
Elemento informações
Número de ocorrências |
Ilimitado |
Elementos pai |
xsl:Copy, xsl:element, xsl: for-each, IF, xsl:otherwise, xsl:param, xsl: template, xsl:variable, xsl: when, xsl: com-param |
Elementos filho |
xsl:apply-modelos, Call-modelo, xsl:choose, xsl:Copy, xsl:copy - dos, xsl: for-each, IF, xsl:text, xsl:variable |
Remarks
O conteúdo de especificar este elemento de valor do atributo.
Atributos podem ser adicionados ou modificados durante transformação colocando o < xsl: attribute > elemento dentro de elementos que geram saída, such as o < xsl:copy > elemento. Observe que < xsl: attribute > Podem ser usados diretamente nos elementos saída e não somente em conjunto com < xsl:element >.
Todos os atributos devem ser aplicados antes filhos são adicionados ao elemento.
Example
Este exemplo gera um atributo que obtém seu valor a partir de código-fonte XML. Ele gera saída na forma < img src = " valor - de - XML - origem " / >
, usando um expressão XPath que recupera o apropriado dados a partir de código-fonte XML — aqui, "imagenames/imagename"
.
<IMG>
<xsl:attribute name="src">
<xsl:value-of select="imagenames/imagename" />
</xsl:attribute>
</IMG>
Este exemplo copia o "myElement
" elemento e adiciona um "Copiado
" atributo com o valor"True
".
<xsl:template match="myElement">
<xsl:copy>
<xsl:attribute name="copied">true</xsl:attribute>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
O seguinte amostras demonstrar como usar modelos valor atributo para usar de conteúdo no documento de código-fonte XML como o nome de um atributo.
Attribute.xml
<?xml version="1.0"?>
<investment>
<type>stock</type>
<name>Microsoft</name>
<price type="high">100</price>
<price type="low">94</price>
</investment>
Attribute.xsl
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="investment">
<xsl:element name="{type}">
<xsl:attribute name="name" ><xsl:value-of select="name"/></xsl:attribute>
<xsl:for-each select="price">
<xsl:attribute name="{@type}" ><xsl:value-of select="."/></xsl:attribute>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
XSLT Output (viewed with the XSLT viewer)
<?xml version="1.0" encoding="UTF-16"?>
<stock name="Microsoft" high="100" low="94">
</stock>
O seguinte exemplo mostra o uso de < xsl: attribute Name="{Name()} " / >
.
Attribute.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="Attribute.xsl"?>
<root>
<bar>bar1</bar>
<bar>bar2</bar>
<bar>bar3</bar>
<bar>bar4</bar>
<bar>bar5</bar>
</root>
Attribute.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="//bar">
<xsl:element name="sample">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Output ( Using the XSLT viewer )
<?xml version="1.0" encoding="UTF-16"?>
<sample bar="bar1" />
<sample bar="bar2" />
<sample bar="bar3" />
<sample bar="bar4" />
<sample bar="bar5" />
See Also
Reference
Concepts
Accessing and Outputting Attributes
Generating More Sophisticated XML Output
Qualified Names