学习笔记——XML Schema复杂类型

原创 2012年03月25日 21:59:52

复杂类型分2种:

包含简单内容的复杂类型——内容是简单类型值,并包含属性;

包含复杂内容的复杂类型——包含子元素、空元素或混合内容的元素,不管是否包含属性。

 

复杂类型定义使用<complexType.../>,其可接受如下两种子元素:

<simpleContent.../>:用于定义包含简单内容的复杂类型

<complexContext.../>:用于定义包含复杂内容的复杂类型

 

复杂类型的派生方式:

<restriction.../>:限制派生(<simpleContent.../>或<complexContext.../>的子元素);

<extension.../>:扩展派生(<simpleContent.../>或<complexContext.../>的子元素);

 

包含简单内容的复杂类型可由扩展简单类型扩展复杂类型限制包含简单内容的复杂类型而来。

即:

扩展简单类型—>包含简单内容的复杂类型

扩展复杂类型—>包含简单内容的复杂类型

限制复杂类型—>包含简单内容的复杂类型

 

限制包含简单内容的复杂类型派生方式:

1:为元素内容或属性增加进一步的约束;

2:删除某些属性。

 

包含复杂内容的复杂类型可有限制anyType派生新类型扩展简单类型扩展复杂类型

 

Schema有这么一个约定:如果某个复杂类型是由现在anyType派生出来的,那么在定义该复杂类型时可以省略<complexContent.../>和<restriction.../>元素,而直接在<complexType.../>元素内使用<sequence.../>、<choice.../>、<all.../>和<attribute.../>来定义元素和属性。

 

Schema的复杂类型可由复杂类型进一步派生而来。 

 

以限制派生方式来派生新类型时,Schema对基类型中的子元素和属性的属性的处理方式是不一样的:派生类型默认会删除基类型中的所有子元素定义,但会保留其中的所有属性定义。

所以派生新类型是如果需要保留基类型的子元素,必须重新定义这些子元素,如果要删除指定属性,则定义该属性是使用use="prohibited"。

 

扩展包含子元素的类型时派生出来的新类型不可以是混合内容类型。

 

基类型中使用<all.../>定义子元素时,其通过扩展派生出来的新类型无法添加新的子元素;

即使基类型中没有使用<all.../>元素的定义子元素,在通过扩展派生新类型时也不能添加由<all.../>元素包含的子元素。

 

扩展混合内容类型派生出来的新类型必须也是混合内容类型。

[XML]学习笔记(六)——XML Schema复杂类型

六、 复杂类型: a) 复合元素:指包含其他元素和/或属性的XML元素。有四种复合元素:空元素、包含其他元素的元素、仅包含文本的元素、包含元素和文本的元素。 b) 复合空元素:如一个空的XML元素:,...

学习笔记——XML Schema自定义简单数据类型

XML Schema规范共推荐12种约束。 范围约束 minInclusice、manInclusice、minExclusive、maxExcusive 长度约...

学习笔记——XML Schema内置数据类型

Schema的内置类型继承关系       Schema内置类型说明   Table 2. Simple Types Built In to XML Schema ...

学习笔记——XML Schema自定义数据类型(续)

阻止派生新的简单类型   Schema通过使用元素的可选final属性和的finalDefault属性的值来限制派生新的类型。 final和finalDefault可接受如下值: 1:#all...

[XML]学习笔记(五)——XML Schema简单类型元素与属性

一、XML Schema简介: a)        XML Schema 是基于XML的DTD替代者。 b)        XML Schema 可描述XML文档的结构。 c)        XML ...

Xml学习笔记:(一)schema元素类型

一、注释元素1、xsd:annotation xsd:annotation包含两个子元素xsd:documention和xsd:appinfo,这两个元素是schema中唯一的混合元素类型,可以包含任...

疯狂XML学习笔记(9)-------------Schema内置类型

XML Schema内置类型:           Schema内置类型说明   Table 2. Simple Types Built In to XML Schema Sim...

学习笔记——XML Schema简介及命名空间

XML Schema Definition(XSD) XML本身也是XML文档,其根元素是 支持的属性: elementFormDefault=qualified | unqualified:用...

xml学习笔记——dtd和schema

XML是一种用作网络数据传输的语言,它不同于HTML,HTML主要用来表现数据,而XML主要用来传输数据。 XML的知识点很多,它是一门比较复杂的语言。在这里要谈的只是冰山一角——XML的两种文档定...

学习笔记——XML Schema定义元素

Schema使用定义元素。   元素类型分类: 普通元素、空元素类型、混合内容类型。   空元素类型用于定义元素内容为空(null)的元素。 Schema提供了两种定义空元素类型的方式: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记——XML Schema复杂类型
举报原因:
原因补充:

(最多只允许输入30个字)