XML 教程

XML 教程 XML 简介 XML 用途 XML 树结构 XML 语法 XML 元素 XML 属性 XML 命名空间 XML Display XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 验证器 XML DTD XML Schema XML 服务器 XML 实例 XML 测验

XML AJAX

AJAX 简介 AJAX XMLHttp AJAX 请求 AJAX 响应 AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用程序 AJAX 实例

XML DOM

DOM 简介 DOM 节点 DOM 访问节点 DOM 节点信息 DOM 节点列表 DOM 节点遍历 DOM 节点导航 DOM 获取节点 DOM 更改节点 DOM 删除节点 DOM 替换节点 DOM 创建节点 DOM 添加节点 DOM 克隆节点 DOM 实例

XPath 教程

XPath 简介 XPath 节点 XPath 语法 XPath 轴(Axes) XPath 运算符 XPath 实例

XSLT 教程

XSLT 简介 XSL 语言 XSLT 转换 XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT 客户端 XSLT 服务端 XSLT 编辑 XML XSLT 实例

XQuery 教程

XQuery 简介 XQuery 实例 XQuery FLWOR 表达式 XQuery FLWOR + HTML XQuery 术语 XQuery 语法 XQuery 添加元素和属性 XQuery 选择和过滤 XQuery 函数

XML DTD

DTD 简介 DTD 构建模块 DTD 元素 DTD 属性 DTD 元素 vs. 属性 DTD 实体 DTD 实例

XSD Schema

XSD 简介 XSD How To XSD <schema> XSD 元素 XSD 属性 XSD 限制

XSD Complex

XSD 复杂元素 XSD 空元素 XSD 仅限元素 XSD 纯文本元素 XSD 混合 XSD 指示器 XSD <any> XSD <anyAttribute> XSD 替换 XSD 实例

XSD 数据类型

XSD 字符串 XSD 日期 XSD 数值 XSD 杂项 XSD 参考手册

Web Services

XML Services 简介 XML WSDL XML SOAP XML RDF XML RSS

参考手册

DOM 节点类型 DOM 节点 DOM NodeList DOM NamedNodeMap DOM 文档 DOM 元素 DOM 属性 DOM 文本 DOM CDATA DOM 注释 DOM XMLHttpRequest DOM 解析器 XSLT 元素 XSLT/XPath 函数


XML Schema 架构教程

什么是 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模式,大多数这些错误都可以通过验证软件捕获。