|
Traducteur : Sylvain Bilodeau - sylvain_bilodeau@hotmail.com Révisée par : J.J. Solari La version française peut contenir des erreurs. La version anglaise de ce document est l'unique version normative. Version originale anglaise : http://www.w3.org/TR/2001/REC-xml-infoset-20011024 Note sur la traduction : Certaines expressions traduites, en particulier les propriétés des éléments d'information, sont accompagnées de leur version originale en anglais pour faciliter la compréhension de concepts plus difficiles à rendre en français. La syntaxe utilisée dans de tels cas est la suivante : expression française [expression anglaise]. |
Copyright ©1999, 2000, 2001 W3C® (MIT, INRIA, Keio), tous droits réservés. Les règles du W3C sur la responsabilité, les noms de marque, l'usage des documents et la licence des logiciels s'appliquent.
Cette spécification fournit un ensemble de définitions pour un usage dans d'autres spécifications qui ont besoin de faire appel aux informations contenues dans un document XML.
Cette section décrit le statut de ce document au moment de sa publication. D'autres documents peuvent remplacer ce document. Le dernier état de cette série de documents est conservé au W3C.
C'est la recommandation du W3C de l'ensemble d'information XML [XML Information Set].
Ce document a été passé en revue par des membres du W3C ainsi que d'autres parties intéressées et approuvé par le directeur comme recommandation du W3C. C'est un document stable qui peut être utilisé comme documentation de référence ou être cité comme référence normative d'un autre document. Le rôle du W3C en faisant cette recommandation est d'attirer l'attention sur la spécification et de favoriser son déploiement. Ceci met en valeur la fonctionnalité et l'interopérabilité du Web.
Ce document a été produit par le groupe de travail XML principal du W3C en tant qu'élément de l'activité XML dans le domaine de l'architecture du W3C. Pour une vue d'ensemble sur ce travail, veuillez consulter le rapport sur l'activité XML.
Des brevets associés à l'ensemble d'information XML ont été divulgués ; on peut les consulter sur la page d'annonce du brevet de l'ensemble d'informations XML conformément à la politique du W3C.
Veuillez signaler les erreurs dans ce document à l'adresse www-xml-infoset-comments@w3.org - (archives publiques). La liste des erreurs connues dans cette spécification est disponible à http://www.w3.org/2001/10/02/xml-infoset-errata.html.
La version anglaise de cette spécification est la seule version normative. Les informations sur des traductions de ce document sont disponibles à http://www.w3.org/XML/#trans.
Une liste des recommandations et des autres documents techniques courants du W3C peut être trouvée à http://www.w3.org/TR.
Cette spécification définit un jeu de données abstrait appelé ensemble d'information XML (Infoset). Son but est de fournir un ensemble cohérent de définitions à employer avec d'autres spécifications qui ont besoin de se référer à l'information contenue dans un document XML [XML] bien-formé.
Elle ne tend pas à l'exhaustivité ; le premier critère pour l'inclusion d'un item ou propriété d'information ou d'une propriété a été celui d'une utilité prévisible dans de futures spécifications. Elle ne constitue pas non plus un jeu d'informations minimum devant être retourné par un processeur XML.
Un document XML possède un ensemble d'information s'il est bien-formé et s'il satisfait aux contraintes des espaces de nommage décrites ci-dessous. Un document XML n'est pas obligé d'être valide pour avoir un ensemble d'information.
Les ensembles d'information peuvent être créés par des méthodes (non décrites dans cette spécification) autres que l'analyse d'un document XML. Voir la section Les ensembles d'information synthétiques ci-dessous.
L'ensemble d'information d'un document XML se compose d'un certain nombre d'items d'information ; pour n'importe quel document XML bien-formé, l'ensemble d'information contiendra au moins un item d'information de document et plusieurs autres items d'information. Un item d'information est une description abstraite d'une certaine partie d'un document XML : chaque item d'information dispose d'un ensemble de propriétés nommées associé. Dans cette spécification, les noms des propriétés apparaissent entre crochets [comme ceci]. Les types des items d'information sont énumérés dans la section 2.
L'ensemble d'information XML n'exige pas ou ne favorise pas une interface ou une classe d'interfaces spécifiques. Cette spécification présente l'ensemble d'information comme un arbre modifié par souci de clarté et de simplicité, mais il n'est pas obligatoire que l'ensemble d'information XML soit rendu disponible via une structure arborescente ; d'autres types d'interfaces, y compris (mais non limité à) les interfaces basées sur les événements et les requêtes, sont également capables de fournir des informations conformément à l'ensemble d'information XML.
Les termes « ensemble d'information » et « item d'information » revêtent une signification similaire aux termes génériques « arbre » et « nœud », tels qu'ils sont employés en informatique. Cependant, les premiers sont employés dans cette spécification pour réduire la confusion possible avec d'autres modèles de données spécifiques. Les items d'information ne correspondent pas un à un avec les nœuds du DOM ou l'« arbre » et les « nœuds » du modèle de données XPath.
Dans cette spécification, les mots « doit », « devrait » et « peut » assument les significations spécifiées dans [RFC2119], sauf que les mots n'apparaissent pas en majuscule.
Les documents XML 1.0 non conformes avec [Les espaces de nommage], même s'ils sont techniquement bien formés, ne sont pas considérés comme possédant un ensemble d'information signicatif, c'est-à-dire que cette spécification ne définit pas d'ensemble d'information pour les documents qui ont des noms d'élément ou d'attribut contenant des caractères deux-points utilisés d'une autre façon que celle prescrite dans [Les espaces de nommage].
En outre, cette spécification ne définit pas d'ensemble d'information pour les documents qui emploient des références d'URI relatives dans les déclarations des espaces de nommage. Ceci conformément à la décision du groupe d'intérêt plénier XML du W3C, décrite dans [Les références d'URI d'espace de nommage relatifs].
La valeur d'une propriété [espace de nommage] est la valeur normalisée de l'attribut d'espace de nommage correspondant ; aucun masquage d'URI supplémentaire ne lui est appliqué par le processeur.
Un ensemble d'information décrit son document XML avec des références d'entité qui sont déjà développées, c.-à-d., qui sont représentées par les items d'information correspondant à leur texte de remplacement. Cependant, il y a diverses circonstances dans lesquelles un processeur peut ne pas exécuter cette expansion. Une entité peut ne pas être déclarée, ou peut ne pas être recouvrable. Un processeur non-validateur peut choisir de ne pas lire toutes les déclarations et, même si c'était le cas, peut ne pas développer toutes les entités externes. Dans ces cas, un item d'information d'appel d'entité sans remplacement est utilisé pour représenter l'appel d'entité.
Les valeurs de toutes les propriétés de l'ensemble d'information tiennent compte de la normalisation des fins de ligne décrite dans [XML], 2.11 « Le traitement des fins de ligne ».
Plusieurs items d'information ont une propriété [URI de base] [base URI] ou [URI de base de déclaration] [declaration base URI]. Ceux-ci sont calculés selon [XML Base]. Notez que la recherche d'une ressource peut induire une redirection au niveau du programme d'analyse syntaxique (par exemple, dans un programme de résolution d'entité) ou à un niveau inférieur ; auquel cas, l'URI de base est l'URI final qui est utilisé pour rechercher la ressource après toute redirection.
La valeur de ces propriétés ne reflète pas un éventuel masquage d'URI qui pourrait être requis pour ramener la ressource, mais elle peut inclure des caractères masqués si ceux-ci ont été spécifiés dans le document, ou retournés par un serveur dans le cas d'une redirection.
Dans certains cas (comme un document lu depuis une chaîne de caractères ou un opérateur de transfert de données [pipe]) les règles dans [XML Base] peuvent entraîner que l'URI de base dépende de l'application. Dans ces cas, cette spécification ne définit pas la valeur de la propriété [URI de base] ou [URI de base de déclaration].
Lors de la résolution d'URI relatifs, la propriété [URI de base] [base URI] devrait être utilisée de préférence aux valeurs des attributs xml:base ; celles-ci peuvent être incohérentes dans le cas d'ensembles d'information synthétiques.
Certaines propriétés peuvent parfois être sans valeur ou encore avoir une valeur inconnue, et on dit respectivement que la propriété n'a pas de valeur ou que la valeur de celle-ci est inconnue. Ces valeurs se distinguent l'une de l'autre et de toutes autres valeurs. Elles sont en particulier distinctes de la chaîne vide, de l'ensemble vide et de la liste vide, chacun de ceux-ci n'ayant simplement pas de membres. Cette spécification n'emploie pas le terme null puisque, dans certaine communautés, celui-ci a des connotations particulières qui peuvent ne pas correspondre avec celles voulues ici.
Cette spécification décrit l'ensemble d'information résultant de l'analyse d'un document XML. Les ensembles d'information peuvent être construits en utilisant d'autres moyens, par exemple, au moyen d'une interface de programmation comme le DOM ou en transformant un ensemble d'information déjà existant.
L'ensemble d'information correspondant à un document réel sera nécessairement cohérent de diverses façons ; par exemple, la propriété [espaces de nommage dans la portée] [in-scope namespaces] d'un élément sera liée aux propriétés [attributs d'espace de nommage] [namespace attributes] de l'élément et de ses ancêtres. Ceci peut ne pas être vrai d'un ensemble d'information construit par d'autres moyens ; dans un tel cas, il n'y aura pas de document XML correspondant à l'ensemble d'information et le convertir en série exigera la résolution des incohérences (par exemple, en extrayant les déclarations des espaces de nommage qui correspondent aux espaces de nommage dans la portée).
Un ensemble d'information peut contenir jusqu'à onze types d'item d'information différents, tel qu'expliqué dans la section suivante. Chaque item d'information possède des propriétés. Pour faciliter la consultation, un nom est donné à chaque propriété, qui est indiqué [ainsi]. Des liens vers une définition et/ou une syntaxe dans la recommandation XML 1.0 [XML] sont donnés pour chaque item d'information.
Définition XML : document (Section 2, Les documents)
Syntaxe XML : [1] Document (Section 2.1, Les documents XML bien-formés)
Il y a exactement un item d'information de document dans l'ensemble d'information et tous les autres items d'information sont accessibles à partir des propriétés de l'item d'information de document, soit directement, soit indirectement via les propriétés d'autres items d'information.
L'item d'information de document a les propriétés suivantes :
Définition XML : element (Section 3, Les structures logiques)
Syntaxe XML : [39] Element (Section 3, Les structures logiques)
Il y a un item d'information d'élément pour chaque élément apparaissant dans le document XML. Un des items d'information d'élément est la valeur de la propriété [élément document] de l'item d'information de document qui correspond à la racine de l'arbre des éléments et tous les autres items d'information d'élément sont accessibles en parcourant récursivement sa propriété [enfants].
Un item d'information d'élément a les propriétés suivantes :
xmlns="", qui supplante la déclaration de l'espace de nommage par défaut,
compte pour une déclaration d'espace de nommage. Par définition, tous les attributs
d'espace de nommage (y comprix ceux xmlns nommés, dont la propriété [préfixe] n'a aucune valeur)
ont l'URI d'espace de nommage http://www.w3.org/2000/xmlns/.
Si l'élément n'a pas de déclaration d'espace de nommage, cet ensemble n'a pas de membres.
xml
qui est implicitement lié au nom de l'espace de nommage http://www.w3.org/XML/1998/namespace.
Il ne contient pas d'item avec le préfixe xmlns
(utilisé pour déclarer les espaces de nommage),
puisqu'une application ne peut jamais rencontrer un élément ou
un attribut avec ce préfixe. L'ensemble inclura les items d'espace de nommage correspondant
à tous les membres de la propriété [attributs d'espace de nommage],
excepté pour tous ceux représentant une
déclaration de la forme xmlns="", qui ne
déclarent pas d'espace de nommage mais plutôt défont la déclaration d'espace de nommage par défaut.
Lors de la résolution des préfixes des noms qualifiés,
cette propriété devrait être employée de préférence à la propriété [attributs d'espace de nommage] ;
ceux-ci peuvent être incohérents dans le cas d'ensembles d'information synthétiques.
Définition XML : attribute (Section 3.1, Les balises ouvrantes, les balises fermantes et les balises des éléments vides)
Syntaxe XML : [41] Attribute (Section 3.1, Les balises ouvrantes, les balises fermantes et les balises des éléments vides)
Il y a un item d'information d'attribut pour chaque attribut (spécifié ou avec une valeur par défaut) de chaque élément dans le document, y compris ceux qui sont des déclarations d'espace de nommage. Ces derniers apparaissent cependant comme membres de la propriété [attributs d'espace de nommage] d'un élément plutôt que de sa propriété [attributs].
Les attributs déclarés sans valeur par défaut dans le DTD et non spécifiés dans la balise ouvrante de l'élément ne sont pas représentés par des items d'information d'attribut.
Un item d'information d'attribut a les propriétés suivantes :
Définition XML : processing instruction (Section 2.6, Les instructions de traitement)
Syntaxe XML : [16] PI (Section 2.6, Les instructions de traitement)
Il y a un item d'information d'instruction de traitement pour chaque instruction de traitement dans le document. La déclaration XML et les déclarations textuelles des entités analysables externes ne sont pas considérées comme des instructions de traitement.
Un item d'information d'instruction de traitement a les propriétés suivantes :
xml:base sur les éléments.
Définition XML : Section 4.4.3, Included If Validating
Un item d'information d'appel d'entité sans remplacement sert de paramètre fictif selon lequel un processeur XML peut indiquer qu'il n'a pas remplacé une entité externe analysée. Il existe un tel item d'information pour chaque appel sans remplacement à une entité générale externe dans le contenu d'un élément. Un processeur XML validateur, ou un processeur non-validateur qui lit toutes les entités externes, ne générera jamais d'items d'information d'appel d'entité sans remplacement pour un document valide.
Un item d'information d'appel d'entité sans remplacement a les propriétés suivantes :
Syntaxe XML : [2] Char (Section 2.2, Les caractères)
Il y a un item d'information de caractère pour chaque donnée textuelle apparaissant dans le document, que ce soit littéralement, comme un appel de caractère, ou que ce soit dans une section CDATA.
Chaque caractère est un item d'information logiquement séparé, mais les applications XML sont libres d'effectuer un découpage des caractères en groupes plus larges si nécessaire ou désiré.
Un item d'information de caractère a les propriétés suivantes :
Définition XML : comment (Section 2.5, Les commentaires)
Syntaxe XML : [15] Comment (Section 2.5, Les commentaires)
Il y a un item d'information de commentaire pour chaque commentaire XML dans le document d'origine, à l'exception de ceux apparaissant dans le DTD (qui ne sont pas représentés).
Un item d'information de commentaire a les propriétés suivantes :
Définition XML : document type declaration (section 2.8, Prologue et déclaration de type de document)
Syntaxe XML : [28] doctypedecl (section 2.8, Prologue et déclaration de type de document)
Si le document XML a une déclaration de type de document, alors l'ensemble d'information contient un seul item d'information de déclaration de type de document. Notez que les entités et les notations sont fournies comme propriétés de l'item d'information de document et non de l'item d'information de déclaration de type de document.
Un item d'information de déclaration de type de document a les propriétés suivantes :
Définition XML : entity (section 4, Les structures physiques)
Syntaxe XML : [71] GEDecl (section 4.2, Les entités)
Il y a un item d'information d'entité non-analysée pour chaque entité générale non-analysée déclarée dans le DTD.
Un item d'information d'entité non-analysée a les propriétés suivantes :
Définition XML : notation (section 4.7, Les notations)
Syntaxe XML : [82] NotationDecl (section 4.7, Les notations)
Il y a un item d'information de notation pour chaque notation déclarée dans le DTD.
Un item d'information de notation a les propriétés suivantes :
Tout élément dans le document a un item d'information d'espace de nommage pour chaque espace de nommage qui est dans la portée de cet élément.
Un item d'information d'espace de nommage a les propriétés suivantes :
xmlns:.
Si le nom de l'attribut est simplement xmlns, il s'agit alors de la déclaration d'espace de nommage
par défaut, cette propriété n'a aucune valeur.
Puisque le but de l'ensemble d'information est de fournir un ensemble de définitions, la conformité est une propriété des spécifications qui emploient ces définitions, plutôt qu'une propriété des implémentations.
Les spécifications se rapportant à l'ensemble d'information doivent :
Si une spécification autorise la construction d'un ensemble d'information qui comporte des incohérences comme décrit précédemment dans la section Les ensembles d'information synthétiques, elle peut décrire comment ces incohérences doivent être résolues, et elle devrait le faire si elle se propose de sérier l'ensemble d'information.
http://www.w3.org/TR/REC-xml-names/.http://www.ietf.org/rfc/rfc2119.txt.http://www.w3.org/TR/REC-xml.
http://www.w3.org/TR/xmlbase.
http://www.w3.org/TR/REC-DOM-Level-1/.http://www.w3.org/TR/NOTE-xptr-infoset-liaison.http://www.w3.org/2000/09/xppa.
http://www.w3.org/TR/xml-infoset-rdfs.
Bien que la recommendantion XML 1.0 [XML] soit principalement concernée par la syntaxe XML, elle inclut aussi des obligations de signalisation pour les processeurs XML.
Les obligations de signalisations comprennent les erreurs, qui ne sont pas traitées par cette spécification, et l'information sur le document. Toutes les exigences de XML 1.0 pour signaler une information sur le document ont été intégrées dans l'ensemble d'information XML ; les nombres entre parenthèses se rapportent aux sections concernées de la recommandation XML :
Considérez l'exemple de document XML suivant :
<?xml version="1.0"?>
<msg:message doc:date="19990421"
xmlns:doc="http://doc.example.org/namespaces/doc"
xmlns:msg="http://message.example.org/"
>Phone home!</msg:message>
L'ensemble d'information pour ce document XML contient les items d'information suivant :
http://message.example.org/, partie locale « message »
et préfixe « msg » ;http://doc.example.org/namespaces/doc,
partie locale « date », préfixe « doc », et valeur
normalisée « 19990421 » ;http://www.w3.org/XML/1998/namespace, http://doc.example.org/namespaces/doc et http://message.example.org/ ;L'information suivante n'est pas représentée dans la version courante de l'ensemble d'information XML (cette liste n'est pas sensée être exhaustive) :
<foo/> et <foo></foo> ;Voir le schéma RDF pour l'ensemble d'information XML pour une caractérisation formelle de l'ensemble d'information XML.