Tutorial de XML

XML INÍCIO Introdução ao XML XML Como usar Árvore XML Sintaxe XML Elementos XML Atributos XML Namespaces XML Exibição XML XML HttpRequest Analisador de XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Validador de XML XML DTD Esquema XML Servidor XML Exemplos XML Teste de XML Certificado XML

XML AJAX

Introdução AJAX AJAX XML Http Solicitação AJAX Resposta AJAX Arquivo XML AJAX PHP AJAX ASP AJAX Banco de dados AJAX Aplicativos AJAX Exemplos AJAX

XML DOM

Introdução ao DOM Nós DOM Acesso ao DOM Informações do nó DOM Lista de nós DOM Travessia do DOM Navegação DOM Valores de obtenção do DOM Nós de alteração do DOM Remoção de nós do DOM Substituir nós DOM DOM Criar nós DOM Adicionar nós Nós clones DOM Exemplos de DOM

Tutorial XPath

Introdução ao XPath Nós XPath Sintaxe XPath Eixos XPath Operadores XPath Exemplos de XPath

Tutorial XSLT

Introdução ao XSLT Idiomas XSL Transformação XSLT XSLT <modelo> XSLT <valor-de> XSLT <para-cada> XSLT <classificar> XSLT <if> XSLT <escolha> Aplicar XSLT XSLT no cliente XSLT no servidor XSLT Editar XML Exemplos de XSLT

Tutorial XQuery

Introdução ao XQuery Exemplo de XQuery XQuery FLWOR XQuery HTML Termos de XQuery Sintaxe XQuery Adicionar XQuery Seleção de XQuery Funções XQuery

XML DTD

Introdução DTD Blocos de construção de DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Exemplos de DTD

Esquema XSD

Introdução ao XSD XSD Como fazer XSD <esquema> Elementos XSD Atributos XSD Restrições XSD

Complexo XSD

Elementos XSD XSD vazio Apenas elementos XSD Somente texto XSD XSD Misto Indicadores XSD XSD <qualquer> XSD <qualquer atributo> Substituição XSD Exemplo de XSD

Dados XSD

Cadeia XSD Data XSD XSD Numérico XSD Misc Referência XSD

Serviços da Web

Serviços XML XML WSDL XML SOAP XML RDF XML RSS

Referências

Tipos de nós DOM Nó DOM Lista de nós DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentário DOM DOM XMLHttpRequest Analisador de DOM Elementos XSLT Funções XSLT/XPath

Atributos XML


Elementos XML podem ter atributos, assim como HTML.

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


Atributos XML devem ser citados

Os valores dos atributos devem sempre ser citados. Podem ser usadas aspas simples ou duplas.

Para o gênero de uma pessoa, o elemento <person> pode ser escrito assim:

<person gender="female">

ou assim:

<person gender='female'>

Se o próprio valor do atributo contiver aspas duplas, você poderá 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 vs. Atributos

Dê uma olhada nesses dois 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. No último exemplo, o gênero é um elemento. Ambos os exemplos fornecem as mesmas informações.

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



Meu jeito favorito

Os três documentos XML a seguir contêm exatamente as mesmas informações:

Um atributo de data é usado no primeiro exemplo:

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

Um elemento <date> é usado no segundo exemplo:

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

Um elemento <date> expandido é 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>

Evitar atributos XML?

Algumas coisas a serem consideradas ao usar atributos são:

  • os atributos não podem conter vários valores (os elementos podem)
  • atributos não podem conter estruturas de árvore (elementos podem)
  • atributos não são facilmente expansíveis (para alterações futuras)

Não termine assim:

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

Atributos XML para Metadados

Às vezes, as referências de ID são atribuídas a elementos. Esses IDs podem ser usados ​​para identificar elementos XML da mesma forma que o atributo id em HTML. Este exemplo demonstra isso:

<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>

Os atributos id acima são para identificar as diferentes notas. Não faz parte da nota em si.

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