WebService系列博客{八}[XJC命令转换Schema约束至Java文件]
在Java中提供了xjc[xml java change]的应用。 在doc环境下我们可以通过xjc来转换schema约束至JavaBean的文件。和webservice中的wsdl转换java文件相类似,下面是我个人做的一个案例。 约束文件student.xsd
<?xml version="1.0" encoding="UTF-8"?> <!-- xmlns为schema的命名空间不可更改。但是可以更改前缀 --> <!-- targetNamespace为自身的namespace,当xml引入约束的时候用到 --> <!-- xmlns:tns 为方便自己类型在自己schema文档中引用而定义 --> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/classRom/01" xmlns:tns="http://www.example.org/classRom/01" elementFormDefault="qualified"> <element name="student" type="tns:studentType"></element> <complexType name="studentType"> <sequence> <element name="name" type="string"></element> <element name="age" type="tns:ageType"></element> </sequence> </complexType> <simpleType name="ageType"> <restriction base="int"> <minInclusive value="1"></minInclusive> <maxExclusive value="100"></maxExclusive> </restriction> </simpleType> </schema> 约束文件classrom.xsd
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/classRom/01" xmlns:tns="http://www.example.org/classRom/01" elementFormDefault="qualified"> <!-- 引入student.xsd来引用student中的约束 --> <include schemaLocation="student.xsd"></include> <element name="classrom" type="tns:classromType"></element> <complexType name="classromType"> <sequence> <element name="name" type="string"></element> <sequence> <element name="students" type="tns:studentType"></element> </sequence> </sequence> </complexType> </schema> xjc命令:
命令格式 xjc –d [转换文件至路径] –verbose [要转换的xsd约束]?? 首先先在doc环境下进入xsd文件比较好操作 说明:“当出现连接关系的时候经常在schema文件中间引用同一个命名空间以达到元素公用的效果。比如上面的classrom和student” 在classrom中有student,但是我们不必重新来声明该元素。只需要在头文件保持namespace的同样运用即可。 注意:在Eclipse中编写调试xml提示: window--->preference--->xml-->xml catelog 加入相应的xsd文件即可出现提示。 [加入之后尽量重启一下editor]
个人理解: 再多个系统共同应用中。在设计的时候要先建立标准。标准统一才能够达到交互数据的最大化。比如一个学校的各个系统教务、考试、报道。都需要共享学生数据,而如果共同设计的话我们必须要提前建立标准。这样也就可以手动编写wsdl标准。也就是xml标准 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |