SlideShare ist ein Scribd-Unternehmen logo
1 von 30
XSD XML数据文件的格式校验
概述 XSD是干什么的呢? XSD是个什么样子的呢? XSD怎么使用呢?
XSD的作用 Look!
XSD的主要作用 Use! 我们可以用它来做什么? 格式校验 数据校验 我们什么时间用它呢? 存储前... 转换前...
Schema的样子 <?xml version="1.0"?>  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 	targetNamespace="http://www.xinaomdt.com/hie/1.0" 	xmlns="http://www.xinaomdt.com/hie/1.0" 	elementFormDefault="qualified">    <xs:element name="note">     <xs:complexType>       <xs:sequence>          <xs:element name="to" type="xs:string"/>          <xs:element name="from" type="xs:string"/>          <xs:element name="heading" type="xs:string"/>          <xs:element name="body" type="xs:string"/>        </xs:sequence>      </xs:complexType>    </xs:element>  </xs:schema>
XSD的引用 <?xml version="1.0"?> <note xmlns="http://www.xinaomdt.com/hie/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xinaomdt.com/hie/1.0 note.xsd"> 	<to>George</to>  	<from>John</from>  	<heading>Reminder</heading>  	<body>Don't forget the meeting!</body>  </note>
数据类型 在XSD中都支持什么数据类型呢?
数据类型的支持 描述允许的文档内容  验证数据的正确性  定义数据约束(data facets)  定义数据模型(或称数据格式)  在不同的数据类型间转换数据
内建数据类型 常用的内建数据类型 xs:string  xs:decimal  xs:integer  xs:boolean xs:date  xs:time Xs:dateTime
简单数据类型
复杂数据类型 示例 <person> <firstname>John</firstname> <lastname>Smith</lastname> </person> 对应的Schema <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>
元素 XSD是由什么组成的呢?
简单元素 简易元素指那些仅包含文本的元素; 它不会包含任何其他的元素或属性; 文本的类型可以是内建数据类型,也可以是自定义数据类型; 可以增加数据约束(facets);
定义简单元素 定义简单元素的语法 <xs:element name=“elementName" type=“BuiltInTypeOrCustomType"/> 简单元素示例 <lastname>Smith</lastname>  <age>28</age>  <dateborn>1980-03-27</dateborn>  对应的简单元素定义: <xs:element name="lastname" type="xs:string"/>  <xs:element name="age" type="xs:integer"/>  <xs:element name="dateborn" type="xs:date"/>
复杂元素 示例 <person> <firstname>John</firstname> <lastname>Smith</lastname> </person> 对应的Schema <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>
类型的继承 <xs:complexType name="personinfo"> 	<xs:sequence> 		<xs:element name="firstname" type="xs:string"/> 		<xs:element name="lastname" type="xs:string"/> 	</xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> 	<xs:complexContent> 		<xs:extension base="personinfo"> <xs:sequence> 			<xs:element name="address" type="xs:string"/> 			<xs:element name="city" type="xs:string"/> 			<xs:element name="country" type="xs:string"/> </xs:sequence> 		</xs:extension> 	</xs:complexContent> </xs:complexType>
专业术语 标准的XSD文件是怎么形成的?
以一个例子作为开始 <?xml version="1.0" encoding="utf-8"?> <router xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <node id="EC6" type="filepoller" x="217" y="122" label="文件轮询器" icon="images/filepoller.png"> <publiclist> <property name="service" label="服务名称" value="service002" valueType="String“/>       <property name=“endpoint” label=“端点” value=“endpoint002” valueType=“String”/>       <property name="file" label="轮询文件夹" value="d:/HR/CLINIC/XDS" valueType="String”/>      <property name="period" label="轮询周期(ms)" value="20000" valueType="int”/>       <property name=“archive” label=“归档文件夹” value=“d:/HR/CLINIC/backup” valueType=“String”/>      <property name="deleteFile" label="是否删除原始文件" value="true" valueType="boolean”/>      <property name="maxSize" label="过滤文件大小(kb)" value="20480" valueType="int”/>     </publiclist>   </node>   <node id="EC8" type="jmsprovider" x="34" y=“29" label="JMS提供者" icon="images/jmsprovider.png">     <publiclist>       <property name="service" label="服务名称" value="service001" valueType="String“/>       <property name="endpoint" label="端点" value="endpoint001" valueType="String”/>       <property name="connectionFactory" label="连接工厂" value="jms_1" valueType="jms”/>     </publiclist>   </node>   <line id="EL3" type="null” label="路由线" startX="250" startY="130" endX="353" endY="150" startNodeID="EC6" startType="outlet" endNodeID="EC8" endType="inlet"/>   <resources>     <resource id="jms_1”>       <property name="constructor-arg" value="tcp://10.4.9.201:44444"/>       <property name="destinationName" value="hie.HRA0001"/>     </resource>   </resources> </router>
命名空间 提供避免元素命名冲突的方法 既可以放置在根元素上,也可以放在子元素上 	xmlns:hie=“http://www.xinaomdt.com/hie/1.0” 默认命名空间    为某个元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。
目标命名空间 这个是XSD独有的,XML是没有的; 缺省命名空间和目标命名空间的区别: <xs:schema xmlns="http://www.w3.org/2001/XMLSchema"  targetNamespace="http://www.xinaomdt.com/hie/router/1.0”> <elementname="publicList"> <complexType> <sequence>   <element type=“string“/> </sequence> </complexType> </element> ...
指示器 Order指示器 All  Choice  Sequence  Occurrence 指示器 maxOccurs  minOccurs  Group指示器 Group name  attributeGroup name
数据约束 我们如何对XML中的数据进行限制呢?
数据类型的限定
对值的限定 对数值的限定 限定 120 >= Age >= 0 <xs:simpleType> 	<xs:restriction base="xs:integer"> 		<xs:minInclusive value="0"/> 		<xs:maxInclusive value="120"/> 	</xs:restriction> </xs:simpleType> 限定 120> Age > 0 <xs:simpleType> 	<xs:restriction base="xs:integer"> 		<xs:minExclusive value="0"/> 		<xs:maxExclusive value="120"/> 	</xs:restriction> </xs:simpleType>
枚举值的限定 将值的选择范围限定一个列表中 下面定义了一个汽车型号的类型 <xs:simpleType name="carType"> 	<xs:restriction base="xs:string">  		<xs:enumeration value="Audi"/>  		<xs:enumeration value="Golf"/>  		<xs:enumeration value="BMW"/>  	</xs:restriction>  </xs:simpleType>
对长度的限定 使用length进行限制 	<xs:simpleType> 		<xs:restriction base="xs:string"> 			<xs:length value="8"/> 		</xs:restriction> 	</xs:simpleType> 使用minLength、MaxLength进行限制 <xs:simpleType> 		<xs:restriction base="xs:string"> 			<xs:minLength value="5"/> 			<xs:maxLength value="8"/> 		</xs:restriction> </xs:simpleType>
正则表达式的限定 将内容限制定义为一系列可使用的数字或字母; 在XSD中进行正则表达式限定叫做模式约束(pattern); 示例Schema: <xs:simpleType> 	<xs:restriction base="xs:string">  		<xs:pattern value="[a-z]"/>  	</xs:restriction>  </xs:simpleType>
默认值和固定值 简单类型是可以支持默认值和固定值的。 默认值 当没有其他的值被规定时,默认值就会自动分配给元素。 <xs:element name="color" type="xs:string" default="red"/>  	<xs:attribute name="color" type="xs:string" default="red"/> 固定值 固定值同样会自动分配给元素,并且您无法规定另外一个值。 	<xs:element name="color" type="xs:string" fixed="red"/> 	<xs:attribute name="color" type="xs:string" fixed="red"/>
空值的表示 对于属性: 使用属性 use="optional/required" 对于元素: 使用属性 nillable="true/false" 使用属性 minOccurs="0" 空值示例Schema <complexType name="TypeWithNullElements"> 	<sequence> 		<element name="nillableElem" nillable="true" type="int"/> 		<element name="minOccursElem" minOccurs="0" type="int"/> 	</sequence> </complexType>
空值的示例 带数值的元素 <typeWithNullElements> 	<nillableElem>5</nillableElem> 	<minOccursElem>5</minOccursElem> </typeWithNullElements> 不带数值的元素 <typeWithNullElements> 	<nillableElem xsi:nil="true"/> </typeWithNullElements>

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (7)

