XML - Schema之数据类型重用
来源:互联网 发布:mac制作铃声 编辑:程序博客网 时间:2024/05/24 04:41
一、定义
<?xml version="1.0" encoding="UTF-8"?><!-- xmlns:xs="http://www.w3.org/2001/XMLSchema" :schema必须有的命名空间,这里别名为xs targetNamespace="http://www.xilen.com/books" :当前schema的命名空间 xmlns:tns="http://www.xilen.com/books" :引入的命名空间,这里表示引入当前这个schema,这里别名为tns--> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.xilen.com/user" xmlns:tns="http://www.xilen.com/user"><xs:element name="user" type="tns:userType"/> <!-- 定义根元素user --><xs:complexType name="userType"> <!-- 定义user的数据类型 --><xs:sequence><xs:element name="name" type="tns:nameType"/> <!-- 定义user的name子元素,数据类型引用nameType的定义 --><xs:element name="age" type="tns:ageType" /> <!-- 定义user的age元素,数据类型引用ageType的定义 --><xs:element name="sex" type="tns:sexType" /> <!-- 定义user的sex子元素,数据类型引用sexType的定义 --><xs:element name="roles" type="tns:rolesType" /> <!-- 定义user的roles子元素,数据类型引用rolesType的定义 --></xs:sequence><xs:attribute name="id" type="tns:idType"/> <!-- 定义user的属性,数据类型引用idType的定义 --></xs:complexType><xs:complexType name="rolesType"> <!-- 定义roles的数据类型 --><xs:sequence maxOccurs="unbounded" minOccurs="0"> <!-- 定义roles的子元素的容量 --><xs:element name="role" type="tns:roleType" /> <!-- 定义roles的子元素,数据类型引用roleType的定义 --></xs:sequence></xs:complexType><xs:complexType name="roleType"> <!-- 定义role的数据类型 --><xs:sequence><xs:element name="name" type="tns:nameType" /> <!-- 定义role的name子元素,数据类型重用用nameType的定义 --><xs:element name="note" type="tns:noteType"/> <!-- 定义role的note子元素,数据类型引用noteType的定义 --></xs:sequence><xs:attribute name="id" type="tns:idType"/><!-- 定义role的id属性,数据类型重用IdType的定义 --></xs:complexType><xs:simpleType name="idType"> <!-- 定义ID类型 --><xs:restriction base="xs:int"> <!-- 定义限定条件,基于int的类型 --><xs:minInclusive value="1" /> <!-- 最小值 --><xs:maxInclusive value="999999999" /> <!-- 最大值 --></xs:restriction></xs:simpleType><xs:simpleType name="nameType"> <!-- 定义Name --><xs:restriction base="xs:string"><xs:pattern value="[a-zA-Z][_a-zA-Z0-9]*" /> <!-- 定义正则来规范名称 --><xs:minLength value="3" /> <!-- 定义最小长度 --><xs:maxLength value="18" /> <!-- 定义最大长度 --></xs:restriction></xs:simpleType><xs:simpleType name="ageType"> <!-- 定义age的类型 --><xs:restriction base="xs:int"> <!-- 定义限定条件,基于int的类型 --><xs:minInclusive value="0" /><!-- 最小包含0 --><xs:maxExclusive value="150" /><!-- 最大不包含150 --></xs:restriction></xs:simpleType><xs:simpleType name="sexType"> <!-- 定义sex的类型 --><xs:restriction base="xs:string"> <!-- 定义限定条件,基于string的类型 --><xs:enumeration value="MAN" /> <!-- 定义sex为枚举,只可以选择其一 --><xs:enumeration value="WOMAN" /> <xs:enumeration value="OTHER" /> </xs:restriction></xs:simpleType><xs:simpleType name="noteType" > <!-- 定义note的类型 --><xs:restriction base="xs:string"> <!-- 定义限定条件,基于string的类型 --><xs:minLength value="0"/> <!-- 定义最小长度 --><xs:maxLength value="255"/> <!-- 定义最大长度 --></xs:restriction></xs:simpleType></xs:schema>
二、引用
<?xml version="1.0" encoding="UTF-8"?><!-- xmlns:user="http://www.xilen.com/user": 将引用的user.xsd别名为user --><user:user xmlns:user="http://www.xilen.com/user" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.xilen.com/user user.xsd"id="1"><user:name>admin</user:name><user:age>25</user:age><user:sex>MAN</user:sex><user:roles><user:role id="1"><user:name>System</user:name><user:note>Management System</user:note></user:role><user:role id="2"><user:name>Order</user:name><user:note>Management Order</user:note></user:role></user:roles></user:user>
0 0
- XML - Schema之数据类型重用
- XML - Schema之数据类型扩展
- XML Schema内置数据类型
- XML Schema(W3C)数据类型
- XML简介Schema之XSD 杂项数据类型 VS XML总结
- XML简介Schema之XSD XSD 实例 VS 字符串数据类型
- xml schema数据类型,元素类型
- XML简介Schema之 XSD 日期及时间数据类型 VS XSD 数值数据类型
- XML学习之 schema
- Xml Schema 之 指示器
- xml之schema
- XML之Schema验证
- XML之Schema约束
- XML学习之Schema
- XML之Schema验证
- xml之DTD && schema
- XML之Schema验证
- XML之Schema
- cocos2dx 字体BMFont,Atlas
- Oracle服务器系统负载过高的处理
- ok winidwep-gtk no ap,在terminal中显示ERROR: Neither the sysfs interface links nor the iw command is ava
- 面向对象开发中的核心思想和概念-接口与抽象
- Labwindows扫盲+技巧贴,CVI学习必看
- XML - Schema之数据类型重用
- MapReduce求年度最高气温值以及combiner的一点认识
- ENetwork Chapter 4 - CCNA Exploration (Version 4.0)
- 内网端口映射软件之80端口映射发布网站
- iOS UITextField 总结最全
- 我的ProtocolBuffer安装日志
- How to increase Memory usage for an App in Windows Phone
- TCL 传引用调用
- jQuery实战小知识