Compartilhar via


xsl:attribute Element

Windows Mobile SupportedWindows Embedded CE Supported

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

XSLT Elements

Concepts

Accessing and Outputting Attributes
Generating More Sophisticated XML Output
Qualified Names