XSD 简介

创建于 2024-12-03 / 29
字体: [默认] [大] [更大]

什么是 XML Schema?

XML Schema 描述XML文档的结构。

XML Schema语言也称为xmlschema定义(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文档的合法构建块:

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

为什么要学习XML模式?

在XML世界中,每天都在使用数百种标准化的XML格式。

其中许多XML标准都是由XML模式定义的。

XML Schema xmlschema是DTD的一种基于XML的(更强大的)替代方案。



XML模式支持数据类型

XML模式最大的优点之一是支持数据类型。

  • 更容易描述允许的文档内容
  • 更容易验证数据的正确性
  • 更容易定义数据方面(对数据的限制)
  • 更容易定义数据模式(数据格式)
  • 在不同的数据类型之间转换数据更容易

XML模式使用XML语法

关于XML模式的另一个优点是它们是用XML编写的。

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

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

使用可扩展架构定义,您可以:

  • 在其他模式中重用您的模式
  • 创建从标准类型派生的自己的数据类型
  • 在同一文档中引用多个架构

XML模式安全数据通信

当从发送者向接收者发送数据时,两个部分对内容有相同的期望是很重要的。

使用XML模式,发送方可以用接收方能够理解的方式来描述数据。

像"03-11-2004"这样的日期,在一些国家被解释为11月3日,在其他国家被解释为3月11日。

但是,数据类型如下的XML元素:

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

确保对内容的相互理解,因为XML数据类型"date"需要格式"YYYY-MM-DD"。


好的形式是不够的

格式良好的XML文档是符合XML语法规则的文档,如:

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

即使文档格式良好,它们仍然可能包含错误,这些错误可能会产生严重后果。

考虑以下情况:您订购的是5台激光打印机,而不是5台激光打印机。使用XML模式,大多数这些错误都可以通过验证软件捕获。



0 人点赞过