最新的Web开发教程
 

XML架构教程


什么是XML架构?

XML模式描述XML文档的结构。

XML模式语言也称为XML模式定义(XSD)

XSD示例

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

XML模式的目的是定义XML文档的合法积木:

  • 可以出现在文档中的元素和属性
  • 的数量(and order of)子元素
  • 数据类型元素和属性
  • 元素和属性的默认值和固定值

为什么要学习XML模式?

在XML的世界里,数以百计的标准化的XML格式在日常使用。

许多这些XML标准是由XML模式定义。

XML Schema是基于XML的(and more powerful)的替代DTD。


XML架构支持的数据类型

一个XML架构的最大优势是数据类型的支持。

  • 这是比较容易描述允许的文档内容
  • 这是比较容易验证数据的正确性
  • 这是比较容易确定数据刻面(restrictions on data)
  • 这是比较容易定义数据模式(data formats)
  • 这是比较容易的不同数据类型之间的数据转换

XML模式使用XML语法

有关XML架构的另一个伟大的力量在于都写在XML。

  • 你不必去学习一门新语言
  • 您可以使用XML编辑器来编辑Schema文件
  • 您可以使用XML解析器解析Schema文件
  • 您可以使用XML DOM操作你的架构
  • 你可以用XSLT转换的模式

XML模式是可扩展的,因为他们是用XML编写的。

有了一个可扩展的架构定义,您可以:

  • 重用其他架构的架构
  • 创建自己的数据类型从标准衍生类型
  • 参考多个模式在同一文件中

XML架构安全数据通信

当从发送器向接收器发送数据时,至关重要的是,这两个部分具有相同的"expectations"有关的内容。

用XML模式,发送者可以在一个方式,接收器会理解描述数据。

一个日期,如: "03-11-2004"会,在一些国家,被解释为3.November和在其他国家11.March。

然而,这样的数据类型的XML元素:

<date type="date">2004-03-11</date>

保证了内容的相互理解,因为XML数据类型"date"要求的格式"YYYY-MM-DD"


合式是不够的

格式良好的XML文档是符合XML语法规则,就像一个文件:

  • 它必须以XML声明开始
  • 它必须有一个唯一的根元素
  • 起始标签必须有匹配的结束标记
  • 元素是区分大小写
  • 所有元素都必须被关闭
  • 所有的元素必须正确地嵌套
  • 所有属性值必须加引号
  • 实体必须使用特殊字符

即使是格式良好的文档,他们仍然可以包含错误,这些错误可能会造成严重后果。

想想以下情况:您订购5毛激光打印机,而不是5激光打印机。 在XML Schema,大多数这样的错误会由检验软件捕获。