Signification de –

Je suis novice en XML et j’essaie de comprendre les bases. J’ai lu la ligne ci-dessous dans “Learning XML”, mais je ne suis toujours pas clair. Quelqu’un peut-il me diriger vers un livre ou un site Web qui explique clairement ces bases?

De l’ apprentissage 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 parsingur XML pour interpréter ce document.

Qu’est-ce que ça veut dire?

Je comprends la “partie de la version de xml” – doc et utilisateur de doc doivent “parler” dans la même version de XML. Mais qu’en est-il de la partie encodage? Pourquoi est-ce nécessaire?

Pour comprendre l’atsortingbut “encoding”, vous devez comprendre la différence entre les octets et les caractères .

Considérez les octets comme des nombres compris entre 0 et 255, alors que les caractères sont des choses comme “a”, “1” et “Ä”. L’ensemble de tous les caractères disponibles est appelé jeu de caractères .

Chaque caractère a une séquence d’un ou plusieurs octets utilisés pour le représenter; Cependant, le nombre et la valeur exacts des octets dépendent du codage utilisé et il existe de nombreux encodages différents.

La plupart des encodages sont basés sur un ancien jeu de caractères et un encodage appelé ASCII, qui est un octet unique par caractère (en fait, seulement 7 bits) et contient 128 caractères, y compris de nombreux caractères communs utilisés en anglais américain.

Par exemple, voici 6 caractères du jeu de caractères ASCII représentés par les valeurs 60 à 65.

Extract of ASCII Table 60-65 ╔══════╦══════════════╗ ║ Byte ║ Character ║ ╠══════╬══════════════║ ║ 60 ║ < ║ ║ 61 ║ = ║ ║ 62 ║ > ║ ║ 63 ║ ? ║ ║ 64 ║ @ ║ ║ 65 ║ A ║ ╚══════╩══════════════╝ 

Dans le jeu ASCII complet, la valeur la plus basse utilisée est zéro et la valeur maximale est 127 (les deux sont des caractères de contrôle masqués).

Cependant, une fois que vous avez besoin de plus de caractères que ne le prévoit ASCII de base (par exemple, lettres avec accents, symboles monétaires, symboles graphiques, etc.), ASCII ne convient pas et vous avez besoin de quelque chose de plus étendu. Vous avez besoin de plus de caractères (un jeu de caractères différent) et vous avez besoin d’un encodage 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 y a CP1252 ou ISO-8859-1, alors que les utilisateurs de Linux ont tendance à privilégier UTF-8. Java utilise UTF-16 en mode natif.

Une séquence de valeurs d’octet pour un caractère dans un encodage peut représenter un caractère complètement différent dans un autre encodage, ou peut même être invalide.

Par exemple, dans ISO 8859-1 , «est représenté par un octet de valeur 226 , tandis que dans UTF-8, il est de deux octets: 195, 162 . Cependant, dans ISO 8859-1 , 195, 162 serait deux caractères, Ã, ¢ .

Considérez XML comme non 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 quels sont ces personnages?

Pour que le système puisse interpréter ces octets comme des caractères réels (et les afficher ou les convertir en un autre encodage), il doit connaître l’encodage utilisé dans le XML.

Comme la plupart des encodages courants sont compatibles avec ASCII, dans la mesure où les caractères alphabétiques et les symboles de base disparaissent, dans ce cas, la déclaration elle-même peut utiliser uniquement les caractères ASCII pour indiquer le codage. Dans d’autres cas, l’parsingur doit essayer de comprendre l’encodage de la déclaration. Comme il sait que la déclaration commence par il est beaucoup plus facile de le faire.

Enfin, l'atsortingbut version spécifie la version XML, dont il existe actuellement deux versions (voir les versions XML de Wikipedia . Il existe de légères différences entre les versions, de sorte qu'un parsingur XML doit savoir à quoi il sert. Dans la plupart des cas (pour Anglophones de toute façon), la version 1.0 est suffisante.

Une déclaration XML n’est pas requirejse dans tous les documents XML. Toutefois, les auteurs de documents XHTML sont fortement encouragés à utiliser des déclarations XML dans tous leurs documents. Une telle déclaration est requirejse lorsque le codage de caractères du document est différent de celui par défaut UTF-8 ou UTF-16 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.

     Virtual Library   

Moved to example.org.

Veuillez vous reporter aux normes W3 pour XML .

C’est le préambule XML facultatif .

  • version="1.0" signifie que c’est le standard XML auquel ce fichier est conforme
  • encoding="utf-8" signifie que le fichier est encodé en utilisant le codage Unicode UTF-8

La déclaration de codage identifie le codage utilisé pour représenter les caractères du document.

Plus d’informations sur la déclaration XML ici: http://msdn.microsoft.com/en-us/library/ms256048.aspx

Quelqu’un peut-il me diriger vers un livre ou un site Web qui explique clairement ces bases?

Vous pouvez consulter ce tutoriel XML avec des exemples.

Mais qu’en est-il de la partie encodage? Pourquoi est-ce nécessaire?

W3C fournit des explications sur l’encodage:

“Le jeu de caractères de document pour XML et HTML 4.0 est Unicode (alias ISO 10646). Cela signifie que les navigateurs HTML et les processeurs XML doivent se comporter comme s’ils utilisaient Unicode en interne. Tant que le client et le serveur sont d’accord sur l’encodage, ils peuvent utiliser n’importe quel encodage pouvant être converti en Unicode … ”

La déclaration XML dans la carte du document comprend les éléments suivants:

 The version number, ?xml version="1.0"?. 

Ceci est obligatoire Bien que le nombre puisse changer pour les futures versions de XML, la version 1.0 est la version actuelle.

La déclaration d’encodage,

 encoding="UTF-8"? 

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.