Je suis nouveau sur XML et j'essaie de comprendre les bases. J'ai lu la ligne ci-dessous dans "Learning XML", mais ce n'est toujours pas clair, pour moi. Quelqu'un peut-il me diriger vers un livre ou un site Web qui explique clairement ces bases?
À partir de Learning XML :
La déclaration XML décrit certaines des propriétés les plus générales du document, indiquant au processeur XML qu'il a besoin d'un analyseur XML pour interpréter ce document.
Qu'est-ce que ça veut dire?
Je comprends la xml version
partie - doc et utilisateur de doc doivent "parler" dans la même version de XML. Mais qu'en est-il de la encoding
partie? Pourquoi est-ce nécessaire?
Réponses:
Pour comprendre l'attribut "encoding", vous devez comprendre la différence entre les octets et les caractères .
Considérez les octets comme des nombres entre 0 et 255, tandis que les caractères sont des choses comme "a", "1" et "Ä". L'ensemble de tous les caractères disponibles est appelé un jeu de caractères .
Chaque caractère a une séquence d'un ou plusieurs octets qui sont utilisés pour le représenter; cependant, le nombre exact et la valeur des octets dépendent du codage utilisé et il existe de nombreux codages différents.
La plupart des encodages sont basés sur un ancien jeu de caractères et encodage appelé ASCII qui est un seul octet par caractère (en fait, seulement 7 bits) et contient 128 caractères dont beaucoup des caractères courants utilisés en anglais américain.
Par exemple, voici 6 caractères dans le jeu de caractères ASCII qui sont représentés par les valeurs 60 à 65.
Dans l'ensemble ASCII complet, la valeur la plus basse utilisée est zéro et la plus élevée est 127 (les deux sont des caractères de contrôle masqués).
Cependant, une fois que vous commencez à avoir besoin de plus de caractères que l'ASCII de base fournit (par exemple, des lettres avec des accents, des symboles monétaires, des symboles graphiques, etc.), l'ASCII ne convient pas et vous avez besoin de quelque chose de plus complet. Vous avez besoin de plus de caractères (un jeu de caractères différent) et vous avez besoin d'un codage différent car 128 caractères ne suffisent pas pour contenir tous les caractères. Certains codages offrent un octet (256 caractères) ou jusqu'à six octets.
Au fil du temps, de nombreux encodages ont été créés. Dans le monde Windows, il existe CP1252, ou ISO-8859-1, alors que les utilisateurs de Linux ont tendance à privilégier UTF-8. Java utilise UTF-16 de manière native.
Une séquence de valeurs d'octet pour un caractère dans un codage peut représenter un caractère complètement différent dans un autre codage, ou peut même être invalide.
Par exemple, dans la norme ISO 8859-1 , â est représenté par un octet de valeur
226
, alors que dans UTF-8 , il est deux octets:195, 162
. Cependant, dans ISO 8859-1 , il y195, 162
aurait deux caractères, Ã, ¢ .Considérez XML comme non pas une séquence de caractères mais une séquence d'octets.
Imaginez que le système recevant le XML voit les octets
195, 162
. Comment sait-il de quels personnages il s'agit?Pour que le système interprète ces octets comme des caractères réels (et ainsi les affiche ou les convertit en un autre codage), il doit connaître le codage utilisé dans le XML.
Étant donné que les codages les plus courants sont compatibles avec ASCII, en ce qui concerne les caractères alphabétiques de base et les symboles, dans ces cas, la déclaration elle-même peut s'en tirer en utilisant uniquement les caractères ASCII pour dire quel est le codage. Dans d'autres cas, l'analyseur doit essayer de comprendre le codage de la déclaration. Puisqu'il sait que la déclaration commence par,
<?xml
il est beaucoup plus facile de le faire.Enfin, l'
version
attribut spécifie la version XML, dont il y en a deux pour le moment (voir les versions XML de Wikipedia . Il existe de légères différences entre les versions, donc un analyseur XML doit savoir de quoi il s'agit. Dans la plupart des cas (pour l'anglais haut-parleurs de toute façon), la version 1.0 suffit.la source
Une déclaration XML n'est pas requise dans tous les documents XML; cependant, les auteurs de documents XHTML sont fortement encouragés à utiliser des déclarations XML dans tous leurs documents. Une telle déclaration est requise lorsque le codage de caractères du document est différent de l'UTF-8 ou UTF-16 par défaut et qu'aucun codage n'a été déterminé par un protocole de niveau supérieur. Voici un exemple de document XHTML. Dans cet exemple, la déclaration XML est incluse.
Veuillez vous référer aux standards W3 pour XML .
la source
Il s'agit du préambule facultatif XML .
version="1.0"
signifie qu'il s'agit du standard XML auquel ce fichier se conformeencoding="utf-8"
signifie que le fichier est encodé à l'aide du codage Unicode UTF-8la source
Plus d'informations sur la déclaration XML ici: http://msdn.microsoft.com/en-us/library/ms256048.aspx
la source
Vous pouvez consulter ce didacticiel XML avec des exemples.
Le W3C fournit des explications sur l'encodage:
la source
La déclaration XML dans le plan du document comprend les éléments suivants:
Ceci est obligatoire. Bien que le nombre puisse changer pour les futures versions de XML, 1.0 est la version actuelle.
La déclaration d'encodage,
Ceci est facultatif. Si elle est utilisée, la déclaration de codage doit apparaître immédiatement après les informations de version dans la déclaration XML et doit contenir une valeur représentant un codage de caractères existant.
la source