最近项目一直负责项目中的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>
分享到:
相关推荐
XML Schema Definition (XSD) 是一个用于定义XML文档结构和数据类型的规范,它为XML文档提供了形式化的约束和验证机制。XSD元素是构建XML模式的核心组成部分,它们...因此,深入学习XSD对于XML相关的开发工作至关重要。
标题中的“Xsd的使用命令”指的是XML Schema Definition(XSD)文件的使用方法,它是一种用于定义XML文档结构和数据类型的规范。...通过学习XSD,可以更好地维护数据的完整性和一致性,提高软件的稳定性和可维护性。
**XSD(XML Schema)教程** ...通过学习XSD教程,开发者不仅能理解XML Schema的原理,还能掌握创建和应用XSD的能力,从而提高XML文档的质量和互操作性。在实际项目中,XSD是确保XML数据交换准确无误的重要工具。
学习XSD和Java的结合应用,不仅可以提高XML数据处理的精确性,还能为程序添加安全性和稳定性。对于初学者来说,理解XSD的结构和规则,学会在Java中使用XSD进行数据验证,是迈进XML开发领域的基础步骤。通过实践,你...
生成XML文件的定义规范文件XSD,能够严格定义XML文件的内容样式,对于刚学习XSD的人有一定的帮助。
总的来说,"xsd生成xml工具"是一个方便的开发辅助工具,它简化了基于XSD的XML文档创建过程,并为学习和实践XML相关技术提供了实际操作的平台。通过深入研究其源代码,开发者可以增强对XML Schema和XML处理的理解,...
### XSD学习笔记 #### XML Schema Definition (XSD) 的基本概念与作用 XML Schema Definition (XSD) 是一种用于定义 XML 文档结构的语言。它主要用于描述 XML 文档中的元素、属性及其数据类型,帮助确保 XML 数据...
6. **学习和教学工具**:对于初学者,XSD的可视化工具是很好的学习辅助,因为它以直观的方式展示了XML Schema的概念和构造。 7. **版本控制**:在版本管理中,可视化的差异对比可以帮助开发者轻松识别不同版本XSD...
《Dubbo的.xsd文件详解》 Dubbo作为一款高性能、轻量级的Java开源服务框架,其在设计和实现过程中广泛使用了XML Schema(简称XSD)来...因此,对于使用或研究Dubbo的开发者来说,深入学习`dubbo.xsd`是非常必要的。
【代码生成XSD】是一种编程技术,用于通过代码自动生成XML Schema Definition (XSD) 文件。XSD文件是XML文档的结构定义,它定义了XML文档的元素、属性、数据类型以及它们之间的关系,用于验证XML文档是否符合预设的...
这对于离线环境或学习理解Dubbo配置规则非常有帮助。 总的来说,"dubbo.xsd.zip"是Dubbo开发中的一个重要工具,它提供了Dubbo服务配置的规范,使得开发过程更加有序和可控。掌握并利用好这个资源,可以有效地避免因...
### dubbo.xsd 下载与应用解析 ...同时,也学习了如何下载并配置 `dubbo.xsd` 文件,以便更好地进行 Dubbo 应用的开发和维护。对于使用 Dubbo 进行微服务开发的开发者来说,掌握这些基础知识将大有裨益。
9. **学习资源**:为了深入学习和使用Castor,可以查阅官方文档、在线教程和论坛讨论,以获取示例代码和常见问题解答。 通过以上知识点,我们可以了解到,Castor 1.4版本为XML Schema到Java类的转换提供了一个高效...
DTD(Document Type Definition)文件和XSD(XML Schema Definition)文件是XML文档结构的重要定义工具,它们用于规范XML文档的结构和数据类型。在给定的压缩包文件中,我们看到的是与Java Web开发框架Struts 2和...
XML(eXtensible Markup Language)是一种用于标记数据的语言,它允许用户自定义标签来描述数据,使得数据具有结构和语义。...通过提供的压缩包文件,你可以学习到具体的DTD和XSD实例,加深对这些概念的理解。
标题 "spring xsd文件" 涉及到的是Spring框架中的XML配置文件和XSD(XML Schema Definition)...同时,学习和熟悉Spring的文档、社区资源和开发者工具,如IDE的错误提示和自动补全,都能帮助我们更有效地处理这类问题。
XML(可扩展标记语言)是一种用于标记数据的语言,它允许数据以结构化的方式表示,便于交换和处理。...为了进一步学习,你可以打开这个文件查看具体的内容,结合上述知识,理解并实践XML和XSD的验证过程。
通过这个例子,开发者可以学习如何正确地使用XSD来构建和验证符合IEC61131-10标准的程序代码。 其他如`Extension_NamedEventTask.xsd`、`Extension_JumpStep.xsd`等扩展XSD文件进一步细化了标准,分别针对命名事件...
使用CXF开发Web服务的一般步骤包括:创建XSD文件以定义服务接口,使用CXF工具生成Java类,编写服务实现,配置CXF和Spring,最后部署和测试服务。 6. **源码分析**: "apache-cxf-3.1.4-src.tar.gz"包含的源代码...
《web-app_2_4.xsd:Web应用配置规范详解》 在Web应用程序开发中,...虽然现代Web开发可能已经不再依赖这种XML配置方式,但对于历史项目的维护和学习Web应用的基础知识,`web-app_2_4.xsd`仍然是一个重要的参考资料。