- 浏览: 108875 次
- 性别:
- 来自: 北京
最新评论
-
oaklet:
最新改进型
# coding:gbk
import sys
...
密码生成小工具 -
西斧头帮老大-_-:
楼主,那个我写了个例子
Map<String,Strin ...
EHCache简单使用 -
hopana:
发一下源代码吧,想学习一下
EHCache简单使用 -
menghuannvxia:
谢谢,学习了
EHCache简单使用 -
wtaisi:
非常好。。。。
EHCache简单使用
简介
XML Schema 是 W3C 标准。
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 描述 XML 文档的结构。
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。
详细内容请参考http://www.w3.org/XML/Schema
XML Schema 是符合 XML 语法的文档,是形式良好的 XML 文档,比如:
一个简单的例子:
简易元素
简易元素指那些仅包含文本的元素。它不会包含任何其他的元素或属性。
不过,“仅包含文本”这个限定却很容易造成误解。文本有很多类型。它可以是 XML Schema 定义中包括的类型中的一种(布尔、字符串、数据等等),或者它也可以是您自行定义的定制类型。
定义简易元素的语法:
此处 xxx 指元素的名称,yyy 指元素的数据类型。XML Schema 拥有很多内建的数据类型。
例如 radius 就是一个简易元素。
定义属性的语法是:
在此处,xxx 指属性名称,yyy 则规定属性的数据类型。XML Schema 拥有很多内建的数据类型。
简易元素无法拥有属性。假如某个元素拥有属性,它就会被当作某种复合类型。所有的属性均作为简易类型来声明。
最常用的类型是:
复合元素
复合元素指包含其他元素及/或属性的 XML 元素。
有四种类型的复合元素:
注释:上述元素均可包含属性!
例如 PointType 就是一个复合元素。
复合空元素示例:
xsd定义1
xsd定义2
复合类型仅包含元素:
xsd定义1
xsd定义2
仅含文本的复合元素:
xsd定义1
xsd定义2
对于仅包含文本的请使用 extension 或 restriction 元素来扩展或限制元素的基本简易类型:
带有混合内容的复合类型:
xsd定义1
xsd定义2
XSD 复合类型指示器
通过指示器,我们可以控制在文档中使用元素的方式。
Order 指示器
Order 指示器用于定义元素的顺序。
<all> 指示器规定子元素可以按照任意顺序出现,且每个子元素必须只出现一次:
<choice> 指示器规定可出现某个子元素或者可出现另外一个子元素(非此即彼):
<sequence> 规定子元素必须按照特定的顺序出现:
Occurrence 指示器
Occurrence 指示器用于定义某个元素出现的频率。对于所有的 "Order" 和 "Group" 指示器(any、all、choice、sequence、group name 以及 group reference),其中的 maxOccurs 以及 minOccurs 的默认值均为 1。
<maxOccurs> 指示器可规定某个元素可出现的最大次数:
<minOccurs> 指示器可规定某个元素能够出现的最小次数:
如需使某个元素的出现次数不受限制,请使用 maxOccurs="unbounded" 这个声明。
Group 指示器
Group 指示器用于定义相关的数批元素。
元素组
元素组通过 group 声明进行定义:
<xs:group name="组名称">
...
</xs:group>
您必须在 group 声明内部定义一个 all、choice 或者 sequence 元素。下面这个例子定义了名为 "persongroup" 的 group,它定义了必须按照精确的顺序出现的一组元素:
在您把 group 定义完毕以后,就可以在另一个定义中引用它了:
属性组
属性组通过 attributeGroup 声明来进行定义:
<xs:attributeGroup name="组名称">
...
</xs:attributeGroup>
下面这个例子定义了名为 "personattrgroup" 的一个属性组:
在您已定义完毕属性组之后,就可以在另一个定义中引用它了,就像这样:
XML Schema 是 W3C 标准。
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 描述 XML 文档的结构。
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。
详细内容请参考http://www.w3.org/XML/Schema
XML Schema 是符合 XML 语法的文档,是形式良好的 XML 文档,比如:
- 它必须以 XML 声明开头
- 它必须拥有唯一的根元素
- 开始标签必须与结束标签相匹配
- 元素对大小写敏感
- 所有的元素都必须关闭
- 所有的元素都必须正确地嵌套
- 必须对特殊字符使用实体
一个简单的例子:
<?xml version="1.0" encoding="GBK"?> <circle xmlns:an="http://www.an.net/shape" name="demoCircle"> <center> <x>155</x> <y>231</y> </center> <radius>15.59</radius> </circle>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:an="http://www.an.net/shape" targetNamespace="http://www.an.net/shape" elementFormDefault="qualified"> <xs:element name="circle"> <xs:complexType> <xs:sequence> <xs:element name="center" type="an:PointType"/> <xs:element name="radius" type="xs:double"/> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> </xs:element> <xs:complexType name="PointType"> <xs:sequence> <xs:element name="x" type="xs:nonPositiveInteger"/> <xs:element name="y" type="xs:nonPositiveInteger"/> </xs:sequence> </xs:complexType> </xs:schema>
简易元素
简易元素指那些仅包含文本的元素。它不会包含任何其他的元素或属性。
不过,“仅包含文本”这个限定却很容易造成误解。文本有很多类型。它可以是 XML Schema 定义中包括的类型中的一种(布尔、字符串、数据等等),或者它也可以是您自行定义的定制类型。
定义简易元素的语法:
<xs:element name="xxx" type="yyy"/>
此处 xxx 指元素的名称,yyy 指元素的数据类型。XML Schema 拥有很多内建的数据类型。
例如 radius 就是一个简易元素。
定义属性的语法是:
<xs:attribute name="xxx" type="yyy"/>
在此处,xxx 指属性名称,yyy 则规定属性的数据类型。XML Schema 拥有很多内建的数据类型。
简易元素无法拥有属性。假如某个元素拥有属性,它就会被当作某种复合类型。所有的属性均作为简易类型来声明。
最常用的类型是:
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
复合元素
复合元素指包含其他元素及/或属性的 XML 元素。
有四种类型的复合元素:
- 空元素
- 包含其他元素的元素
- 仅包含文本的元素
- 包含元素和文本的元素
注释:上述元素均可包含属性!
例如 PointType 就是一个复合元素。
复合空元素示例:
<product prodid="1345"/>
xsd定义1
<xs:element name="product"> <xs:complexType> <xs:attribute name="prodid" type="xs:positiveInteger"/> </xs:complexType> </xs:element>
xsd定义2
<xs:element name="product" type="prodtype"/> <xs:complexType name="prodtype"> <xs:attribute name="prodid" type="xs:positiveInteger"/> </xs:complexType>
复合类型仅包含元素:
<person> <firstname>John</firstname> <lastname>Smith</lastname> </person>
xsd定义1
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
xsd定义2
<xs:element name="person" type="persontype"/> <xs:complexType name="persontype"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
仅含文本的复合元素:
<shoesize country="france">35</shoesize>
xsd定义1
<xs:element name="shoesize"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:integer"> <xs:attribute name="country" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>
xsd定义2
<xs:element name="shoesize" type="shoetype"/> <xs:complexType name="shoetype"> <xs:simpleContent> <xs:extension base="xs:integer"> <xs:attribute name="country" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType>
对于仅包含文本的请使用 extension 或 restriction 元素来扩展或限制元素的基本简易类型:
<xs:extension base="basetype"> .... .... </xs:extension> <xs:restriction base="basetype"> .... .... </xs:restriction>
带有混合内容的复合类型:
<letter> Dear Mr.<name>John Smith</name>. Your order <orderid>1032</orderid> will be shipped on <shipdate>2001-07-13</shipdate>. </letter>
xsd定义1
<xs:element name="letter"> <xs:complexType mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complexType> </xs:element>
xsd定义2
<xs:element name="letter" type="lettertype"/> <xs:complexType name="lettertype" mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complexType>
XSD 复合类型指示器
通过指示器,我们可以控制在文档中使用元素的方式。
Order 指示器
Order 指示器用于定义元素的顺序。
- All
- Choice
- Sequence
<all> 指示器规定子元素可以按照任意顺序出现,且每个子元素必须只出现一次:
<xs:element name="person"> <xs:complexType> <xs:all> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:all> </xs:complexType> </xs:element>
<choice> 指示器规定可出现某个子元素或者可出现另外一个子元素(非此即彼):
<xs:element name="person"> <xs:complexType> <xs:choice> <xs:element name="employee" type="employee"/> <xs:element name="member" type="member"/> </xs:choice> </xs:complexType> </xs:element>
<sequence> 规定子元素必须按照特定的顺序出现:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
Occurrence 指示器
Occurrence 指示器用于定义某个元素出现的频率。对于所有的 "Order" 和 "Group" 指示器(any、all、choice、sequence、group name 以及 group reference),其中的 maxOccurs 以及 minOccurs 的默认值均为 1。
- maxOccurs
- minOccurs
<maxOccurs> 指示器可规定某个元素可出现的最大次数:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string" maxOccurs="10"/> </xs:sequence> </xs:complexType> </xs:element>
<minOccurs> 指示器可规定某个元素能够出现的最小次数:
<xs:element name="person"> <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> </xs:element>
如需使某个元素的出现次数不受限制,请使用 maxOccurs="unbounded" 这个声明。
Group 指示器
Group 指示器用于定义相关的数批元素。
- Group name
- attributeGroup name
元素组
元素组通过 group 声明进行定义:
<xs:group name="组名称">
...
</xs:group>
您必须在 group 声明内部定义一个 all、choice 或者 sequence 元素。下面这个例子定义了名为 "persongroup" 的 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>
在您把 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:element name="country" type="xs:string"/> </xs:sequence> </xs:complexType>
属性组
属性组通过 attributeGroup 声明来进行定义:
<xs:attributeGroup name="组名称">
...
</xs:attributeGroup>
下面这个例子定义了名为 "personattrgroup" 的一个属性组:
<xs:attributeGroup name="personattrgroup"> <xs:attribute name="firstname" type="xs:string"/> <xs:attribute name="lastname" type="xs:string"/> <xs:attribute name="birthday" type="xs:date"/> </xs:attributeGroup>
在您已定义完毕属性组之后,就可以在另一个定义中引用它了,就像这样:
<xs:attributeGroup name="personattrgroup"> <xs:attribute name="firstname" type="xs:string"/> <xs:attribute name="lastname" type="xs:string"/> <xs:attribute name="birthday" type="xs:date"/> </xs:attributeGroup> <xs:element name="person"> <xs:complexType> <xs:attributeGroup ref="personattrgroup"/> </xs:complexType> </xs:element>
发表评论
-
Java动态编译笔记
2012-12-28 19:11 3963import java.io.File; import ... -
JAXB的简单使用
2009-06-16 16:41 2936环境: jdk1.6.0_07 JavaTM Architec ... -
iBatis的简单使用
2009-06-15 16:35 2558简介 使用 SQL Map,能够大大减少访问关系数据库的代码 ... -
面向对象的原理
2009-06-10 16:17 2954开放封闭原理(Open Closed Principle) 类 ... -
重构学习笔记
2009-03-19 22:48 1178引子 过度设计,是指代 ... -
操作String的几个Method
2009-02-09 14:08 3595public static String join ... -
EHCache简单使用
2009-01-02 23:17 25952关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应 ... -
使用Jakarta-ORO库的几个例子
2008-08-26 19:14 13912简介 Jakarta-ORO是最全面以及优化得最好的正 ... -
Oracle入库速度测试(Java版)
2008-08-26 19:08 2865测试环境: Intel Xeon 2.4G四核心 2. ... -
使用IReport制作JasperReport报表
2007-08-31 19:08 2666JasperReport是一个报表生成工具,用户须按照它编写的 ... -
使用XMLBeans简化XML操作
2007-08-31 18:56 1925环境: jdk1.5.0_12 xmlbeans- ... -
Spring一瞥
2007-07-29 10:39 1272Spring的特色: The Inv ... -
Struts来龙去脉
2007-07-29 08:49 1576Struts的特色: 使用框架的好处是,你将从别人已经付诸 ...
相关推荐
第一页:XML 和 XML Schema * 编写格式良好的 XML 文档,包括足球队和篮球队的信息 * 在 XML Schema 文档中定义一个雇员的年龄为 18-58 周岁之间的元素声明 知识点: * XML 文档的基本结构和语法 * XML Schema 的...
5. **ASP与XMLSchema**:验证XML文档是否符合指定的XML Schema。 第三章“ASP组件”可能涵盖ASP与XML相关的服务器组件: 1. **MSXML组件**:介绍微软提供的XML解析和处理组件,如MSXML2.ServerXMLHTTP和MSXML2.DOM...
"XML简述"和"XML教程"会引导你理解XML的基本结构、命名规则、文档类型定义(DTD)或XML Schema用于验证数据的正确性,以及XPath、XSLT等工具来查询和转换XML数据。 XML文档通常包含元素、属性、注释、处理指令等...
3. DTD与XML Schema:可能会讲解如何通过DTD(Document Type Definition)或XML Schema来定义XML文档的结构和数据类型,以确保文档的合法性。 4. 属性和元素:区分元素和属性的用途,元素通常用于描述对象,而属性...
3. **XML Schema验证**: Dom4j提供API来验证XML文档是否符合特定的XML Schema定义。 4. **DOM4J与JAXB集成**: 两者结合可以方便地进行XML到Java对象的映射,以及反之。 **五、Dom4j的优势** 1. **简洁API**: Dom4...
此外,你还可以讨论如何验证XML文档的正确性,例如,通过XML Schema (XSD) 或者 Relax NG 来定义文档的结构和约束。 通过这个项目实践,你不仅会掌握XML的基本概念,还会熟悉XMLSPY的使用,为后续的XML应用开发奠定...
#### 一、XML简述 XML (Extensible Markup Language),即可扩展标记语言,是一种用于存储和传输数据的标准格式。它与HTML不同,HTML主要用于网页展示,而XML则更多地被用于数据传输和存储。 ##### XML与HTML的区别...
- **W3C XML工作组(非正式)**:简述了参与制定XML标准的组织和人员。 通过以上概述,我们可以看到XML 1.0标准为创建、解析和处理XML文档提供了一套全面的规定和指南,这不仅有助于确保XML文档的一致性和可读性,...
##### XML文档简述 XML(可扩展标记语言)是一种灵活且强大的数据格式,用于存储和传输信息。自1998年由W3C(World Wide Web Consortium)发布以来,XML因其能够清晰地表示数据结构和内容,而在各种领域得到了广泛...
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"> <!-- 配置...
db2advis -d mydb -i ALL.sql -noxml -user myuser/mypass -schema myuser ``` - `-d` 指定数据库名称。 - `-i` 指定包含SQL语句的文件。 - `-noxml` 表示输出格式不使用XML。 - `-user` 指定登录数据库的用户名/...
同时,通过XML Schema(XS)可以定义和约束XML文档的数据结构,确保数据的一致性和准确性。 电子商务技术基础研究主要关注如何在不同商业系统和操作系统间建立标准的数据表示方法。在上述电子商务系统示意图中,...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> ,manager-gui,manager-jmx,manager-script,manager-...
修改文件在 C:\Windows\System32\inetsrv\config\schema\目录下的 IIS_schema.xml文件 用notepad打开修改相关参数即可(修改的时候注意权限) 要修改的值是 代码如下: <attribute name=”maxAllowedContentLength...
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0 <groupId>...
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"> ``...