什么是XML?什么是XML Schema?

一、什么是XML

     XML提供了一种结构化文档的表层语法,但没有对这些文档的含义施加任何语义约束,是设计用来传输和存储数据的。

     XML 与 HTML 的主要差异:

(1)XML 不是 HTML 的替代。

(2)XML 和 HTML 为不同的目的而设计:XML 被设计为传输和存储数据,其焦点是数据的内容;HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。

     XML有以下的特点:

(1)XML是不作为的,XML只是被设计用来结构化、存储以及传输信息。

下面是 John 写给 George 的便签,存储为 XML:

<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

 

上面的这条便签具有自我描述性。它拥有标题以及留言,同时包含了发送者和接受者的信息。

但是,这个 XML 文档仍然没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

(2)XML仅仅是纯文本。

XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。

(3)XML 允许创作者定义自己的标签和自己的文档结构。

上例中的标签没有在任何 XML 标准中定义过(比如 <to> 和 <from>)。这些标签是由文档的创作者发明的,这是因为 XML 没有预定义的标签。

(4)XML 是对 HTML 的补充。

XML 不会替代 HTML,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。所以对 XML 最好的描述是:XML是独立于软件和硬件的信息传输工具。

二、什么是XML Schema?

XML Schema是一个约束XML文档结构和为XML扩充了数据类型的语言。XML Schema是基于XML的DTD替代者,可以描述XML文档的结构,同时也可以作为XSD(XML Schema Definition)来引用。(DTD(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法规则,文档可以根据某种DTD语法规则验证格式是否符合此规则。)

什么是XML Schema?XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。

XML Schema:

  • 定义可出现在文档中的元素
  • 定义可出现在文档中的属性
  • 定义哪个元素是子元素
  • 定义子元素的次序
  • 定义子元素的数目
  • 定义元素是否为空,或者是否可包含文本
  • 定义元素和属性的数据类型
  • 定义元素和属性的默认值以及固定值

XML Schema是DTD的继任者,理由如下:

  • XML Schema 可针对未来的需求进行扩展
  • XML Schema 更完善,功能更强大
  • XML Schema 基于 XML 编写
  • XML Schema 支持数据类型
  • XML Schema 支持命名空间

XML Schema的特性:

(1)XML Schema最重要的能力之一就是对数据类型的支持;

(2)XML Schema由XML编写;

(3)XML Schema可以保护数据通信;

当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的“期望值”。通过 XML Schema,发送方可以用一种接受方能够明白的方式来描述数据。

一种数据,比如 "03-11-2004",在某些国家被解释为11月3日,而在另一些国家为当作3月11日。但是一个带有数据类型的 XML 元素,比如:<date type="date">2004-03-11</date>,可确保对内容一致的理解,这是因为 XML 的数据类型 "date" 要求的格式是 "YYYY-MM-DD"。

(4)XML Schema是可扩展的,因为它们由XML编写;

(5)XML Schema可以捕获XML中的错误。

 

参考文献:1.https://www.w3school.com.cn/xml/xml_intro.asp

                  2.https://www.w3school.com.cn/schema/schema_intro.asp

posted @ 2020-03-25 23:00  飞鸟迷失天空  阅读(610)  评论(0编辑  收藏  举报