WebService系列博客{八}[XJC命令转换Schema约束至Java文件]

本文详细介绍了如何利用xjc工具在Java环境中将XML约束转换为JavaBean,通过案例展示了约束文件的创建及xjc命令的应用,并强调了命名空间在XML文档中的重要性以及在Eclipse中配置XML提示的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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标准




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值