XML的语法结构是什么

XML的语法结构是什么,第1张

XML - 简明语法

XML

SGML常用来定义针对HTML的文档类型定义(DTD),同时它也常用于编写XML的DTD。SGML的问题就在于,它允许出现一些奇怪的语法,这让创建HTML的解析器成为一个大难题:

1、某些起始标签不允许出现结束标签,例如HTML中标签。包含了结束标签就会出现错误。

2、某些起始标签可以选择性出现结束标签或者隐含了结束标签,例如HTML中标签,当出现另一个标签或者某些其他标签时,便假设在这之前有一个结束标签。

3、某些起始标签要求必须出现结束标签,例如HTML中标签。

4、标签可以以任何顺序嵌套。即使结束标签不按照起始标签的逆序出现也是允许的,例如,Thisisasamplestring是正确的。

5、某些特性要求必须包含值,例如中的src特性。

6、某些特性不要求一定有值,例如[td]中的nowrap特性。

7、定义特性的两边有没有加上双引号都是可以的,所以和都是允许的。

这些问题使建立一个SGML语言的解析器变成了一项艰巨的任务。判断何时应用以上规则的困难导致了SGML语言的定义一直停滞不前。以这些问题作为出发点,XML逐渐步入视野。

XML去掉了之前令许多开发人员头疼的SGML的随意语法。在XML中,采用了如下的语法:

8、任何的起始标签都必须有一个结束标签。

9、可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如。XML解析器会将其翻译成。

10、标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,例如thisisasamplestring。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。

11、所有的特性都必须有值。

12、所有的特性都必须在值的周围加上双引号。

这些规则使得开发一个XML解析器要简便得多,而且也除去了解析SGML中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同时也将HTML改进为XHTML。XML已经是世界上发展最快的技术之一。它的主要目的是使用文本以结构化的方式来表示数据。在某些方面,XML文件也类似于数据库,提供数据的结构化视图。

上面的写法表示genre是book的属性它的是属性值是reference,

<book><title>是平级的子节点

取值“reference”的路径是:./books/book[name='genre']的values

这个路径语法不一定对大概是这个样子。

下面的写法表示genre是book的子节点它的文本值是reference

<genre>是<book>的子节点多了一层结构关系

取值“reference”的路径是:./books/book/genre下的innertext

这个路径语法不一定对大概是这个样子。

一个节点可以有多个属性和一个文本值,具体设计的时候看层次结构和使用的方便程度,如果是上面的简单使用没什么打的区别。呵呵。

有不明白的地方继续补充


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11682721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存