`
lingyibin
  • 浏览: 196371 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

XML Schema 入门笔记--概述

    博客分类:
  • XML
阅读更多

 

XML Schema 是基于 XML 的 DTD 替代者。

(了解DTD:http://blog.csdn.net/qfs_v/archive/2008/05/26/2482023.aspx)

XML Schema 描述 XML 文档的结构。

XSD--> XML Schema Definition

 

 

XML Schema的作用:

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

XML Schema 支持数据类型

XML Schema 最重要的能力之一就是对数据类型的支持。

 

简单的示例:把下面的note.XML文档转化成xsd

 

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

 

 note.xsd

 

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">

<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>

 

代码解释:

下面的片断:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

显示 schema 中用到的元素和数据类型来自命名空间 "http://www.w3.org/2001/XMLSchema"。同时它还规定了来自命名空间 "http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs:

这个片断:

targetNamespace="http://www.w3school.com.cn" 

显示被此 schema 定义的元素 (note, to, from, heading, body) 来自命名空间: "http://www.w3school.com.cn"。

这个片断:

xmlns="http://www.w3school.com.cn" 

指出默认的命名空间是 "http://www.w3school.com.cn"。

这个片断:

elementFormDefault="qualified" 

指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定。

 

对 XML Schema 的引用

 

<?xml version="1.0"?>
<note
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd">

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
 其中的xsi:schemaLocation="http://www.w3school.com.cn note.xsd" 这句话就完成了对note.xsd的引入。

代码解释:

下面的片断:

xmlns="http://www.w3school.com.cn" 

规定了默认命名空间的声明。此声明会告知 schema 验证器,在此 XML 文档中使用的所有元素都被声明于 "http://www.w3school.com.cn" 这个命名空间。

一旦您拥有了可用的 XML Schema 实例命名空间:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

您就可以使用 schemaLocation 属性了。此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置:

xsi:schemaLocation="http://www.w3school.com.cn note.xsd"


 

分享到:
评论

相关推荐

    Spring2.5.6学习笔记-最新

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"&gt; &lt;!-- 具体的...

    spring从入门到精通精简笔记

    ### Spring从入门到精通精简笔记 #### 一、Spring框架概述 Spring 是一个开源的 Java 平台框架,提供了一种全面的方式来管理和控制应用程序的各种组件和服务。它最初由 Rod Johnson 创建,旨在解决企业级应用开发...

    传智播客 方立勋 javaweb 完全笔记

    ### 传智播客方立勋JavaWeb完全笔记知识点概览 #### Eclipse 使用与调试技巧 **1.1 Eclipse 的使用** - **介绍**: Eclipse 是一款功能强大的集成开发环境(IDE),广泛应用于 Java 开发中。 - **核心功能**: - ...

    赖家材Struts 传智播客笔记下载

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt; &lt;display-name&gt;Struts Application...

    J2EE学习笔记(J2ee初学者必备手册)

    - **XML Schema**:XML Schema定义了XML文档的结构和约束。 - **XML解析**:了解DOM(Document Object Model)和SAX(Simple API for XML)两种解析方式的原理及使用场景。 #### Oracle学习笔记 Oracle是一种广泛...

    方立勋30天轻松掌握JavaWeb视频笔记

    - **XML Schema**:探讨XML Schema的基本概念及约束规则的定义方法。 ##### 12. HTTP协议 - **HTTP协议简介**:从概念入手,讲解HTTP协议的基本原理。 - **HTTP版本差异**:对比HTTP 1.0与HTTP 1.1的主要区别。 - *...

    Spring笔记.md

    ### Spring框架快速入门详解 #### 一、Spring框架概述 Spring框架是一个开源的企业级Java应用框架,它由Rod Johnson在2003年发起并创建。Spring的核心特性包括依赖注入(Dependency Injection, DI)、面向切面编程...

    Spring框架笔记

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"&gt; ``` **...

    spring笔记

    - **Schema约束**:使用XML schema定义来校验配置文件的有效性。 - **配置对象创建**:在配置文件中指定如何创建和配置对象。 #### Bean管理 - **Bean实例化的方式**: - **无参构造函数**:最常用的创建方式,...

    学习spring时的笔记

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"&gt; ``` 在这个...

    韩顺平Spring笔记

    此文件通常放置在`src`目录下,并引用XML Schema定义。 3. **配置Bean**:在`applicationContext.xml`中声明Bean,如: ```xml 韩顺平 ``` 4. **使用Bean**:在Java代码中,通过ApplicationContext获取...

    gsoap网络资源汇总和相关连接

    #### 一、概述 gSOAP是一个功能强大的工具包,用于在C和C++中实现Web服务。它支持多种标准协议,包括SOAP、HTTP、XML Schema等,使得开发者能够轻松创建、部署和使用基于Web的服务。本文将根据提供的链接对gSOAP的...

    Java/JavaEE 学习笔记

    第四章 XML Schema.....................115 第五章 XML解析...................119 Oracle学习笔记...............121 前言....................................121 第一章 Selecting Rows........................

Global site tag (gtag.js) - Google Analytics