网站整体架构
网站整体架构网站整体架构
网站整体架构
 
Efferents
EfferentsEfferents
Efferents
 
Paris
ParisParis
Paris
 
Le beurre
Le beurreLe beurre
Le beurre
 
Lumière 2
Lumière 2Lumière 2
Lumière 2
 
Nutrition Without Harm: Feeding the Critically Ill Patient
Nutrition Without Harm: Feeding the Critically Ill PatientNutrition Without Harm: Feeding the Critically Ill Patient
Nutrition Without Harm: Feeding the Critically Ill Patient
 
Manual de Usuario OpenErp v7 Português Brasil
Manual de Usuario OpenErp v7 Português BrasilManual de Usuario OpenErp v7 Português Brasil
Manual de Usuario OpenErp v7 Português Brasil
 

Ähnlich wie Xsd培训资料

Struts1+ hibernate3
Struts1+ hibernate3Struts1+ hibernate3
Struts1+ hibernate3edanwade
 
口碑导航更换项目总结
口碑导航更换项目总结口碑导航更换项目总结
口碑导航更换项目总结liuzhitao2000
 
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5compassdesign
 
揭秘Html5和Css3
揭秘Html5和Css3揭秘Html5和Css3
揭秘Html5和Css3Adam Lu
 
揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍裕波 周
 
