Manuel techniqu...login
Manuel technique XML
auteur:php.cn  temps de mise à jour:2022-04-14 15:57:53

Attributs XML



Les éléments XML ont des attributs similaires au HTML.

Les attributs fournissent des informations supplémentaires sur un élément.


Attributs XML

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

<img src="../style/images / Computer.gif">
<a href="demo.html">

Les attributs fournissent généralement des informations qui ne font pas partie des données. Dans l'exemple suivant, le type de fichier n'a rien à voir avec les données, mais est important pour le logiciel qui doit gérer cet élément :

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


Les attributs XML doivent être mis entre guillemets

Les valeurs d'attribut doivent être entourées de guillemets, mais des guillemets simples et doubles peuvent être utilisés . Par exemple, le sexe d'une personne, l'élément personne peut s'écrire comme ceci :

<person sex="female">

Ou cela peut aussi s'écrire :

<person sex='female'>

Si la valeur de l'attribut elle-même contient des guillemets doubles, vous pouvez utiliser des guillemets simples, comme dans cet exemple :

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

Ou vous pouvez utiliser des entités de personnage :

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


Élément XML vs attribut

Voir ces exemples :

<person sex= "femelle">
​ <prénom>Anna</prénom>
​ <nom>Smith</nom>
</personne>

<personne>
​ <sexe>femelle</sexe>
​ <prénom>Anna</prénom>
​ <nom>Smith</nom>
</personne>

En premier lieu, le sexe est une propriété. Dans le second cas, le sexe est un élément. Les deux instances fournissent les mêmes informations.

Aucune règle ne nous indique quand utiliser les attributs et quand utiliser les éléments. D'après mon expérience, en HTML, les attributs sont pratiques à utiliser, mais en XML, vous devriez essayer d'éviter d'utiliser des attributs. Si les informations ressemblent beaucoup à des données, utilisez des éléments.


Ma méthode préférée

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

L'attribut date est utilisé en premier lieu :

<note date="10/01/2008">
<à>Tove</à>
<de>Jani</de>
<heading>Rappel</heading>
<body>Ne m'oubliez pas ce week-end !</body>
</note>

L'élément date est utilisé dans le deuxième exemple :

<note>
<date>10/01/2008</date>
<à>Tove</à>
<de>Jani</de>
<heading>Rappel</heading>
<body>Ne m'oubliez pas ce week-end !</body>
</note>

L'élément de date étendue est utilisé dans le troisième exemple (ce sont mes favoris) :

<note>
<date>
​ <jour>10</jour>
​ <mois>01</mois>
​ <année>2008</année>
</date>
<à>Tove</à>
<de>Jani</de>
<heading>Rappel</heading>
<body>Ne m'oubliez pas ce week-end !</body>
</note>


Éviter les attributs XML ?

Quelques problèmes causés par l'utilisation des attributs :

  • Les attributs ne peuvent pas contenir plusieurs valeurs (les éléments peuvent)

  • Les attributs ne peuvent pas contenir des structures arborescentes (les éléments peuvent)

  • Les propriétés ne sont pas facilement extensibles (pour des modifications futures)

Les propriétés sont difficiles à lire et à maintenir. Veuillez essayer d'utiliser des éléments pour décrire les données. Au lieu de cela, utilisez simplement des attributs pour fournir des informations indépendantes des données.

Ne faites pas quelque chose de stupide comme ça (ce n'est pas ainsi que XML doit être utilisé) :

<note day="10" Month="01" Year=" 2008"
to="Tove" from="Jani" head="Reminder"
body="Ne m'oublie pas ce week-end!">
</note>


Attributs XML pour les métadonnées

Parfois, une référence ID est attribuée à un élément. Ces index ID peuvent être utilisés pour identifier des éléments XML de la même manière que l'attribut id en HTML. Cet exemple nous le démontre :

<messages>
​ <note id="501">
​​ <à>Tove</à>
​​ <de>Jani</de>
​​ <heading>Rappel</heading>
​​ <body>Ne m'oubliez pas ce week-end !</body>
​ </note>
​ <note id="502">
​​ <à>Jani</à>
​​ <de>Tove</de>
​​ <heading>Re : Rappel</heading>
​​ <body>Je ne le ferai pas</body>
​ </note>
</messages>

L'attribut id ci-dessus est simplement un identifiant, utilisé pour identifier différentes notes. Cela ne fait pas partie des données de la note.

L'idée que nous essayons de vous transmettre ici est que les métadonnées (données sur les données) doivent être stockées en tant qu'attributs et que les données elles-mêmes doivent être stockées en tant qu'éléments.


Site Web PHP chinois