XML Schema
来源:互联网 发布:js有设计模式吗 编辑:程序博客网 时间:2024/05/11 10:46
Xml是一种元标记语言,用户可以根据自己的需要来定义标记,在标记的意义上可以具有相当大的灵活性。标记的定义可以再文档定义类型(Document Type Definition,DTD)中加以描述,xml把DTD看成是一本词汇表和某类文档的句法。
但是DTD语法相当复杂,不符合xml文件的标准,自成一个体系,xml schema和DTD一样是负责定义和描述xml文档的结构和内容模式的,但是,它可以定义xml文档中存在哪些元素以及元素之间的关系,并且可以定义元素和属性的数据类型,xml schema本身是一个xml文档,符合xml的语法结构,可以用通用的xml解析器来解析。
一个简单的Schema文档:Schema文档的根元素必须为<Schema>
<?xml version = “1.0”>
<Schema>
<ElementType name = “title” content = “textOnly” model = “closed”></ ElementType >
</Schema>
Xml Schema的语法结构:
ElementType是Schema中最基本的元素,它用来定义XML文件中元素的格式,数据类型等。其基本格式为:
<ElementType
Content = “{empty | textOnly | eltOnly | mixed}”
dt:type = “datatype”
model = “{open | closed}”
name = “idref”
order = “{one | seq | many}”>
</ElementType>
Content是描述元素中的内容的类型,emtpy空,textOnly元素只包含文本类型的内容,eltOnly只包含元素类型的内容,即元素嵌套。mixed混合。
Model表明是否要严格遵守Schema中的定义,open表明可以添加未专门定义过的元素,文本等。Closed只允许添加定义过的。
Name定义元素的名称,order定义元素的子元素的排列顺序,one一种方式,seq按指定的方式,many可以按照任何方式。
在一个模式文档中,当需要定义新的复杂的类型时候,应当使用complexType元素来定义。举个例子就可以明白了:USAddress是一个复杂类型,包含了两个元素和一个属性,则Schema的声明可以是:
<xsd:complexType name = “USAddress”>
<xsd:sequence>
<xsd:element name = “name” type = “xsd:string”/>
<xsd:element name = “street” type = “xsd:string”/>
</xsd:sequence>
<xsd:attribute name = “country” type = “xsd:string” fixed = “US”/>
<xsd:complexType>
AttributeType也是xml的元素之一,可以表示Element中的某些特征,基本格式为:
<AttributeType
default = “default-value”
dt:type = “primitive-type”
dt:value = “enumerated-values”
name = “idref”
required = “{yes | no}”
/>
default用来设定Attribute的默认值,requried定义该Attribute是否一定该包含在element中,也是表示包含,no表示不包含。
Description元素用于说明Schema定义的内容,group元素用于按一定顺序将元素组织起来,group的表现形式为:
<group maxOccurs = “{1 | *}”
minOccurs = “{ 0 | 1}”
order = “{one | seq | many}”/>
maxOccurs最多能被调用的次数,minOccurs最少能被调用的次数
在XML中引用XML Schema:
<”elementname”XMLns = “x-Schema:[url]”>
例如:
<book XMLns = “x_Schema:http://www.microsoft.com/XML/Schema/bool.xml”>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chshplp2008/archive/2009/10/29/4741774.aspx
- XML Schema
- XML Schema
- XML Schema
- xml schema
- XML Schema
- XML Schema
- xml schema
- XML SCHEMA
- Xml Schema
- Xml Schema
- XML Schema
- Xml Schema
- XML schema
- XML schema
- xml schema
- XML Schema
- XML Schema
- XML Schema?
- Web Service简介
- 技术真的没什么好发展吗?
- 强制停止客户端正在执行的SQL
- XML学习
- Firefox Chrome 和IE 的平台下的插件开发历程总结
- XML Schema
- WSDL介绍
- 即时通讯浪潮袭人
- gSoap开发Web Service
- chmod更改文件权限 出现问号
- VMware 无法启动
- 飞鸽应用于企业解决方案
- sql语句优化原则
- 在 Linux x86 上安装 Oracle 数据库 10g