Seção 4: Desenvolvedores

Q 4.4: O que devo usar no meu DTD / Schema, atributos ou elementos?

Veja http://xml.coverpages.org/elementsAndAttrs.html

Não há uma única resposta para isso: muito depende do que você está projetando para o tipo de documento.

A prática editorial tradicional para documentos de texto normais é colocar o texto "real" (o que seria impresso ou exibido para o usuário) como conteúdo de dados de caracteres em elementos e manter os metadados (as informações sobre o texto) em atributos, de onde eles podem ser mais facilmente isolados para análise ou tratamento especial, como exibição na margem ou em um mouseove:


<l n="184">
  <spara>Portia</spara>
  <text>The quality of mercy is not strain'd,</text>
  ...
</l>
    

Mas do ponto de vista dos sistemas, não há nada de errado em armazenar os dados da outra forma, especialmente onde o volume de dados de texto em cada ocasião é relativamente pequeno:


<line speaker="Portia" text="The quality of mercy is not strain'd,">184</line>
    

Muito dependerá do que você quer fazer com as informações e quais partes delas são mais fáceis de acessar por cada método. John Cowan tem alguns pontos de decisão excelentes em sua entrada no blog, Elementos ou Atributos .

Uma regra geral para documentos de texto convencionais é que, se a marcação fosse eliminada, o texto nulo ainda deveria ser correto, legível e utilizável, mesmo que não formatado e inconveniente. No entanto, para a saída do banco de dados ou outros documentos gerados por máquinas, como as transações de comércio eletrônico, a leitura humana pode não ser significativa, por isso é perfeitamente possível ter documentos onde todos os dados estão em atributos e o documento não contém dados de caracteres no conteúdo Modelos. Consulte http://xml.coverpages.org/elementsAndAttrs.html para obter mais informações.

Mike Kay escreve:

De um usuário: "[...] a maioria de vocês usa xml baseado em elemento ou baseado em atributo? porque? ’

Os iniciantes sempre fazem essa pergunta. Aqueles com pouca experiência expressam suas opiniões apaixonadamente. Os especialistas dizem que não há uma resposta correta. ( http://lists.xml.org/archives/xml-dev/200006/msg00293.html )