3 septembre 2005
1.
Normes communes
Résumé :
Certaines normes s'appliquent à tous les documents XML. |
Normes communes à tous les formats XML utilisés
encoding.001 | | | | L'encodage des documents XML édités manuellement sera ISO-8859-1. |
|
Les plateformes Windows-CP1252 peuvent être utilisées nativement pour éditer du ISO-8859-1, en se limitant aux caractères ISO-8859-1.
On fera des tests pour voir si on peut utiliser ISO-8859-15 dans de bonnes conditions.
encoding.002 | | | | La ligature « oe » est interdite |
|
Cette ligature, accessible en Windows-CP1252, n'est en effet pas disponible en ISO-8859-1, mais en ISO-8859-15.
chars.001 | | | | Les espaces insécables viennent sous la forme du caractère «   ». |
|
chars.002 | | | | En français, les accents sont autorisés et même recommandés. |
|
chars.003 | | | | En français, les guillemets chevrons « » sont autorisés et même recommandés. |
|
Et ce, au lieu des guillemets anglo-saxons,
voire les guillemets ASCII " ".
naming.001 | | | | Les noms des éléments et attributs sont en anglais. |
|
naming.002 | | | | Les noms des éléments et attributs sont en ASCII restreint : caractères alphanumériques, tirets « - », et points « . ». |
|
naming.002.1 | | | | Les traits soulignés « _ »
sont interdits dans les noms d'éléments et attributs. |
|
La raison ? C'est moche.
naming.003 | | | | Les noms en plusieurs mots peuvent utiliser l'alternance majuscules / minuscules, suivant le modèle <xxxYyyZzz> . |
|
naming.003.1 | | | | Le modèle <XxxYyyZzz>
(majuscule au début) est interdit pour les noms qui utilisent l'alternance majuscules / minuscules. |
|
naming.004 | | | | L'alternance majuscules/minuscules dans les noms est là pour agréger des mots dans une unité sémantique. |
|
Exemples : @shortDescription , @nomDeJeuneFille (oui, je sais, il faut mettre les noms en anglais !).
naming.005 | | | | Les séparations par un point « . »
sont là pour pointer des sous-propriétés. |
|
Exemple : @subchapter.filename , @subchapter.doc . Mais attention, si c'est un point de vue qui est appliqué (c'est-à-dire pouvant être appliqué à plusieurs parents différents), et non une sous-propriété, on utilisera un tiret « - »
à la place : @document-info , plutôt que @document.info , car on pourrait avoir @chapter-info , etc. De même pour le suffixe @-ref , qui peut s'appliquer à plein d'attributs, donc on utilise plutôt le tiret que le point. En tant que nom d'attribut ou d'élément, une alternative aux séparations par un point « . » est d'utiliser un sous-élément XML, avec des attributs (c'est une différence avec la séparation par un tiret). En revanche, en tant que nom de variable dans une feuille XSLT, le point « . » est souvent légitime.
naming.006 | | | | Les séparations par un trait médian « - » (tiret) sont là pour agréger des notions sémantiques. |
|
Exemple : « nomDeJeuneFille-majuscules »
(oui, je sais, il faut mettre les noms en anglais !).
naming.007 | | | | Les noms d'attributs suivent grosso modo les conventions de nommage Java : globalement en minuscules, avec alternance majuscules/minuscules pour séparer les mots. On peut rajouter des termes avec des points « . » ou des tirets « - ». |
|
naming.008 | | | | Les noms d'éléments sont, soit totalement en majuscules (utiliser « - »
s'il y a vraiment un besoin de séparer plusieurs mots), soit en minuscules avec les mêmes règles que les noms d'attributs. |
|
struct.001 | | | | On utilise un attribut plutôt qu'un élément lorsque la valeur à passer répond à tous les critères suivants : 1. est unique obligatoire ou unique optionnelle. 2. ne contiendra jamais de balises.
|
|
Par exemple, une description devra toujours être mise sous un élément si elle doit être affichée dans
un document (page HTML, document RTF...) afin de pouvoir accueillir du formatage. Mais une description qui a une destination technique connue (titre de fenêtre dans un navigateur, libellé de bouton...) devra plutôt être passée en attribut, justement pour limiter les risques de demandes de formatage.
Cas typiques d'utilisation d'un attribut plutôt que d'un élément : - attribut
@name . - attribut
@id . - attribut
@ref .
struct.002 | | | | Les documents XML doivent être rédigés en mode « standalone ». |
|
Le mieux est d'avoir « standalone="yes" » dans la déclaration « <?xml?> »). Cela signifie : pas d'utilisation des entités qui référencent d'autres documents : cela peut en effet être problématique en cas de déploiement serveur ou d'archive « .zip ». S'il y a un enrichissement à faire, ou de la consolidation, cela se fait au build time.
|