Html5css3 go.yeefe.com
Html5css3 go.yeefe.comHtml5css3 go.yeefe.com
Html5css3 go.yeefe.comtellyeefe
 
YUI ─ 阿大
YUI ─ 阿大YUI ─ 阿大
YUI ─ 阿大taobao.com
 
TBAD F2E 2010 review
TBAD F2E 2010 reviewTBAD F2E 2010 review
TBAD F2E 2010 reviewleneli
 
Overview Of HTML
Overview Of HTMLOverview Of HTML
Overview Of HTMLxiaomimum
 
缓存技术浅谈
缓存技术浅谈缓存技术浅谈
缓存技术浅谈Robbin Fan
 
Denver CMS Expo Creating CSS template
Denver CMS Expo Creating CSS templateDenver CMS Expo Creating CSS template
Denver CMS Expo Creating CSS templatecompassdesign
 
Creating CSS Template with Barrie North
Creating CSS Template with Barrie NorthCreating CSS Template with Barrie North
Creating CSS Template with Barrie NorthJohn Coonen
 
Css性能优化
Css性能优化Css性能优化
Css性能优化linxz
 
Collaboration On Rails
Collaboration On RailsCollaboration On Rails
Collaboration On RailsJesse Cai
 
Xml Introduction Practice
Xml Introduction PracticeXml Introduction Practice
Xml Introduction Practicequeenskimo
 
Mybatis学习培训
Mybatis学习培训Mybatis学习培训
Mybatis学习培训flynofry
 
刘松 Cpo项目的前端实践分享
刘松 Cpo项目的前端实践分享刘松 Cpo项目的前端实践分享
刘松 Cpo项目的前端实践分享czbad
 
Inside browser
Inside browserInside browser
Inside browsermysqlops
 

Ähnlich wie Xsd培训资料 (20)

Struts1+ hibernate3
Struts1+ hibernate3Struts1+ hibernate3
Struts1+ hibernate3
 
口碑导航更换项目总结
口碑导航更换项目总结口碑导航更换项目总结
口碑导航更换项目总结
 
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
 
揭秘Html5和Css3
揭秘Html5和Css3揭秘Html5和Css3
揭秘Html5和Css3
 
揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍
 
Html5css3 go.yeefe.com
Html5css3 go.yeefe.comHtml5css3 go.yeefe.com
Html5css3 go.yeefe.com
 
