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



w3c

L'ensemble d'information XML

Recommandation du W3C du 24 octobre 2001

Cette version :
http://www.w3.org/TR/2001/REC-xml-infoset-20011024
Dernière version :
http://www.w3.org/TR/xml-infoset
Version précédente :
http://www.w3.org/TR/2001/PR-xml-infoset-20010810
Rédacteurs :
John Cowan, jcowan@reutershealth.com
Richard Tobin, richard@cogsci.ed.ac.uk

Résumé

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.

Statut de ce document

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.

Contenu

1. Introduction

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 espaces de nommage

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.

Les entités

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

Le traitement des fins de ligne

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

Les URI de base

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.

« Valeur inconnue » ou « sans valeur »

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.

Les ensembles d'information synthétiques

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

2. Les items d'information

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.

2.1. L'item d'information de document

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 :

  1. [enfants] [children] Une liste ordonnée d'items d'information enfants, dans l'ordre du document. La liste contient exactement un item d'information d'élément. La liste contient également un item d'information d'instruction de traitement pour chaque instruction de traitement externe à l'élément document et un item d'information de commentaire pour chaque commentaire externe à l'élément document. Les instructions de traitement et les commentaires dans le DTD sont exclus. S'il y a une déclaration de type de document, la liste contient également un item d'information de déclaration de type de document.
  2. [élément document] [document element] L'item d'information d'élément correspondant à l'élément document.
  3. [notations] [notations] Un ensemble non ordonné d'items d'information de notation, un pour chaque notation déclarée dans le DTD.
  4. [entités non-analysées] [unparsed entities] Un ensemble non-ordonné d'items d'information d'entité non-analysée, un pour chaque entité non-analysée déclarée dans le DTD.
  5. [URI de base] [base URI] L'URI de base de l'entité document.
  6. [système de codage des caractères] [character encoding scheme] Le nom du système de codage des caractères dans lequel l'entité document est exprimée.
  7. [autonome] [standalone] Une indication sur le statut autonome du document, qu'il le soit ou non. Cette propriété est dérivée de la déclaration de document autonome facultative, dans la déclaration XML au début de l'entité document, et n'a aucune valeur si la déclaration de document autonome est absente.
  8. [version] [version] Une chaîne de caractères qui représente la version XML du document. Cette propriété est dérivée de la déclaration XML présente en option au début de l'entité de document et n'a aucune valeur si la déclaration XML est absente.
  9. [toutes les déclarations traitées] [all declarations processed] Cette propriété n'est pas à proprement parler une partie de l'ensemble d'information du document. C'est plutôt une indication de la lecture ou non du DTD complet par le processeur. C'est une valeur booléenne. Si elle est fausse, alors certaines propriétés (indiquées dans leurs descriptions ci-dessous) peuvent être inconnues. Si elle est vrai, ces propriétés ne sont jamais inconnues.

