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

原创 2012年03月25日 19:16:58

阻止派生新的简单类型

 

Schema通过使用<simpleType.../>元素的可选final属性和<schema.../>的finalDefault属性的值来限制派生新的类型。

final和finalDefault可接受如下值:

1:#all:阻止该类型的任何形式派生。

2:restriction、list、union的任意组合:阻止相对应的派生方式。

3:"":默认方式,final的默认方式是<schema.../>的finalDefault属性的值,finalDefault的默认方式是不限制派生。

 

Schema通过使用<complexType.../>元素的可选final属性和<schema.../>的finalDefault属性的值来限制派生新的类型。

1:#all:阻止该类型的任何形式派生。

2:extension和restriction的任意组合:阻止相对应的派生方式。

 

Schema可用过使用fixed属性来阻止相应的值被修改。

当fixed=true时,阻止生效。

 

合并多个Schema

 

Schema提供了3种方式来合并多个Schema:

1:使用<include.../>:必填属性schemaLocation:指定Schema的位置,可选属性id;

2:使用<redefine.../>:是<include.../>的增强版,额外增加了重定义Schema组件的功能;

3:使用<import.../>:必填属性schemaLocation,可选属性namespace,可选属性id。

 

<include.../>使用注意事项:

1:必需作为<schema.../>的子元素使用。

2:必须放在<schema.../>的开头,但<import.../>、<redefine.../>、<annotation.../>除外。

3:使用<include.../>包含进来的文件要么没有命名空间,要么命名空间与当前文件命名空间相同

 

<redefine.../>使用注意事项:

1:只能基于已有的组件增加限制(使用<restriction.../>)或增加扩展(使用<extension.../>)。

2:增加限制时只能缩小限制范围,不可违反原类型的约束。

 

<import>使用注意事项:

1:必需作为<schema.../>的子元素使用。

2:必须放在<schema.../>的开头,但include.../>、<redefine.../>、<annotation.../>除外。

3:使用<import.../>包含进来的文件要么没有命名空间,要么命名空间与当前文件命名空间不同

 

anyType类型

anyType是所有类型的基类型,所有原子类型都是由其派生出来的,其没有任何约束限制,常用于限制复杂类型派生新的复杂类型,而不用于定义元素。

 

<xs:element name="name" type="angType" />


 

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

XML Schema规范共推荐12种约束。 范围约束 minInclusice、manInclusice、minExclusive、maxExcusive 长度约...
  • Crystalbruce
  • Crystalbruce
  • 2012年03月24日 08:59
  • 3980

自定义schema文件。xml引入该规则。

第1步:创建02.xsd文件,定义相应的规则:首先相关定义: Order 指示器包含一下三种: All :规定它里面元素出现的顺序可以是任意的,但是相同的元素只能1次; ...
  • qq_31451471
  • qq_31451471
  • 2016年12月27日 01:34
  • 658

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

Schema支持的数据类型分两大类: 简单类型:使用,即可做元素,也可做属性。内容必须是简单类型值,不能包含属性。 复杂类型:使用,只可做元素。包含简单内容的复杂类型——内容是简单类型值,并包含属...
  • Crystalbruce
  • Crystalbruce
  • 2012年03月24日 08:32
  • 1322

XML三部曲之Schema详解

前几篇博客讨论了XML及DTD的用法,通过讨论了解到XML是一种元标记语言,通过它可以定义新的标记语言。另外,文档定义模型为XML文档提供了规范,DTD的引入虽然解决了XML文档的规范化问题,但它文件...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2013年11月28日 22:16
  • 2768

XML学习之Xml Schema:三、自定义简单类型--facet

要定义新的简单类型,只能从现有的简单类型派生。对于简单类型只有限制派生没有扩展派生,通过简单派生得到的新的简单类型是其原来类型的子集。Xml Schema推荐了标准的12个面(facet)来限制约束。...
  • tuolingss
  • tuolingss
  • 2013年01月22日 11:32
  • 6073

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

转自:   http://blog.csdn.net/crystalbruce/article/details/7389277 Schema的内置类型继承关系     ...
  • hemeinvyiqiluoben
  • hemeinvyiqiluoben
  • 2015年06月05日 14:36
  • 337

java通过schema校验xml

之前在做项目时时常需要通过一些“小xml”传输或存储一些信息,然后就在读取的时候需要先判断xml数据是否符合要求,包括这次也是这样,不同的是 这次我设计了一个比较复杂的xml,结果读取xml数据 里穿...
  • yunduanyou
  • yunduanyou
  • 2017年07月28日 17:57
  • 241

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

Schema使用定义元素。   元素类型分类: 普通元素、空元素类型、混合内容类型。   空元素类型用于定义元素内容为空(null)的元素。 Schema提供了两种定义空元素类型的方式: ...
  • Crystalbruce
  • Crystalbruce
  • 2012年03月26日 10:05
  • 3519

一个使用自定义命名空间的Schema文件,xml文件和castor生成的java代码的例子

[转载]一个使用自定义命名空间的Schema文件,xml文件和castor生成的java代码例子。平时只使用到了最简单的xml数据绑定,现在测试一个稍微复杂点的例子。关于xml Schema,有篇好文...
  • alexmajy
  • alexmajy
  • 2005年02月17日 12:27
  • 2319

Schema与数据类型优化

关于数据类型选择的一些记录 选择优化的数据类型 更小的通常更好。一般应该尽可能使用能正确存储数据的最小数据类型,更小的数据类型通常更快,因为他们占用更少的磁盘、内存和CPU缓存,并且处理需...
  • java_4_ever
  • java_4_ever
  • 2014年11月14日 13:55
  • 939
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记——XML Schema自定义数据类型(续)
举报原因:
原因补充:

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