XML: atributos ou filhos? [duplicado]
-
05-07-2019 - |
Pergunta
Esta questão já tem uma resposta aqui:
- atributo XML vs elemento XML 20 respostas
Em XSD, SOAP e outras convenções XML muitas vezes você vai ver coisas como:
<book>
<title>Harry Potter</title>
<author>J.K. Rowling</author>
</book>
Agora eu estou querendo saber o que aconteceu com atributos? Para mim, isso faz mais sentido para escrever isto como:
<book title="Harry Potter" author="J.K. Rowling" />
Mas, aparentemente, por alguma razão, as pessoas mais inteligentes do que me escolheu de outra forma. Alguém poderia explicar o porquê, e quais atributos são para então?
Solução
Algumas pessoas consideram a diferença uma questão de preferência pessoal. Existem algumas guidlines lá fora, você pode seguir.
Outras dicas
Não há nenhuma regra dura e rápida. I tendem a usar atributos para metadados sobre os dados contidos nos elementos. por exemplo
<book author="JK Rowling" published="September 2001">Harry Potter</book>
embora o uso / requisitos específicos irá determinar isso mais do que anyrhing mais.
Outra questão é o processamento posterior. Se você estiver usando um processador de SAX, em seguida, este formato irá resultar em um retorno de chamada método com a estrutura atteribute povoada. Colocar os dados em vários elementos irá resultar no número correspondente de chamadas de método (pode ser uma otimização muito longe, mas pode valer a pena considerar, dependendo da quantidade de dados)