weinig tot niks..
Het ziet er anders uit, maar natuurlijk doe je ook iets anders. Zowiezo zou ik het liever zo zien:
Of zo (beetje afhankelijk van wat je id voorstelt):
[edit]
Over het algemeen liever geen attributes gebruiken, behalve voor interne identifiers.
code:
1
2
3
4
5
| <documents>
<document id="1">
<content>blabla</content>
</document>
</documents> |
Of zo (beetje afhankelijk van wat je id voorstelt):
code:
1
2
3
4
5
6
| <documents>
<document>
<id>1</id>
<content>blabla</content>
</document>
</documents> |
[edit]
Over het algemeen liever geen attributes gebruiken, behalve voor interne identifiers.
Verwijderd
Het enige verschil is dat het id in het eerste voorbeeld een attribute is, terwijl dit in het tweede voorbeeld een element is. Een klein detail wat niet veel uitmaakt, maar wat je wel anders moet benaderen met inlezen etc.
Over het algemeen kan je metadata (data over de data) als attributen nemen en gewone data als elementen. Maar er zijn ook wat nadelen verbonden met attributen dus probeer zoveel mogelijk in elementen te doen (tenminste, dat doe ik, ben ook nog maar lerende
)
Verwijderd
Die nadelen zijn natuurlijk maar relatief. Inderdaad gebruik je metadata over het algemeen als attributes. En omdat dit iets moeilijker te gebruiken is (lees: je hebt er andere code voor nodig), zou het een nadeel zijn. Het ligt er helemaal aan waarvoor je het gebruikt en wat je met de (meta-) data gaat doen...Op zaterdag 27 oktober 2001 15:06 schreef Orphix het volgende:
Over het algemeen kan je metadata (data over de data) als attributen nemen en gewone data als elementen. Maar er zijn ook wat nadelen verbonden met attributen dus probeer zoveel mogelijk in elementen te doen (tenminste, dat doe ik, ben ook nog maar lerende)
Toch maakt het eigenlijk niks uit hoe je het doet, want het resultaat is uiteindelijk hetzelfde. Het enige is dat je attributes niet met een xsl op je webpagina kan laten zien (daarvoor heet het ook metadata). Maar als je het enkel gebruikt voor data-uitwisseling (hier was XML oorspronkelijk voor bedoeld) ipv het tonen van gegevens op een website, dan maakt het niet uit.
<xsl:value-of select="@id" />Op Saturday 27 October 2001 16:08 schreef typhon het volgende:
Het enige is dat je attributes niet met een xsl op je webpagina kan laten zien (daarvoor heet het ook metadata).
Attributen versus elementen is inderdaad altijd een moeilijke kwestie. Bij jouw vraag speelt echter ook nog een ander punt.
Allereerst over attributen: het is inderdaad een vrij breed geaccepteerde regel dat je attributen alleen zou moeten gebruiken voor systeem identifiers, referenties en dergelijke zaken. Over het algemeen vind ik het ook wel fraai om identifiers dan ook altijd attributen te maken. De ondersteuning van zowel attributen als elementen is in feite dubbelop. Semi-structured data (waar XML vandaan komt) heeft in feite helemaal geen notie die een onderscheid maakt tussen attributen en elememten.
Het tweede punt is mixed content. Zoals je vast weet heb je grofweg twee typen XML: data-georienteerd en document-georienteerd. In document georieteerde XML files heb je heel vaak mixed content: een element bevat dan zowel tekst als sub-elementen. Over het algemeen wil je dat echter vermijden in data georienteerde XML. De notie van mixed content is dan vaak erg onduidelijk. Het is daarom beter om bij data georienteerde XML geen mixed-content te gebruiken, en dus alleen tekst in de 'bladeren' toe te staan.
Allereerst over attributen: het is inderdaad een vrij breed geaccepteerde regel dat je attributen alleen zou moeten gebruiken voor systeem identifiers, referenties en dergelijke zaken. Over het algemeen vind ik het ook wel fraai om identifiers dan ook altijd attributen te maken. De ondersteuning van zowel attributen als elementen is in feite dubbelop. Semi-structured data (waar XML vandaan komt) heeft in feite helemaal geen notie die een onderscheid maakt tussen attributen en elememten.
Het tweede punt is mixed content. Zoals je vast weet heb je grofweg twee typen XML: data-georienteerd en document-georienteerd. In document georieteerde XML files heb je heel vaak mixed content: een element bevat dan zowel tekst als sub-elementen. Over het algemeen wil je dat echter vermijden in data georienteerde XML. De notie van mixed content is dan vaak erg onduidelijk. Het is daarom beter om bij data georienteerde XML geen mixed-content te gebruiken, en dus alleen tekst in de 'bladeren' toe te staan.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Pagina: 1