JAX-WS - 通过xjc命令把Schema生成Java
来源:互联网 发布:工业怪兽 知乎 编辑:程序博客网 时间:2024/04/30 14:28
一、说明
1、使用示例
D:\Works\WebServices\TestXml\src>xjc -d D:\Works\WebServices\TestXml\src -verbose user.xsd2、常用参数
-d dirName : 指定生成的文件的存放路径
-p pkgName : 指定目标包
-xmlschema : 指定输入的是一个Schema文档(默认)
-verbose : 指定是否显示生成过程中的消息
schemaFile : 指定需要转换的Schema文档
二、示例
1、编写user.xsd如下:
<?xml version="1.0" encoding="UTF-8"?><!-- xmlns:xs="http://www.w3.org/2001/XMLSchema" :schema必须有的命名空间,这里别名为xs targetNamespace="http://www.xilen.com/user" :当前schema的命名空间 xmlns:tns="http://www.xilen.com/user" :引入的命名空间,这里表示引入当前这个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>2、使用xjc命令生成java
(1)在user.xsd当前路劲下执行命令:
xjc -verbose user.xsd(2)生成Java如下:
0 0
- JAX-WS - 通过xjc命令把Schema生成Java
- JAX-WS生成方式
- 如何通过wsdl生成jax -ws客户端代码
- 使用jdk的xjc命令由schema文件生成相应的实体类
- 使用jdk的xjc命令由schema文件生成相应的实体类
- 使用 jdk 的 xjc 命令由 schema 文件生成相应的实体类
- 使用Jaxb中xjc命令由schema文件生成相应的实体类
- 使用jdk的xjc命令由schema文件生成相应的实体类
- JAX-WS生成服务端与客户端的两条命令
- java调用Myeclipse通过jax-ws方式搭建的webservice
- WebService系列博客{八}[XJC命令转换Schema约束至Java文件]
- 使用xjc生成java类
- jax-ws wsimport 命令详解
- Java JAX-WS和JAX-RS webservice
- Java JAX-WS和JAX-RS webservice
- JAX-WS(JWS):Java WebService
- 通过jdk自带xjc将xsd 快速生成java类
- 如何使用JAX-WS生成WebService
- Cocos2d-x 2.0 按键加速处理深入分析
- SSH和SMB的使用
- iOS开发 -- 分析CrashLog (3) Hopper逆向分析
- C#——抽象类和接口
- js中apply的用法(转)
- JAX-WS - 通过xjc命令把Schema生成Java
- hdu Tian Ji -- The Horse Racing
- server Library [Apache Tomcat v6.0](unbound)
- 查看Oracle中表的索引是否存在
- 【草莓音乐节】现场美女大放送
- 网站如何获得高质量外链资源
- python 网络爬虫
- How to Setup and Secure Linux SSH Logins to use Private PEM Keys
- java动态编程简述