tutoriais mais recente desenvolvimento web
 

XML Atributos


Os elementos XML podem ter atributos, como HTML.

Os atributos são concebidos para conter os dados relacionados a um elemento específico.


Atributos XML devem ser citados

Os valores dos atributos devem sempre ser citado. De qualquer aspas simples ou duplas podem ser usados.

Para o sexo de uma pessoa, o <person> elemento pode ser escrito assim:

<person gender="female">

ou assim:

<person gender='female'>

Se o próprio valor do atributo contém aspas você pode usar aspas simples, como neste exemplo:

<gangster name='George "Shotgun" Ziegler'>

ou você pode usar entidades de caracteres:

<gangster name="George &quot;Shotgun&quot; Ziegler">

Elementos XML versus Atributos

Dê uma olhada nestes exemplos:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

No primeiro exemplo, o género é um atributo. Na última, o sexo é um elemento. Ambos os exemplos fornecem a mesma informação.

Não há regras sobre quando usar atributos ou quando usar elementos em XML.


My Favorite Way

Os seguintes três documentos XML contêm exatamente a mesma informação:

Um atributo de data é utilizado no primeiro exemplo:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>

Um <date> elemento é utilizado no segundo exemplo:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Um expandiu <date> elemento é usado no terceiro exemplo: (THIS IS MY FAVORITE) :

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Evite atributos XML?

Algumas coisas a considerar quando se utiliza atributos são:

  • atributos não podem conter vários valores (elements can)
  • atributos não podem conter estruturas de árvore (elements can)
  • atributos não são facilmente expansível (for future changes)

Não acabar como este:

<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

XML Atributos para Metadados

Por vezes, as referências de identificação são atribuídos aos elementos. Estas identificações podem ser usados para identificar elementos XML em muito da mesma maneira como o id atributo em HTML. Este exemplo demonstra o seguinte:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

O id atributos acima são para identificar as diferentes notas. Ele não é uma parte da mesma nota.

O que estou tentando dizer aqui é que os metadados (data about data) devem ser armazenados como atributos, e os próprios dados devem ser armazenados como elementos.