XML Attributs
Les éléments XML peuvent avoir des attributs, comme le HTML.
Attributs fournissent des informations supplémentaires sur un élément.
Attributs XML
En HTML, les attributs fournissent des informations supplémentaires sur les éléments:
<img src="computer.gif">
<a href="demo.asp">
<a href="demo.asp">
Attributs fournissent souvent des informations qui n'est pas une partie des données. Dans l'exemple ci-dessous, le type de fichier n'est pas pertinente pour les données, mais peut être importante pour le logiciel qui veut manipuler l'élément:
<file type="gif">computer.gif</file>
Attributs XML doit être entre guillemets
Les valeurs des attributs doivent toujours être entre guillemets. Soit guillemets simples ou doubles peuvent être utilisés. Pour le sexe d'une personne, l'élément personne peut être écrit comme ceci:
<person sex="female">
ou comme ceci:
<person sex='female'>
Si la valeur de l'attribut lui-même contient des guillemets, vous pouvez utiliser des guillemets simples, comme dans cet exemple:
<gangster name='George "Shotgun" Ziegler'>
ou vous pouvez utiliser les entités de caractères:
<gangster name="George "Shotgun" Ziegler">
Éléments XML vs Attributes
Jetez un oeil à ces exemples:
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
Dans le premier exemple le sexe est un attribut. Dans le dernier, le sexe est un élément. Les deux exemples donnent la même information.
Il n'existe aucune règle quant au moment où d'utiliser des attributs, ou lorsque l'utilisation d'éléments. Les attributs sont à portée de main en HTML. Dans le langage XML, mon conseil est de les éviter. Utilisez des éléments à la place.
Ma façon préférée
Les trois documents suivants XML contiennent exactement la même information:
Un attribut de date est utilisé dans le premier exemple:
<note date="10/01/2008">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Un élément de date est utilisé dans le second exemple:
<note>
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Un élément de date expansé est utilisé dans la troisième: (c'est mon préféré):
<note>
<date>
<day>10</day>
<month>01</month>
<year>2008</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<date>
<day>10</day>
<month>01</month>
<year>2008</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Évitez les attributs XML?
Certains des problèmes avec l'aide d'attributs sont les suivants:
- attributs ne peuvent pas contenir des valeurs multiples (éléments peuvent)
- attributs ne peuvent pas contenir des structures d'arbres (éléments peuvent)
- attributs ne sont pas facilement extensible (pour les changements futurs)
Les attributs sont difficiles à lire et à maintenir. Utilisez des éléments de données. Utilisez des attributs pour obtenir des informations qui ne sont pas liés aux données.
Ne pas finir comme ça:
<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
Attributs XML pour les métadonnées
Parfois, les références d'identification sont attribués à des éléments. Ces identifiants peuvent être utilisés pour identifier les éléments XML dans une grande partie de la même manière que l'attribut id en HTML. Cet exemple montre ceci:
<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>
<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>
Les attributs id ci-dessus sont pour l'identification des différentes notes. Il n'est pas une partie de la note.
Ce que j'essaie de dire ici est que les métadonnées (données sur les données) doivent être stockés sous forme d'attributs, et les données elles-mêmes doivent être stockés en tant qu'éléments.
0 commentaires:
Post a Comment
HELLO VISITORS THANKS FOR YOUR VISIT AND COMMENT