xml即可扩展标记语言介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Xml(Extensible Markup Language)简介
或称为可扩展标记语言,是一种您可以用来创建自己的标记的标记语言。它由万维网协会(W3C)创建,用来克服HTML(即超文本标记语言(Hypertext Markup Language),它是所有网页的基础)的局限。和HTML 一样,XML 基于SGML —标准通用标记语言(Standard Generalized Markup Language)。
XML文档是Unicode码的文本文件,在这个文件中包括数据和用来定义数据结构的标记!由万维网协会(W3C—World Wide Web Consortium)管理,可以在/XML网站中找到XML的规范。
XML与HTML比较
第一点
Html的目的就是当数据要打印或者显示时描述数据是什么样式。最终目的就是实现数据的呈现格式,而XML定义它所包含的数据的结构,而不是呈现样式。
比如:
科比.布莱恩特
星光大道101号
深圳市,广州省417000
HTML 的问题在于它是为人设计的。即使不用浏览器查看上面的HTML 文档,您和我也会知道那是某个人的邮政地址。作为人,您和我具有理解大多数文档的含义和意图的智慧。遗憾的是机器不能做到。尽管这个文档中的标记告诉浏览器如何显示该信息,但标记没有告诉浏览器信息是什么。您和我知道它是一个地址,但机器不知道。
为了完成对样本HTML 文档的讨论,请考虑从该地址抽取邮政编码的任务。下面是一个在HTML 标记中查找邮政编码的算法(我有意使用脆弱的算法):
如果您找到有两个
标记的段落,那么邮政编码就是第二个换行标记下面第一个逗号之后的第二个词。
尽管该算法对于这个示例起作用,但对于全世界许多完全有效的地址,该算法根本不起作用。即使您可以编写算法来找出任何用HTML 编写的地址的邮政编码,但许多具有两个换行标记的段落根本不包含地址。即便有可能编写算法来查看任意HTML 段落并找出其中的任意邮政编码,也是极其困难的。
现在让我们来看一个样本XML 文档。使用XML,您可以给文档中的标记赋予某种含意。更重要的是,机器也容易处理这样的信息。您只需通过找到
科比
布莱恩特
星光大道101号
417000
有三个通用术语用来描述XML 文档的组成部分:标记、元素和属性。下面的样本文档说明了这些术语:
✓标记是左尖括号(<)和右尖括号(>)之间的文本。有开始标记(例如
✓元素是开始标记、结束标记以及位于二者之间的所有内容。在上面的样本中,
✓属性是一个元素的开始标记中的名称-值对。在该示例中,state 是
而在前面的示例中,
⏹第二点
XML为了适应不同种类的数据,可以定义新的标签集和属性集,而HTML则只能使用一套固定的标签来呈现数据。因此,XML是可扩展的。
XML文档规则
无效、有效以及格式良好的文档
有三种XML 文档:
无效文档没有遵守XML 规范定义的语法规则。如果开发人员已经在DTD 或模式中定义了文档能够包含什么,而某个文档没有遵守那些规则,那么这个文档也是无效的。(请参阅定义文档内容以获得对XML 文档的DTD 和模式的专门介绍。)
有效文档既遵守XML 语法规则也遵守在其DTD 或模式中定义的规则。
格式良好的文档遵守XML 语法,但没有DTD 或模式。
根元素
XML 文档必须包含在一个单一元素中。这个单一元素称为根元素,它包含文档中所有文本和所有其它元素。在下面的示例中,XML 文档包含在一个单一元素
Hello, World!
下面是一个不包含单一根元素的文档:
Hello, World!
Hola, el Mundo!
不管该文档可能包含什么信息,XML 解析器都会拒绝它。
元素不能重叠
XML 元素不能重叠。下面是一些不合乎规则的标记:
I really
love XML.
如果您在 元素中开始了 元素,则必须在 元素中结束 元素。如果您希望文本XML 以斜体出现,那么您需要添加第二个 元素以更正标记:
I really
love
XML.
XML 解析器将只接受这种标记;大多数Web 浏览器中的HTML 解析器对于两者都接受。
结束标记是必需的
不能省去任何结束标记。在下面第一个示例中,标记是不合乎规则的,因为没有结束段落(
)标记。尽管这在HTML(以及某些情况下在SGML)中可以接受,但XML 解析器将拒绝它。Yada yada yada...
Yada yada yada...