Maison  >  Article  >  développement back-end  >  Une introduction détaillée à la structure et à la syntaxe XML

Une introduction détaillée à la structure et à la syntaxe XML

黄舟
黄舟original
2017-03-24 17:09:231310parcourir

Pour l'instant, utilisons le Bloc-notes pour créer notre fichier XML. Regardez d'abord un fichier XML :

Exemple 1 :

〈?xml version="1.0" encoding="gb2312" ?〉
〈参考资料〉
〈书籍〉
〈名称〉XML入门精解〈/名称〉
〈作者〉张三〈/作者〉
〈价格 货币单位="人民币"〉20.00〈/价格〉
〈/书籍〉
〈书籍〉
〈名称〉XML语法〈/名称〉
〈!--此书即将出版--〉
〈作者〉李四〈/作者〉
〈价格 货币单位="人民币"〉18.00〈/价格〉
〈/书籍〉
〈/参考资料〉

Il s'agit d'un fichier XML typique. Après l'édition, enregistrez-le sous forme de fichier avec le suffixe .xml. Nous pouvons diviser ce fichier en deux parties principales : le préambule du fichier (Prolog) et le corps du fichier. La première ligne de ce fichier est le préambule du fichier. Cette ligne est quelque chose qu'un fichier XML doit déclarer, et elle doit également être située sur la première ligne du fichier XML. Elle indique principalement à l'analyseur XML comment fonctionner. Parmi eux, la version indique le numéro de version standard utilisé dans ce fichier XML, qui est obligatoire ; l'encodage indique le type de caractère utilisé dans ce fichier XML, qui peut être omis. Lorsque vous omettez cette instruction, le suivant. le code de caractère doit être un code de caractère Unicode (il est recommandé de ne pas l'omettre). Étant donné que nous utilisons le code de caractères GB2312 dans cet exemple, l'instruction de codage ne peut pas être omise. Il y a également quelques déclarations dans le préambule du dossier, que nous présenterons plus tard.

Le reste du fichier appartient au corps du fichier et les informations sur le contenu du fichier XML sont stockées ici. Nous pouvons voir que le corps principal du fichier est composé des balises de contrôle de début et de fin . C'est ce qu'on appelle « l'élément racine » du fichier XML ; directement sous l'élément racine « Sous-élément » ; sous « Livre » se trouvent des sous-éléments tels que « Nom », « Auteur » et « Prix ». L'unité monétaire est un "attribut" dans l'élément , et "RMB" est la "valeur de l'attribut".

〈!--Ce livre sera bientôt publié--〉Cette phrase est la même que le HTML, c'est un commentaire Dans le fichier XML, la partie commentaire est placée entre les "〈!--" et les balises "--〉" entre les parties.

Comme vous pouvez le constater, les fichiers XML sont assez simples. Comme HTML, les fichiers XML sont également composés d'une série de balises. Cependant, les balises des fichiers XML sont nos propres balises personnalisées et ont des significations claires. Nous pouvons expliquer la signification du contenu des balises.

Après avoir eu une première impression des fichiers XML, parlons en détail de la syntaxe des fichiers XML. Avant de parler de grammaire, nous devons comprendre un concept important, qui est XML Parse.

1. Analyseur XML

La fonction principale de l'analyseur est de vérifier s'il y a des erreurs structurelles dans le fichier XML, de supprimer les balises dans le fichier XML et de lire le contenu correct pour passer au traitement de demande en une étape suivant. XML est un langage de balisage utilisé pour structurer les informations sur les fichiers. La spécification XML contient des règles détaillées sur la façon de marquer la structure des fichiers. L'analyseur est un logiciel écrit selon ces règles (principalement écrit en Java). Tout comme le HTML, dans le navigateur, il doit y avoir un analyseur HTML pour que le navigateur puisse « lire » diverses pages Web composées de balises HTML et les afficher devant nous. S'il y a des balises que l'analyseur HTML du navigateur ne peut pas lire, il nous renverra un message d'erreur.

Étant donné que les balises HTML actuelles sont en fait assez déroutantes et qu'il existe de nombreuses balises non standard (certaines pages Web peuvent être affichées normalement avec IE, mais pas avec Netscape Navigator), donc dès le début, les concepteurs de XML La syntaxe et la structure de XML sont strictement stipulées. Les fichiers XML que nous écrivons doivent être conformes à ces réglementations, sinon l'analyseur XML vous montrera sans pitié des messages d'erreur.

Il existe deux types de fichiers XML, l'un est le fichier XML bien formé et l'autre est le fichier XML de validation.

Si un fichier XML satisfait à certaines règles pertinentes de la spécification XML et n'utilise pas de DTD (Document Format Definition - détails plus tard), il peut être appelé Well-Formed. Et si un fichier XML est bien formé, que la DTD est utilisée correctement et que la syntaxe de la DTD est correcte, alors le fichier est en cours de validation. Correspondant aux deux fichiers XML, il existe deux analyseurs XML, l'un est l'analyseur Well-Formed et l'autre est l'analyseur Validating. IE 5 inclut un analyseur de validation, qui peut également être utilisé pour analyser des fichiers XML bien formés.

Vérifiez s'il répond aux conditions de bien formé. Nous pouvons ouvrir le premier fichier XML que nous venons de modifier avec un navigateur IE 5 ou supérieur.

Vous vous demandez peut-être pourquoi l'affichage dans le navigateur est le même que celui de mon fichier source ? C'est vrai, car pour les fichiers XML, on ne connaît que le contenu, et sa forme d'affichage est complétée par CSS ou XSL. Ici, nous n'avons pas défini son fichier CSS ou XSL pour ce fichier XML, il est donc affiché sous sa forme originale. En fait, pour l'échange électronique de données, seul un fichier XML est nécessaire. Si nous voulons l'afficher sous une forme quelconque, nous devons éditer le fichier CSS ou XSL (cette question sera abordée plus tard).

2. Fichier XML bien formé

Nous savons que le XML doit être bien formé pour être correctement analysé par l'analyseur et affiché dans le navigateur. Alors, qu’est-ce qu’un fichier XML bien formé ? Il existe principalement les directives suivantes, qui doivent être respectées lorsque nous créons des fichiers XML.

1.XML文件的第一行必须是声明该文件是XML文件以及它所使用的XML规范版本。在文件的前面不能够有其它元素或者注释。

2.在XML文件中有且只能够有一个根元素。我们的第一个例子中,〈参考资料〉... 〈/参考资料〉就是此XML文件的根元素。

3.在XML文件中的标记必须正确地关闭,也就是说,在XML文件中,控制标记必 须有与之对应的结束标记。如:〈名称〉标记必须有对应的〈/名称〉结束标记,不像HTML,某些标记的结束标记可有可无。如果在XML文件中遇到自成一个单元的标记,就是类似于HTML 中的〈img src=.....〉的这些没有结束标记的时候,XML把它称为“空元素”,必须用这样的写法:〈空元素名/〉,如果元素中含有属性时写法则为:〈空元素名 属性名=“属性值”/〉。

4.标记之间不得交叉。在以前的HTML文件中,可以这样写:

〈B〉〈H〉XXXXXXX〈/B〉〈/H〉,〈B〉和〈H〉

标记之间有相互重叠的区域,而在XML中,是严格禁止这样标记交错的写法,标记必须以规则性的次序来出现。

5.属性值必须要用“ ”号括起来。如第一个例子中的“1.0”、“gb2312”、“人民币”。都是用“ ”号括起来了的,不能漏掉。

6.控制标记、指令和属性名称等英文要区分大小写。与HTML不同的是,在HTML中, 类似〈B〉和〈b〉的标记含义是一样的,而在XML中,类似〈name〉、〈NAME〉或〈Name〉这样的标记是不同的。

7.我们知道,在HTML文件中,如果我们要浏览器原封不动地将我们所输入的东西显示出来,可以将这些东西放到〈pre〉〈/pre〉或者〈xmp〉〈/xmp〉标记中间。这对于我们创建HTML教学的网页是必不可少的,因为网页中要显示HTML的源代码。而在XML中,要实现这样的功能,就必须使用CDATA标记。在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。CDATA区域是由:“〈![CDATA[”为开始标记,以“>〉”为结束标记。例如:例2中的源码,除了“〈![CDATA[”和“>〉”符号,其余的内容解析器将原封不动地交给下游的应用程序,即使CDATA区域中的开始和结尾的空白以及换行字符等,都同样会被转交(注意CDATA是大写的字符)。

例2:

〈![CDATA[飞翔的xml〉〉〉〉〉,:-)
oooo〈〈〈〈〈〈〈
>〉

8.XML处理空白字符和HTML不一样。HTML标准规定,不管有多少个空白,都当作一个空白来处理;而在XML中规定,所有标记以外的空白,解析器都要忠实地交给下游的应用程序处理。这样,我们有时必须摒弃编写HTML文件时的缩排习惯,因为缩排的空格,解析器也要处理。如:

〈作者〉张三〈/作者〉
和
〈作者〉
张三
〈/作者〉

上述内容对于解析器来说是不同的(后者在〈作者〉〈/作者〉标记之内除了张三这个字符以外,还包括两个换行记号以及“张三”前的文字缩排符号)。所以解析器在去掉标记后将信息传给应用程序将有不同的处理结果。

如果我们想明确地告诉XML程序,标记中的空白有明确的含义,不要随便去掉(如在一些诗中,空格有它具体的意义),则可在标记中加入一个XML内置的属性——xml:space 。如(注意属性名称和值的大小写):

〈诗歌 xml:space="preserver"〉
祖国啊! 祖国!
我的祖国!
〈/诗歌〉

另外,在XML文件中,如果要用到表1的特殊字符,必须用相应符号代替。

表1:

特殊字符     替代符号
 &&       &
 <       &it;
 >       >
 "       "
 &#39;      &apos;

小结:

符合上述规定的XML文件就是Well-Formed的XML文件。这是编写XML文件的最基本要求。可以看到XML文件的语法规定比HTML要严格多了。由于有这样的严格规定,软件工程师编写XML的解析器就容易多了,不像编写HTML语言的解析器,必须费尽心思去适应不同的网页写法,提高自己浏览器的适应能力。实际上,这对于我们初学者来说,也是一件好事。该怎样就怎样,不必像原来那样去疑惑各种HTML的写法。

On voit que dans les fichiers XML, la plupart des balises utilisées sont des balises personnalisées. Mais réfléchissez-y, si deux entreprises A et B du même secteur souhaitent échanger des données à l'aide de fichiers XML, l'entreprise A utilise la balise pour représenter les informations sur les prix de leurs produits, tandis que l'entreprise B peut utiliser pour représenter les informations sur le prix. Si une application XML lit les informations dans leurs fichiers XML respectifs, si elle sait seulement que la balise représente des informations sur les prix, alors les informations sur les prix de la société B ne peuvent pas être lues et une erreur se produira. Évidemment, pour les entités qui souhaitent utiliser des fichiers XML pour échanger des informations, il doit y avoir un accord entre elles - c'est-à-dire quelles balises peuvent être utilisées pour écrire des fichiers XML, quels sous-éléments peuvent être inclus dans l'élément parent, l'ordre dans lequel chaque élément apparaît, et comment définir les propriétés, etc. De cette façon, ils peuvent avoir une communication fluide lors de l’échange de données avec XML. Cette convention est appelée DTD (Document Type Definition, définition du format de document). Vous pouvez considérer une DTD comme un modèle pour écrire des fichiers XML. Pour l'échange de données XML entre une même industrie, il sera beaucoup plus pratique d'avoir une DTD fixe. Par exemple, si les pages Web XML des principaux centres commerciaux électroniques sur Internet suivent toutes la même DTD, nous pouvons alors facilement écrire une application basée sur cette DTD pour capturer automatiquement les éléments qui nous intéressent en ligne. En fait, il existe déjà plusieurs DTD bien définies, telles que MathML, SMIL, etc. mentionnées précédemment.

Si un fichier XML est bien formé et qu'il est correctement créé sur la base d'une DTD, alors le fichier XML s'appelle : Validation du fichier XML. L'analyseur correspondant s'appelle : Validating Parser.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn