Latest web development tutorials

attribut XML

Les éléments XML peuvent avoir des attributs similaires à HTML.

Attribut (Attribut) fournit des informations supplémentaires sur l'élément.


attribut XML

En HTML, les attributs fournissent des informations supplémentaires sur l'élément:

<img src="computer.gif">
<a href="demo.html">

Propriétés ne sont pas fournissent des informations sur la partie données. Dans l'exemple suivant, le type de fichier n'a rien à voir avec les données, mais il faut gérer cet élément de logiciel est très important:

<file type="gif">computer.gif</file>


Les attributs XML doivent être indiqués

Les valeurs des attributs doivent être entourées par des guillemets, bien que des guillemets simples ou doubles peuvent être utilisés. Par exemple, le sexe d'une personne, élément personne peut être écrit:

<person sex="female">

Ou cela peut être:

<person sex='female'>

Si la valeur d'attribut lui-même contient des guillemets, vous pouvez utiliser des guillemets simples, comme cet exemple:

<gangster name='George "Shotgun" Ziegler'>

Ou vous pouvez utiliser des entités de caractères:

<gangster name="George &quot;Shotgun&quot; Ziegler">


éléments XML vs attributs

Considérez ces exemples:

<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

Dans le premier cas, le sexe est un attribut. Dans le second cas, le sexe est un élément. Les deux exemples donnent les mêmes informations.

Aucune règle ne peut nous dire quand utiliser les attributs, et quand utiliser des éléments. Mon expérience est en HTML, la propriété est très pratique à utiliser, mais en XML, vous devriez essayer d'éviter l'utilisation de la propriété. Si l'information se sent comme des données, utiliser des éléments de celui-ci.


Ma façon préférée

Les trois documents XML suivants contiennent exactement les mêmes informations:

Le premier exemple utilise les propriétés de date:

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

Le deuxième exemple utilise les éléments de date:

<note>
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Le troisième exemple utilise l'élément de date prolongée (qui 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>


Évitez attribut XML?

Certains des problèmes causés par l'utilisation de la propriété:

  • Les attributs ne peuvent pas contenir des valeurs multiples (éléments peuvent)
  • Les attributs ne peuvent pas contenir des structures d'arbres (éléments peuvent)
  • Les attributs ne sont pas facilement extensible (pour les changements futurs)

La propriété est difficile à lire et à maintenir. Essayez d'utiliser des éléments pour décrire les données. Mais seulement utiliser la propriété de fournir des données d'information indépendante.

Ne pas faire une telle chose stupide (Ceci est pas le XML doit être utilisé):

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


métadonnées XML pour la propriété

Parfois, les références d'identification sont assignés aux éléments. L'ID peut être utilisée pour identifier XML index de l'élément, la façon dont il fonctionne en HTML attribut id est le même. Cet exemple nous a montré cette situation:

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

Ce qui précède est juste un identificateur d'attribut id est utilisé pour identifier les différentes notes. Il ne fait pas partie des données de notes.

Ici, nous avons essayé de passer votre philosophie est: les métadonnées (données sur les données) doivent être stockés sous forme d'attributs, et que les données lui-même doit être stocké en tant qu'éléments.