2.2. Les items d'information des éléments

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 :

  1. [nom d'espace de nommage] [namespace name] Le nom de l'espace de nommage, le cas échéant, du type d'élément. Si l'élément n'appartient pas à un espace de nommage, cette propriété n'a aucune valeur.
  2. [nom local] [local name] La partie locale du nom du type d'élément. Ceci n'inclut pas le préfixe d'espace de nommage ni le caractère deux-points qui suit.
  3. [préfixe] [prefix] La partie préfixe de l'espace de nommage du nom du type d'élément. Si le nom est sans préfixe, cette propriété n'a aucune valeur. Remarquez que les applications reconnaissants les espaces de nommage devraient employer le nom de l'espace de nommage plutôt que le préfixe pour identifier les éléments.
  4. [enfants] [children] Une liste ordonnée d'items d'information enfants, dans l'ordre du document. Cette liste contient des items d'information d'élément, d'instruction de traitement, d'appel d'entité sans remplacement, de caractère et de commentaire, un pour chaque élément, chaque instruction de traitement, chaque appel vers une entité externe non-analysée, chaques données textuelles et chaque commentaire apparaissant immédiatement dans l'élément courant. Si l'élément est vide, cette liste n'a aucun membre.
  5. [attributs] [attributes] Un ensemble non ordonné d'items d'information d'attribut, un pour chacun des attributs (spécifiés ou avec une valeur par défaut issue du DTD) de cet élément. Les déclarations des espaces de nommage n'apparaissent pas dans cet ensemble. Si l'élément n'a pas d'attributs, cet ensemble n'a pas de membres.
  6. [attributs d'espace de nommage] [namespace attributes] Un ensemble non ordonné d'items d'information d'attribut, un pour chacune des déclarations d'espace de nommage (spécifiés ou avec une valeur par défaut issue du DTD) de cet élément. Une déclaration de la forme 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.
  7. [espaces de nommage dans la portée] [in-scope namespaces] Un ensemble non ordonné d'items d'information d'espace de nommage, un pour chacun des espaces de nommages agissant sur cet élément. Cet ensemble contient toujours un item avec le préfixe 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.
  8. [URI de base] [base URI] L'URI de base de l'élément.
  9. [parent] [parent] Le document ou l'item d'information qui contient cet item d'information dans sa propriété [enfants].

2.3. Les items d'information d'attribut

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 :

  1. [nom d'espace de nommage] [namespace name] Le nom de l'espace de nommage, le cas échéant, de l'attribut. Autrement, cette propriété n'a aucune valeur.
  2. [nom local] [local name] La partie locale du nom de l'attribut. Ceci n'inclut pas le préfixe d'espace de nommage ni le caractère deux-points qui le suit.
  3. [préfixe] [prefix] La partie préfixe de l'espace de nommage du nom de l'attribut. Si le nom est sans préfixe, cette propriété n'a pas de valeur. Notez que les applications reconnaissants les espaces de nommages devraient employer le nom de l'espace de nommage plutôt que le préfixe pour identifier les attributs.
  4. [valeur normalisée] [normalized value] La valeur d'attribut normalisée (voir 3.3.3 La normalisation de la valeur des attributs [XML]).
  5. [spécifié] [specified] Un drapeau indiquant si cet attribut est vraiment spécifié dans la balise ouvrante de son élément ou s'il a une valeur par défaut issue du DTD.
  6. [type d'attribut] [attribute type] Une indication du type déclaré pour cet attribut dans le DTD. Les valeurs légitimes sont : ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS, NOTATION, CDATA et ENUMERATION. S'il n'y a aucune déclaration pour l'attribut, cette propriété n'a aucune valeur. Si aucune déclaration n'a été lue, mais que la propriété [toutes les déclarations traitées] [all declarations processed] de l'item d'information de document est fausse (donc, qu'une déclaration n'a pas été lue), alors la valeur de cette propriété est inconnue. Les applications devraient traiter une valeur inexistante ou bien inconnue comme étant équivalente à une valeur de type CDATA.
  7. [références] [references] Si le type d'attribut est ID, NMTOKEN, NMTOKENS, CDATA ou ENUMERATION, cette propriété n'a pas de valeur. Si le type d'attribut est inconnu, la valeur de cette propriété est inconnue. Autrement (c'est-à-dire, si le type d'attribut est IDREF, IDREFS, ENTITY, ENTITIES ou NOTATION), la valeur de cette propriété est une liste ordonnée des items d'information d'élément, d'entité non-analysée ou de notation appelés dans la valeur de l'attribut, dans l'ordre où ils surviennent. Dans ce cas, si la syntaxe de la valeur de l'attribut est invalide, la propriété n'a aucune valeur. Si le type est IDREF ou IDREFS et que l'un des ID n'apparaît pas comme valeur d'attribut ID dans le document, ou si le type est ENTITY, ENTITIES ou NOTATION et aucune déclaration n'a été lue pour l'une quelconque des entités ou de la notation, alors cette propriété n'a aucune valeur ou bien est inconnue, selon que la propriété [toutes les déclarations traitées] [all declarations processed] de l'item d'information de document est vraie ou fausse. Si le type est IDREF ou IDREFS et que l'un quelconque des ID apparaît comme valeur de plus d'un attribut ID dans le document, alors cette propriété n'a aucune valeur.
  8. [élément possesseur] [owner element] L'item d'information d'élément qui contient cet item d'information dans sa propriété [attributs] [attributes].

2.4. Les items d'information des instructions de traitement

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 :

  1. [cible] [target] Une chaîne de caractères représentant la partie cible de l'instruction de traitement (un nom XML).
  2. [contenu] [content]Une chaîne de caractères représentant le contenu de l'instruction de traitement, excluant la cible et tout espace blanc suivant immédiatement celle-ci. S'il n'y a pas un tel contenu, la valeur de cette propriété sera une chaîne vide.
  3. [URI de base] [base URI] L'URI de base de l'instruction de traitement (PI). Notez que si un ensemble d'information est sérié comme un document XML, il ne sera pas possible de préserver l'URI de base des instructions de traitement situées à l'origine au niveau supérieur d'une entité externe, puisqu'il n'y a aucune syntaxe pour les instructions de traitement qui corresponde à l'attribut xml:base sur les éléments.
  4. [notation] [notation] L'item d'information de notation nommé par la cible. S'il n'y a aucune déclaration pour une notation avec ce nom, cette propriété n'a aucune valeur. Si aucune déclaration n'a été lue mais que la propriété [toutes les déclarations traitées] [all declarations processed] de l'item d'information de document est fausse (donc, il est possible qu'il y ait une déclaration non lue), alors la valeur de cette propriété est inconnue.
  5. [parent] [parent] L'item d'information de document, d'élément ou de définition de type de document qui contient cet item d'information dans sa propriété [enfants] [children].

2.5 Les items d'information des appels d'entité sans remplacement

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 :

  1. [nom] [name] Le nom de l'entité référencée.
  2. [identifiant système] [system identifier] L'identifiant système, tel qu'il apparaît dans la déclaration de l'entité, sans éventuel masquage d'URI supplémentaire appliqué par le processeur. S'il n'y a pas de déclaration pour l'entité, cette propriété n'a aucune valeur. Si aucune déclaration n'a été lue, mais que la propriété [toutes les déclarations traitées] [all declarations processed] de l'item d'information de document est fausse (donc, il est possible qu'il y ait une déclaration non lue), alors la valeur de cette propriété est inconnue.
  3. [identifiant public] [public identifier] L'identifiant public de l'entité, normalisé comme décrit dans la section 4.2.2 Les entités externes de [XML]. S'il n'y a pas de déclaration pour l'entité ou que l'entité n'inclut pas un identifiant public, cette propriété n'a aucune valeur. Si aucune déclaration n'a été lue mais que la propriété [toutes les déclarations traitées] [all declarations processed] de l'item d'information de document est fausse (donc il est possible qu'il y ait une déclaration non lue), alors la valeur de cette propriété est inconnue.
  4. [URI de base de déclaration] L'URI de base à partir duquel l'identifiant système devrait être résolu (c.-à-d. l'URI de base de la ressource dans laquelle la déclaration d'entité se produit). Cette propriété a une valeur inconnue ou est sans valeur pour les mêmes circonstances que dans la propriété [identifiant système] [system identifier].
  5. [parent] [parent] L'élément item d'information qui contient cet item d'information dans sa propriété [enfants].

2.6 Les items d'information des caractères

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 :

  1. [code de caractère] [character code] Le code de caractère ISO 10646 (sur une étendue de 0 à #x10FFFF, bien que les valeurs dans cette étendue ne correspondent pas toutes à une valeur XML légale) du caractère.
  2. [blanc dans le contenu d'un élément] [element content whitespace] Une valeur booléenne indiquant si le caractère est un caractère blanc apparaissant dans le contenu de l'élément (voir [XML], section 2.10 « Le traitement des blancs »). Notez que les processeurs XML validateurs sont obligés par XML 1.0 de fournir cette information. S'il n'y a pas de déclaration pour l'élément conteneur, cette propriété n'a aucune valeur pour les caractères blancs. Si aucune déclaration n'a été lue, mais que la propriété [toutes les déclarations traitées] [all declarations processed] de l'item d'information de document est fausse (donc il est possible qu'il y ait une déclaration non lue), alors la valeur de cette propriété est inconnue pour les caractères blancs. Elle est toujours fausse pour les caractères qui ne sont pas des blancs.
  3. [parent] [parent] L'item d'information d'élément qui contient cet item d'information dans sa propriété [enfants] [children].

2.7. Les items d'information des commentaires

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 :

  1. [contenu] [content]Une chaîne de caractère représentant le contenu du commentaire.
  2. [parent] [parent] L'item d'information de document, ou d'élément, qui contient cet item d'information dans sa propriété [enfants] [children].

2.8 L'item d'information de déclaration de type de document

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 :

  1. [identifiant système] [system identifier] L'identifiant système du sous-ensemble externe, comme il apparaît dans la déclaration DOCTYPE, sans éventuel masquage d'URI supplémentaire appliqué par le processeur. S'il n'y a aucun sous-ensemble externe, cette propriété n'a aucune valeur.
  2. [identifiant public] [public identifier] L'identifiant public du sous-ensemble externe, normalisé comme décrit dans la section 4.2.2 Les entités externes de [XML]. S'il n'y a pas de sous ensemble externe ou qu'il n'y a pas d'identifiant public, cette propriété n'a aucune valeur.
  3. [enfants] [children] Une liste ordonnée d'items d'information d'instruction de traitement représentant les instructions de traitement apparaissant dans la DTD, dans l'ordre original du document. Les éléments dans le sous-ensemble interne de la DTD apparaissent avant ceux du sous-ensemble externe.
  4. [parent] [parent] L'item d'information de document.

2.9. Les items d'information des entités non-analysées

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 :

  1. [nom] [name] Le nom de l'entité.
  2. [identifiant système] [system identifier] L'identifiant système de l'entité, comme il apparaît dans la déclaration de l'entité, sans éventuel masquage d'URI supplémentaire appliqué par le processeur.
  3. [identifiant public] [public identifier] L'identifiant public de l'entité, normalisé comme décrit dans la section 4.2.2 Les entités externes de [XML]. Si l'entité n'a aucun identifiant public, cette propriété n'a aucune valeur.
  4. [URI de base de déclaration] L'URI de base par rapport auquel l'identifiant système devrait être résolu (c.-à-d. l'URI de base de la ressource dans laquelle la déclaration d'entité se produit).
  5. [nom de notation] [notation name] Le nom de notation associé à l'entité.
  6. [notation] [notation] L'item d'information de notation nommé par le nom de notation. S'il n'y a pas de déclaration de notation avec ce nom, cette propriété n'a aucune valeur. Si aucune déclaration n'a été lue mais que la propriété [toutes les déclarations traitées] [all declarations processed] de l'item d'information de document est fausse (donc il est possible qu'il y ait une déclaration non lue), alors la valeur de cette propriété est inconnue.

2.10 Les items d'information des notations

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 :

  1. [nom] [name] Le nom de la notation.
  2. [identifiant système] [system identifier] L'identifiant système de la notation, comme il apparaît dans la déclaration de la notation, sans éventuel masquage d'URI appliqué par le processeur. Si aucun identifiant système n'est spécifié, cette propriété n'a aucune valeur.
  3. [identifiant public] [public identifier] L'identifiant public de la notation, normalisé comme décrit dans la section 4.2.2 Les entités externes de [XML]. Si la notation n'a aucun identifiant public, cette propriété n'a aucune valeur.
  4. [URI de base de déclaration] L'URI de base par rapport auquel l'identifiant système devrait être résolu (c.-à-d., l'URI de base de la ressource dans laquelle la déclaration d'entité se produit).

2.11. Les items d'information des espaces de nommage

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 :

  1. [préfixe] [prefix] Le préfixe dont cet item décrit le lien. De façon syntaxique, c'est la partie du nom de l'attribut qui suit le préfixe 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.
  2. [nom d'espace de nommage] [namespace name] Le nom de l'espace de nommage auquel le préfixe est lié.

3. La conformité

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.

Annexe A : Références

Références normatives

ISO/IEC 10646
ISO (International Organization for Standardization). ISO/IEC 10646-1993 (E). Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane. [Geneva]: International Organization for Standardization, 1993 (plus amendments AM 1 through AM 7).
Les espaces de nommage
Les espaces de nommage dans XML W3C, eds. Tim Bray, Dave Hollander, Andrew Layman. 14 janvier 1999. Disponible à http://www.w3.org/TR/REC-xml-names/.
RFC2119
Les mots-clés à employer dans les RFC pour indiquer les niveaux d'obligations ed. S. Bradner. Mars 1997. Disponible à http://www.ietf.org/rfc/rfc2119.txt.
XML
Le langage de balisage extensible (XML) 1.0 (Deuxième édition), W3C, eds. Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, Eve Maler. 6 octobre 2000. Disponible à http://www.w3.org/TR/REC-xml.
XML Base
XML Base, W3C, ed. Jonathan Marsh. Février 2000. Disponible à http://www.w3.org/TR/xmlbase.

Références informatives

DOM
La spécification du modèle objet de document (DOM) niveau 1, W3C, eds. Vidur Apparao, Steve Byrne, Mike Champion, et al. 1 octobre 1998. Disponible à http://www.w3.org/TR/REC-DOM-Level-1/.
XPointer-Liaison
La déclaration de liaison XPointer-Ensemble d'information, W3C, ed. Steven J. DeRose. 24 février 1999. Disponible à http://www.w3.org/TR/NOTE-xptr-infoset-liaison.
Les références d'URI relatifs des espaces de nommage
Résultats du vote plénier XML du W3C sur les références d'URI relatifs dans les déclarations des espaces de nommage, 3-17 juillet 2000, W3C, eds. Dave Hollander, C. M. Sperberg-McQueen. 6 septembre 2000. Disponible à http://www.w3.org/2000/09/xppa.
Le schéma RDF de l'ensemble d'information XML
Le schéma RDF de l'ensemble d'information XML W3C, ed. Richard Tobin. 6 avril 2001. Disponible à http://www.w3.org/TR/xml-infoset-rdfs.

Annexe B : Les obligations de signalisation de XML 1.0 (informatif)

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 :

  1. Un processeur XML doit toujours fournir à l'application tous les caractères dans un document qui ne font pas partie du balisage (2.10).
  2. Un processeur XML validateur doit indiquer à l'application les données textuelles qui sont des caractères blancs apparaissant dans le contenu d'un élément (2.10).
  3. Un processeur XML doit normaliser les fins de ligne à un retour à la ligne (LF) avant de passer celles-ci à l'application (2.11).
  4. Un processeur XML doit normaliser la valeur des attributs selon les règles de la clause 3.3.3 avant de passer ceux-ci à l'application.
  5. Un processeur XML doit passer à l'application les noms et les identifiants externes (identifiants système, identifiants publics ou les deux) des notations déclarées (4.7).
  6. Lorsque le nom d'une entité non-analysée apparaît comme valeur explicite ou par défaut d'un attribut ENTITY ou ENTITIES, un processeur XML doit fournir les noms, les identifiants système et (si présents) les identifiants publics de l'entité et de sa notation à l'application (4.6,4.7).
  7. Un processeur XML doit passer les instructions de traitement à l'application.
  8. Un processeur XML (nécessairement un processeur non-validateur), qui n'inclut pas le texte de substitution d'une entité externe analysée en remplacement d'une référence d'entité, doit informer l'application qu'il a reconnu mais n'a pas lu l'entité (4.4.3).
  9. Un processeur XML validateur doit inclure le texte de substitution d'une entité en remplacement d'une référence d'entité.
  10. Un processeur doit fournir la valeur par défaut des attributs déclarés dans le DTD pour un type d'élément donné mais n'apparaissant pas dans la balise ouvrante de l'élément (3.3.2).

Annexe C : Exemple (informatif)

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 :

Annexe D : Ce qui n'est pas dans l'ensemble d'information

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

  1. Les modèles de contenu des éléments provenant des déclarations ELEMENT dans le DTD ;
  2. Le regroupement et l'ordre des déclarations d'attribut dans les déclarations ATTLIST ;
  3. Le nom du type de document ;
  4. Les caractères blancs en-dehors de l'élément document ;
  5. Les caractères blancs qui suivent immédiatement le nom de la cible d'une instruction de traitement ;
  6. Si les caractères sont représentés par des appels de caractère ;
  7. La différence entre les deux formes d'un élément vide : <foo/> et <foo></foo> ;
  8. Les caractères blancs dans les balises ouvrantes (autres que les espaces significatifs dans les valeurs d'attribut) et dans les balises fermantes ;
  9. La La distinction entre les fins de lignes CR, CR-LF et LF ;
  10. L'ordre des attributs dans la balise ouvrante ;
  11. L'ordre des déclarations dans le DTD ;
  12. Les limites des sections conditionnelles dans le DTD ;
  13. Les limites des entités paramètre dans le DTD ;
  14. Les commentaires dans le DTD ;
  15. La position des déclarations (dans les sous-ensembles interne ou externe ou dans les entités paramètres) ;
  16. Toutes les déclarations ignorées, incluant celles dans une section conditionnelle IGNORE, aussi bien que les déclarations d'entité et d'attribut ignorées parce que les déclarations précédentes les surclassent ;
  17. Le genre des guillemets (simples ou doubles) utilisés pour citer des valeurs d'attribut ;
  18. Les limites des entités générales analysées ;
  19. Les limites des sections marquées du type CDATA ;
  20. La valeur par défaut des attributs déclarés dans le DTD.

Annexe E : Schéma RDF (informatif)

Voir le schéma RDF pour l'ensemble d'information XML pour une caractérisation formelle de l'ensemble d'information XML.