2/6    DÉBUT        FIN          SOMMAIRE  INDEX  GLOSSAIRE

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.


  2/6    DÉBUT        FIN          SOMMAIRE  INDEX  GLOSSAIRE

Let iCab smile Any Browser Valid HTML 4.01 Valid CSS