`
zeng7960983
  • 浏览: 43017 次
  • 性别: Icon_minigender_1
  • 来自: 邵阳
社区版块
存档分类
最新评论

学习xsd

阅读更多
最近项目一直负责项目中的webservice的开发.使用的是xfire来完成.使用xstream根据xml生成javabean。但是发现生成javabean的属性类型都是String。后面经过讨论。决定使用xsd生存javabean这样生成的属性类型就能够可控.
    在xsd学习中推荐下w3c的xsd 教程,文档也很详情http://www.w3school.com.cn/schema/schema_intro.asp.
由于水平有限所以 首先使用工具根据xml生存xsd然后再自己在进行对应的需改.
首先介绍下xsd的头部:
  <?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">


...
...

</xs:schema>
-------------------
所有的xsd都是以<xs:schema>开头 里面的属性解释http://www.360doc.com/content/10/1104/10/2224885_66474422.shtml
进入正文:
  首先写一个xml文件
   <OTRequest Version=""><TransactionName>必填项:指令名称,固定值 OTA_TourTeamInfoRQ ★</TransactionName>
<Header>
<SessionID>预留字段,不填</SessionID>
<Invoker>调用者 不填</Invoker>
<Encoding>字符编码</Encoding>
<Locale>区域 不填</Locale>
<SerialNo>预留字段,不填</SerialNo>
<TimeStamp>时间戳 YYYYmmDD HH:MM:SS</TimeStamp>
<Application>子系统名称 String类型 填写"travelpkg" ★</Application>
</Header>
<DestinationSystemCodes>
<UniqueID>String 不填</UniqueID>
</DestinationSystemCodes>
<IdentityInfo>
<OfficeID>代理Office号 预留字段不填</OfficeID>
<UserID>接口用户名 ★</UserID>
<Password>接口用户密码 ★</Password>
<Role>角色 预留字段 不填</Role>
</IdentityInfo>
<Source>
<OfficeCode>代理Office号 String类型 预留字段,不填</OfficeCode>
<UniqueID>供应商Code String ★</UniqueID>
<BookingChannel>预定渠道代码(默认填写:HOTELBE) 预留字段,不填</BookingChannel>
</Source>
<TeamInfoRQ>
<ExternalUserInfo>
<ExternalUserID>外部登录人员用户ID String ★</ExternalUserID>
<ExternalUserName>外部登录人员用户真实姓名 String ★</ExternalUserName>
</ExternalUserInfo>
<BeginDate>  团出发日期有效期开始 YYYYMMDD 如:20110625 </BeginDate>
<EndDate>  团出发日期有效期截止 YYYYMMDD   如:20110925 </EndDate>
</TeamInfoRQ>
</OTRequest>
--------------------------
首先是
<xs:element name="OTRequest"> <!--就是xml的开头 包含了其他的类型 是一个复杂的类型-->
     <xs:complexType>  <!--定义复杂类型。-->
<xs:sequence><!--要求子元素必须按顺序出现。每个子元素可出现 0 到任意次数。在其中可能牵涉到哪些属性必须存在.-->

<xs:element ref="TransactionName"/> <!--引用了name为TransactionName 的元素 -->
<xs:element ref="Header"/>
<xs:element ref="DestinationSystemCodes"/>
<xs:element ref="IdentityInfo"/>
<xs:element ref="Source"/>
<xs:element ref="TourBookRQ"/>
</xs:sequence>
<xs:attribute name="Version" type="xs:string" use="required"/>
</xs:complexType>


<xs:element name="TransactionName" type="xs:string" default="OTA_TourTeamInfoRQ" maxOccurs="1" minOccurs="1"/> <!--定义了name为TransactionName的元素 并设置了类型为string 默认值是:OTA_TourTeamInfoRQ  我们可以设置如long,int,double等类型..在上面的xml中有★表示该元素必须存在 那么在xsd中如果设置呢? 我想到了一中比较的笨的方法 设置元素的maxOccurs和minOccurs属性值为1.
maxOccurs:规定 element 元素在父元素中可出现的最大次数。该值可以是大于或等于零的整数。若不想对最大次数设置任何限制,请使用字符串 "unbounded"。 默认值为 1。
minOccurs:规定 element 元素在父元素中可出现的最小次数。该值可以是大于或等于零的整数。默认值为 1。如果父元素是 schema 元素,则不能使用该属性。
-->

</xs:element>


分享到:
评论

相关推荐

    自定义XSD文件

    生成XML文件的定义规范文件XSD,能够严格定义XML文件的内容样式,对于刚学习XSD的人有一定的帮助。

    XSD学习笔记

    XML Schema Definition (XSD)的学习笔记和C#验证的例子,适合入门学习。

    xml dtd xsd 标准格式

    xml dtd xsd 的编写 标准格式可以供学习参考用

    XSD 学习实践,基础易懂

    学习XML教程最简单的实践成果。还有配套XSD文件,可以一同导入SQL数据库。

    xsd学习

    xsd的元素介绍,对各个元素进行了比较。

    XSD.zip_telephoneimj

    xsd基础知识介绍,java初级入门者,可以参考学习这个知识。

    xm-DTD&XSD;测试文件

    一个dtd和xsd文档和对应的xml文件,仅供学习参考 一个dtd和xsd文档和对应的xml文件,仅供学习参考

    Spring加载XSD文件发生错误的解决方法

    主要介绍了Spring加载XSD文件发生错误的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    axsd

    本仓库发布的MyActions项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可行和有效,请根据情况自行判断。 本项目内所有资源文件,禁止任何公众号,自媒体...

    随机决策理论-贝叶斯决策与马尔可夫决策-xsd (1).pptx

    随机决策理论-贝叶斯决策与马尔可夫决策-xsd (1).pptx

    《XML》实验任务书 XML Schema 答案 解答

    1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...

    [企业政府]新生代企业网站管理系统 v1.0 Build 090718_xsd.rar

    【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或...

    【模型】-AUTOSAR学习资料无人驾驶-AUTOSAR_MMOD_XMLSchema

    【模型】-AUTOSAR学习资料无人驾驶-AUTOSAR_MMOD_XMLSchema

    通俗易懂的《XML轻松学习手册》

    很好的东西,很快学习XML,以及XSD,DTD基本内容和进阶。

    XML Schema简明教程-W3C.rar

    在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML Schema。 什么是 XML Schema? XML Schema 的作用是定义 XML 文档的合法构建...

    简单XML文件学习实践

    学习XML教程最简单的实践成果。还有配套XSD文件,可以一同导入SQL数据库。

    dubbox编译、环境搭建、服务提供和服务消费及学习资料

    4.1 学习文档【dubbo-学习文档-20170831.zip】 01.DDubbo开源.pptx 02DeveloperGuide-zh-Dubbo.pdf 03Dubbo功能介绍.pdf 04dubbo源码解析2.0.pdf 4.2 编译部署资料 zookeeper 安装包:zookeeper-3.4.6.tar.gz ...

    XML Schema教程

    一本关于XML Schema的打包教程,深入浅出,系统性强,并附有相应实例。

    Arelle, Arelle开源XBRL平台.zip

    Arelle, Arelle开源XBRL平台 是一个为XBRL提供开放源码工具的项目。目的开始满足在商业viable的需求,例如支持开发扩展模块和测试套件设施,在 compact 框架,并支持学术培训和项目。特性支持用于版本控制报告和生产...

Global site tag (gtag.js) - Google Analytics