YUI ─ 阿大
YUI ─ 阿大YUI ─ 阿大
YUI ─ 阿大
 
TBAD F2E 2010 review
TBAD F2E 2010 reviewTBAD F2E 2010 review
TBAD F2E 2010 review
 
Overview Of HTML
Overview Of HTMLOverview Of HTML
Overview Of HTML
 
缓存技术浅谈
缓存技术浅谈缓存技术浅谈
缓存技术浅谈
 
Denver CMS Expo Creating CSS template
Denver CMS Expo Creating CSS templateDenver CMS Expo Creating CSS template
Denver CMS Expo Creating CSS template
 
Creating CSS Template with Barrie North
Creating CSS Template with Barrie NorthCreating CSS Template with Barrie North
Creating CSS Template with Barrie North
 
Css性能优化
Css性能优化Css性能优化
Css性能优化
 
Collaboration On Rails
Collaboration On RailsCollaboration On Rails
Collaboration On Rails
 
Xml Introduction Practice
Xml Introduction PracticeXml Introduction Practice
Xml Introduction Practice
 
Mybatis学习培训
Mybatis学习培训Mybatis学习培训
Mybatis学习培训
 
刘松 Cpo项目的前端实践分享
刘松 Cpo项目的前端实践分享刘松 Cpo项目的前端实践分享
刘松 Cpo项目的前端实践分享
 
Js dom
Js domJs dom
Js dom
 
Html&css基础
Html&css基础Html&css基础
Html&css基础
 
Inside browser
Inside browserInside browser
Inside browser
 

Kürzlich hochgeladen

EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 

Kürzlich hochgeladen (6)

EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 

