- 浏览: 251867 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (221)
- A序 (4)
- 系统学习(读书笔记) (5)
- Computer-base (14)
- RFC-协议规范 (9)
- OS-windows (3)
- OS-linux (10)
- 项目管理-需求设计 (2)
- 设计模式 (1)
- Java-基础-抽象规范 (15)
- Java-基础-core-code (15)
- Java-Thread (15)
- JAVA-stream 流 (1)
- JAVA-socket (13)
- JAVA-SSL (5)
- JAVA-RMI-JMX-OSGI (7)
- java-web (6)
- 工具 (19)
- W3C (16)
- DB (12)
- 读书笔记 (5)
- 中间件 (1)
- C/C++ (1)
- JAVA-JAXB (3)
- Java-UI (1)
- JAVA命令 (1)
- JVM实战 (1)
- java-base (3)
- maven (1)
最新评论
-
Nabulio:
厉害
tomcat 源码学习 -
zbz:
例子很简单,可是怎么设置访问账号和密码呢?注释掉的那段不起作用 ...
jmx 实例--最简单的例子 -
zk302:
格式可以优化下
sql-经典例子练习 -
tuspark:
eclipse的访问控制图标,可以看这篇《eclipse的访问 ...
Eclipse(四)常用设置 -
xlshl43:
流比呀。。。但这排版看的有点蛋疼。。。
Java核心代码(二)Class loader
XSD(XML Schema Definition)是DTD(Document Type Definition)替代者的原因,
一是据将来的条件可扩展,
二是比DTD丰富和有用,
三是用XML书写,使用XML语法,结构比DTD简单的多,
四是支持数据类型,更容易地定义数据约束(data facets),验证数据
五是支持命名空间。
XSD用途:
文档设计者可以通过XSD指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。
XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
XSD例子:
<?xml version="1.0"?>
//<schema>是每一个XSD的根元素
//显示 schema 中用到的元素和数据类型来自命名空间 "http://www.w3.org/2001/XMLSchema"。
//同时它还规定了来自命名空间 "http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
//被此 schema 定义的元素 (note, to, from, heading, body) 来自命名空间: "http://www.w3school.com.cn"。
targetNamespace="http://www.w3school.com.cn"
//默认的命名空间是 "http://www.w3school.com.cn"。
xmlns="http://www.w3school.com.cn"
//任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定
elementFormDefault="qualified">
...
...
</xs:schema>
XML引用XSD例子://也可以只保留<note>,使用时通过JAXB来指定XSD
<?xml version="1.0"?>
//指定了默认命名空间的声明
<note xmlns="http://www.w3school.com.cn"
//指定XSD实例命名空间
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//XSD位置
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>
内建的数据类型
xs:string
xs:decimal
xs:integer
xs:boolean
xs:date
xs:time
XSD 简易元素:只包含文本的元素。它不会包含任何其他的元素或属性。
<xs:element name="lastname" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="dateborn" type="xs:date"/>
<xs:element name="color" type="xs:string" default="red"/>
<xs:element name="color" type="xs:string" fixed="red"/>
<lastname>Smith</lastname>
<age>28</age>
<dateborn>1980-03-27</dateborn>
XSD 属性
<xs:attribute name="lang" type="xs:string"/>
<lastname lang="EN">Smith</lastname>
XSD 限定(restriction)用于为 XML 元素或者属性定义可接受的值。对 XML 元素的限定被称为 facet。
对值的限定
<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
对一组值的限定:枚举约束(enumeration constraint)。
<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
或
<xs:element name="car" type="carType"/>
<xs:simpleType name="carType"> //carType可以被共享使用。
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
对一系列值的限定:正则/模式约束(pattern constraint)。
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
//<xs:pattern value="[A-Z][A-Z][A-Z]"/>3个字母
// <xs:pattern value="([a-z])*"/>
//<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
restriction的其他一级子元素
<xs:length value="8"/>
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
//将移除所有空白字符(换行、回车、空格以及制表符会被替换为空格,开头和结尾的空格会被移除,而多个连续的空格会被缩减为一个单一的空格)
<xs:whiteSpace value="collapse"/>
//移除所有空白字符(换行、回车、空格以及制表符):
<xs:whiteSpace value="replace"/>
//"XML处理器"不会移除任何空白字符--------"XML处理器",browser-HTML处理器------------
<xs:whiteSpace value="preserve"/>
XSD复合元素:
<xs:element name="employee" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
在已有的复合元素之上以某个复合元素为基础,然后添加一些元素:
<xs:element name="employee" type="fullpersoninfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fullpersoninfo">
<xs:complexContent>
<xs:extension base="personinfo">
<xs:sequence>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
XSD 复合类型指示器
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string" maxOccurs="10" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Order 指示器:
All //子元素可以按照任意顺序出现,且每个子元素必须只出现一次
Choice //只能出现一个子元素
Sequence
Occurrence 指示器:
maxOccurs //某个元素可出现的最大次数
minOccurs
Group 指示器:
Group name
attributeGroup name
XML例子:
<person>
<full_name>David Smith</full_name>
<child_name>Jogn</child_name>
<child_name>mike</child_name>
<child_name>kyle</child_name>
<child_name>mary</child_name>
</person>
Group例子:
<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</xs:group>
<xs:element name="person" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:group ref="persongroup"/> //与复合元素功能类似<xs:extension base="personinfo">
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
XML Schema
描述 XML 文档的结构。DTD 替代者。同DTD一样,主要是为了约束xml格式,验证是否非法,规范读写xml。
2001年成为 W3C 标准。也称作 XML Schema 定义(XML Schema Definition,XSD)。
由 XML 编写。使用 XML 语法。不必学习新的语言
可使用 XML 解析器来解析 Schema 文件
可通过 XML DOM 来处理 Schema
可通过 XSLT 来转换 Schema
web.xml,spring.xml采用schema
spring头文件schema示例解释
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
xmlns:声明默认的命名空间
xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi:声明XML Schema实例命名空间,并将xsi前缀与该命名空间绑定,这样模式处理器就可以识别xsi:schemaLocation属性。XML Schema实例命名空间的前缀通常使用xsi。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation:关联:命名空间与模式位值
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
发表评论
-
json-总结
2012-11-18 19:31 1160JSON: com.abchi ... -
jquery-总结
2012-11-18 19:32 983jQuery的另一好处。控制与html分离 ... -
ajax-总结
2012-11-18 19:33 725ajax相关技术: DOM(Docu ... -
html-dom-总结
2012-11-18 19:34 1013-------------------------b ... -
DOM-总结
2012-11-19 08:25 915DOM 是 W3C(万维网联盟) 的推荐标准。 ... -
javascript-例子
2012-11-15 00:12 902/** * 工具对象 */ comet.uti ... -
javascript-特效
2012-11-18 19:30 958事件 <body onmousedown=&qu ... -
javascript-总结
2012-11-15 00:03 811JavaScript 是一种脚本语言 ... -
XQuery-总结
2012-11-19 08:26 687XQuery XML Query相对 ... -
DTD-总结
2012-11-19 08:26 965DTD(文档类型定义) 每一个 XML ... -
xpath-总结
2012-11-19 08:26 827XPath 读取XML的语言。XQu ... -
xml-总结
2012-11-19 08:26 906XML 指可扩展标记语言(EXtensible Mark ... -
css 总结
2012-11-15 00:03 944样式三种使用方式 外部样式表 ... -
html-总结
2012-11-15 00:02 9490、文章结构______________________ ... -
w3c-概述
2012-11-15 00:02 1040W3C是英文 World Wide Web Consor ...
相关推荐
<note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://example.com/note.xsd"> <to>George <from>John <heading>Reminder <body>Don't forget the meeting! ``` 对应的 ...
XML Schema语言也就是XML Schema Definition (XSD)。 XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档...
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML ...
XML Schema 的完整名称为 XML Schema Definition (XSD)。 - **XML Schema 与 DTD 的区别**:XML Schema 被认为是 Document Type Definition (DTD) 的继承者。与 DTD 相比,XML Schema 提供了更多的灵活性和功能,...
XML Schema语言也被称为XML Schema Definition(XSD)。XML Schema的作用是定义一份XML文档的合法组件群,就像DTD的作用一样。 XML Schema的主要功能包括: 1. 定义可以出现在文档里的元素 2. 定义可以出现在文档...
XML Schema(XSD)标准是用来定义XML文档的结构和数据类型的,它比早期的DTD(Document Type Definition)提供了更强大的功能,例如支持复杂数据类型、命名空间和更复杂的约束。XmlSchema库则为Java开发者提供了处理...
XSD(XML Schema Definition)则是用来定义XML文档结构和数据类型的规范,它为XML提供了严格的语法规则,确保了数据的一致性和有效性。本篇文章将深入探讨如何根据XML文件生成对应的XSD schema文件,以便更好地管理...
"xmlschema-1.4.5.jar.zip"是一个包含XML Schema相关实现的Java类库,主要用于处理和验证XML文档是否符合特定的XSD规范。 在Java环境中,`xmlschema-1.4.5.jar`是一个关键组件,它提供了一系列API供开发者使用,...
在IT行业中,XML(eXtensible Markup Language)是一种用于标记数据的标准格式,而XSD(XML Schema Definition)则是用于定义XML文档结构和数据类型的规范。"xsd生成xml工具"是一个实用程序,它允许开发者根据XSD...
XML Schema语言也被称为XML Schema Definition (XSD)(XML Schema定义). -------------------------------------------------------------------------------- What You Should Already Know 你应该已经掌握的...
XML Schema,全称为XML Schema Definition (XSD),是一种用于描述XML文档结构和数据类型的规范,它是W3C(World Wide Web Consortium)所制定的标准。XML Schema的出现是为了替代早期的DTD(Document Type ...
XSD,全称为XML Schema Definition,是W3C(World Wide Web Consortium)制定的一种XML文档结构定义语言,用于规范和验证XML文档的结构和数据类型。它提供了比DTD(Document Type Definition)更为强大和灵活的XML...
1. **XmlSchema**: 这是XML Schema的根对象,用于表示整个XML Schema文档。 2. **XmlSchemaSet**: 用于存储和加载多个XML Schema,并进行验证。可以使用Add方法添加新的XML Schema。 3. **XmlSchemaValidator**: ...
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML ...
XML Schema是以XML语言为基础的,它用于可替代DTD。 一份XML schema文件描述了XML文档的结构。 XML Schema语言也被称为XML Schema Definition (XSD)(XML Schema定义).
XML Schema,全称为XML Schema Definition (XSD),是XML(可扩展标记语言)的一个关键组成部分,用于定义XML文档的结构和数据类型。2002年出版的《Addison Wesley - The XML Schema Complete Reference》是对XML ...
XML Schema语言通常也被称作XML Schema Definition (XSD)。 #### 应具备的基础知识 在深入学习XML Schema之前,建议读者具备以下基础知识: - 对XML有基本的理解。 - 对XML Namespaces有一定的了解。 - 对DTD有...