Xsd培训资料

  • 4. XSD的主要作用 Use! 我们可以用它来做什么? 格式校验 数据校验 我们什么时间用它呢? 存储前... 转换前...
  • 5. Schema的样子 <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.xinaomdt.com/hie/1.0" xmlns="http://www.xinaomdt.com/hie/1.0" elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
  • 6. XSD的引用 <?xml version="1.0"?> <note xmlns="http://www.xinaomdt.com/hie/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xinaomdt.com/hie/1.0 note.xsd"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
  • 8. 数据类型的支持 描述允许的文档内容 验证数据的正确性 定义数据约束(data facets) 定义数据模型(或称数据格式) 在不同的数据类型间转换数据
  • 9. 内建数据类型 常用的内建数据类型 xs:string xs:decimal xs:integer xs:boolean xs:date xs:time Xs:dateTime
  • 11. 复杂数据类型 示例 <person> <firstname>John</firstname> <lastname>Smith</lastname> </person> 对应的Schema <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>
  • 13. 简单元素 简易元素指那些仅包含文本的元素; 它不会包含任何其他的元素或属性; 文本的类型可以是内建数据类型,也可以是自定义数据类型; 可以增加数据约束(facets);
  • 14. 定义简单元素 定义简单元素的语法 <xs:element name=“elementName" type=“BuiltInTypeOrCustomType"/> 简单元素示例 <lastname>Smith</lastname> <age>28</age> <dateborn>1980-03-27</dateborn> 对应的简单元素定义: <xs:element name="lastname" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="dateborn" type="xs:date"/>
  • 15. 复杂元素 示例 <person> <firstname>John</firstname> <lastname>Smith</lastname> </person> 对应的Schema <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>
  • 16. 类型的继承 <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
  • 18. 以一个例子作为开始 <?xml version="1.0" encoding="utf-8"?> <router xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <node id="EC6" type="filepoller" x="217" y="122" label="文件轮询器" icon="images/filepoller.png"> <publiclist> <property name="service" label="服务名称" value="service002" valueType="String“/> <property name=“endpoint” label=“端点” value=“endpoint002” valueType=“String”/> <property name="file" label="轮询文件夹" value="d:/HR/CLINIC/XDS" valueType="String”/> <property name="period" label="轮询周期(ms)" value="20000" valueType="int”/> <property name=“archive” label=“归档文件夹” value=“d:/HR/CLINIC/backup” valueType=“String”/> <property name="deleteFile" label="是否删除原始文件" value="true" valueType="boolean”/> <property name="maxSize" label="过滤文件大小(kb)" value="20480" valueType="int”/> </publiclist> </node> <node id="EC8" type="jmsprovider" x="34" y=“29" label="JMS提供者" icon="images/jmsprovider.png"> <publiclist> <property name="service" label="服务名称" value="service001" valueType="String“/> <property name="endpoint" label="端点" value="endpoint001" valueType="String”/> <property name="connectionFactory" label="连接工厂" value="jms_1" valueType="jms”/> </publiclist> </node> <line id="EL3" type="null” label="路由线" startX="250" startY="130" endX="353" endY="150" startNodeID="EC6" startType="outlet" endNodeID="EC8" endType="inlet"/> <resources> <resource id="jms_1”> <property name="constructor-arg" value="tcp://10.4.9.201:44444"/> <property name="destinationName" value="hie.HRA0001"/> </resource> </resources> </router>
  • 19. 命名空间 提供避免元素命名冲突的方法 既可以放置在根元素上,也可以放在子元素上 xmlns:hie=“http://www.xinaomdt.com/hie/1.0” 默认命名空间 为某个元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。
  • 20. 目标命名空间 这个是XSD独有的,XML是没有的; 缺省命名空间和目标命名空间的区别: <xs:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.xinaomdt.com/hie/router/1.0”> <elementname="publicList"> <complexType> <sequence> <element type=“string“/> </sequence> </complexType> </element> ...
  • 21. 指示器 Order指示器 All Choice Sequence Occurrence 指示器 maxOccurs minOccurs Group指示器 Group name attributeGroup name
  • 24. 对值的限定 对数值的限定 限定 120 >= Age >= 0 <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="120"/> </xs:restriction> </xs:simpleType> 限定 120> Age > 0 <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minExclusive value="0"/> <xs:maxExclusive value="120"/> </xs:restriction> </xs:simpleType>
  • 25. 枚举值的限定 将值的选择范围限定一个列表中 下面定义了一个汽车型号的类型 <xs:simpleType name="carType"> <xs:restriction base="xs:string"> <xs:enumeration value="Audi"/> <xs:enumeration value="Golf"/> <xs:enumeration value="BMW"/> </xs:restriction> </xs:simpleType>
  • 26. 对长度的限定 使用length进行限制 <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="8"/> </xs:restriction> </xs:simpleType> 使用minLength、MaxLength进行限制 <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="5"/> <xs:maxLength value="8"/> </xs:restriction> </xs:simpleType>
  • 27. 正则表达式的限定 将内容限制定义为一系列可使用的数字或字母; 在XSD中进行正则表达式限定叫做模式约束(pattern); 示例Schema: <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[a-z]"/> </xs:restriction> </xs:simpleType>
  • 28. 默认值和固定值 简单类型是可以支持默认值和固定值的。 默认值 当没有其他的值被规定时,默认值就会自动分配给元素。 <xs:element name="color" type="xs:string" default="red"/> <xs:attribute name="color" type="xs:string" default="red"/> 固定值 固定值同样会自动分配给元素,并且您无法规定另外一个值。 <xs:element name="color" type="xs:string" fixed="red"/> <xs:attribute name="color" type="xs:string" fixed="red"/>
  • 29. 空值的表示 对于属性: 使用属性 use="optional/required" 对于元素: 使用属性 nillable="true/false" 使用属性 minOccurs="0" 空值示例Schema <complexType name="TypeWithNullElements"> <sequence> <element name="nillableElem" nillable="true" type="int"/> <element name="minOccursElem" minOccurs="0" type="int"/> </sequence> </complexType>
  • 30. 空值的示例 带数值的元素 <typeWithNullElements> <nillableElem>5</nillableElem> <minOccursElem>5</minOccursElem> </typeWithNullElements> 不带数值的元素 <typeWithNullElements> <nillableElem xsi:nil="true"/> </typeWithNullElements>