`

webservice 第二讲schema

 
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://www.example.org/01"
		xmlns:tns="http://www.example.org/01" 
		elementFormDefault="qualified">
	<element name="user">
		<complexType>
			<sequence>
				<element name="id" type="int"/>
				<element name="username" type="string"/>
				<element name="born" type="date"/>
			</sequence>
		</complexType>
	</element>
</schema>


1.http://www.w3.org/2001/XMLSchema
Schema 默认命名空间,不能修改,但是可以增加前缀。如何增加前缀之后所有的element元素都要增加浅醉
2.targetNamespace="http://www.example.org/01"
自己这个文档的命令空间,可以方便其他xml和schema文件的引用
3.xmlns:tns="http://www.example.org/01"
此处的名称和自己的命名空间一直,增加了tns的前缀,此时如果要引用当前文件创建的类型,需要加上tns前缀

<?xml version="1.0" encoding="UTF-8"?>
<user xmlns="http://www.example.org/01"
	  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	  xsi:schemaLocation="http://www.example.org/01 01.xsd">
	 <id>1</id>
	 <username>wxh</username>
	 <born>1998-12-12</born>
</user>



4.复杂的schema文件和xml文件相关配置
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://www.example.org/04" 
		xmlns:tns="http://www.example.org/04" 
		elementFormDefault="qualified">
		
	<element name="person" type="tns:personType"/>
	
	<complexType name="personType">
		<sequence>
			<element name="name" type="string"/>
			<element name="age" type="tns:ageType"/>
			<element name="email" type="tns:emailType"/>
		</sequence>
		<attribute name="sex" type="tns:sexType"/>
	</complexType>
	
	<simpleType name="emailType">
		<restriction base="string">
			<pattern value="(\w+\.*)*\w+@\w+\.[A-Za-z]{2,6}"/>
			<minLength value="6"/>
			<maxLength value="255"/>
		</restriction>
	</simpleType>
	
	<simpleType name="ageType">
		<restriction base="int">
			<minInclusive value="1"/>
			<maxExclusive value="150"/>
		</restriction>
	</simpleType>
	
	<simpleType name="sexType">
		<restriction base="string">
			<enumeration value="男"/>
			<enumeration value="女"/>
		</restriction>
	</simpleType>
</schema>



<?xml version="1.0" encoding="UTF-8"?>
<person xmlns="http://www.example.org/04"
	  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	  xsi:schemaLocation="http://www.example.org/04 04.xsd" sex="男">
	 <name>搜索</name>
	 <age>149</age>
	 <email>101035601@136.com</email>
</person>


54.复杂的schema文件
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://www.example.org/classroom" 
		xmlns:tns="http://www.example.org/classroom" 
		elementFormDefault="qualified">
	<xsd:element name="student" type="tns:studentType"/>
	
	<xsd:complexType name="studentType">
		<xsd:sequence>
			<xsd:element name="name" type="xsd:string"/>
			<xsd:element name="sex" type="tns:sexType"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:simpleType name="sexType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="男"/>
			<xsd:enumeration value="女"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>


<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://www.example.org/classroom" 
		xmlns:tns="http://www.example.org/classroom" 
		elementFormDefault="qualified">
	<xsd:include schemaLocation="student.xsd"/>
	
	<xsd:element name="classroom" type="tns:classroomType"/>
	
	<xsd:complexType name="classroomType">
		<xsd:sequence>
			<xsd:element name="grade" type="tns:gradeType"/>
			<xsd:element name="name" type="xsd:string"/>
			<!--  <xsd:element name="stus">
				<xsd:complexType>
					<xsd:sequence minOccurs="1" maxOccurs="unbounded">
						<xsd:element name="student" type="tns:studentType"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			-->
			<xsd:sequence minOccurs="1" maxOccurs="unbounded">
				<xsd:element name="student" type="tns:studentType"/>
			</xsd:sequence>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:simpleType name="gradeType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="2000"/>
			<xsd:maxInclusive value="3000"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>
分享到:
评论

相关推荐

    webservice6 共免费18讲

    第二讲至第五讲:SOAP与XML 详细阐述SOAP协议的工作原理,包括SOAP Envelope、Header和Body部分。同时,讲解XML的基础知识,包括XML文档结构、命名空间、XSD(XML Schema Definition)验证等。 第六讲:WSDL详解 这...

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    **方式二:使用Apache CXF的`JaxWsProxyFactoryBean`** ```java // GreetingServiceProxy.java import org.apache.cxf.frontend.ClientProxyFactoryBean; import org.example.greeting.GreetingService; public ...

    用Delphi-实现WebService

    ##### 第二步:导入 WebService 2. **导入 WebService**: - 依次点击 `File` -&gt; `New` -&gt; `Other` -&gt; `Web Services` -&gt; `SOAP Services Importer`。 - 在 `Wsdl or Xml Schema Location` 中输入 WebService 的 ...

    尚硅谷Webservice学习笔记

    - 发布Web Service需要定义Service Endpoint Interface (SEI),使用`@WebService`和`@WebMethod`注解,然后通过`Endpoint.publish(url, SEIImplObject)`发布服务。 - 请求Web Service时,通常先根据WSDL文档生成...

    Webservice 调用工具

    5. XML Schema(XSD):用于定义数据类型的规范,帮助确保交换的数据符合特定格式。 【Webservice调用工具的功能】 1. 构建请求:工具通常提供界面,让用户能以图形化方式构建SOAP请求,包括添加方法、参数等。 2...

    Java发布和调用WebService

    在Java中,发布一个WebService的第一步是创建一个服务类。这个类通常需要添加`@WebService`注解,表明它是对外提供服务的接口。例如: ```java @WebService public class SimpleServer { public String sayHello()...

    mfc调用webservice的客户端

    二、非托管调用WebService的方法 1. 使用MSXML(Microsoft XML)库 MSXML是微软提供的XML解析库,可以用来解析SOAP消息并生成请求。在MFC项目中,首先需要包含必要的头文件,并使用IXMLHTTPRequest接口发送HTTP请求...

    VB.NET/JAVA 采用SOAP 与Webservice发送/接收数据

    2. **理解WebService接口**: 该接口提供的方法为`GetEnCnTwoWayTranslator`,接受一个英文单词作为输入,并返回对应的中文翻译。 #### 三、实现细节 1. **SOAP消息结构**: - SOAP消息包含一个XML文档,其结构分为...

    XFile方式发布webService

    - 在Wizard的第二页,配置XFire Servlet和services.xml文件,通常采用默认设置。 - 在第三页,选择需要添加到构建路径的XFire类库,至少需要XFire Core Library,如果要开发客户端应用,还需要XFire ...

    WebService培训(基础-非常适合初学者)

    3. ****:定义WebService使用的数据类型,通常使用XML Schema来定义。 - **定义**:如定义复杂的类型,以支持不同的数据结构。 4. ****:定义WebService使用的通信协议,如SOAP over HTTP等。 - **绑定到SOAP**:...

    C# 开发webservice接口、请求HTTP接口、iis发布服务

    **步骤2:创建WebService类** - 在解决方案资源管理器中找到新创建的项目,右键点击“添加” -&gt; “新建项”。 - 在弹出的对话框中选择“Web”目录下的“Web 服务 (ASMX)”。 - 输入类名(例如:“ForNisServices”)...

    cfx webservice 入门 详细步骤

    **第二步:配置 web.xml** 在 `web.xml` 文件中,你需要配置 CXF 的 Servlet,以便服务器能够识别并处理 CXF 请求。这里定义了一个名为 `cxf` 的 Servlet,用于启动 CXF 终端点,并将 `/services/*` 作为 CXF 的 URL...

    对WebService的系统研究, 七种方式实现!

    此外,CXF还支持WSDL(Web Services Description Language)第一和第二版,用于服务的定义和发现。 3. **Spring框架**:Spring框架通过其Spring-WS模块提供了对WebService的支持。Spring-WS是基于契约优先的,这...

    Android Retrofit2+Okhttp3+Rxjava通过SOAP协议请求WebService

    本篇文章将详细探讨如何使用Retrofit2、OkHttp3和RxJava这三个强大的库来构建一个Android客户端,以实现对SOAP WebService的调用。 首先,我们来看Retrofit2,这是一个由Square公司开发的类型安全的HTTP客户端。...

    WebService CXF 对象传递 附

    JAXB允许我们通过简单的注解将Java类映射为XML Schema,从而实现对象的序列化和反序列化。 3. **创建Web服务** 创建一个CXF Web服务的第一步是定义服务接口和实现。接口声明了服务的公共操作,而实现提供了这些...

    06.WSDL深入详解和WebService调用过程的底层本质

    它支持WSDL第一和第二样式,允许开发者从WSDL生成服务实现,或者从Java类生成WSDL。CXF提供了丰富的功能,包括WS-Security、WS-ReliableMessaging等高级Web服务标准的支持,简化了WebService的开发和调用过程。 在...

    webservice1

    在描述中提到的"webservice第一部分源码",我们可以推测这可能是一个Web服务开发的学习资源,包含了一些基本的源代码示例,用于帮助初学者理解Web服务的工作原理和开发过程。 标签"ebservice"可能是"Web Service"的...

    CXF开发webservice客户端

    **第二步:添加依赖** 1. 导入 Apache CXF 2.2.6 和 Spring WS 1.5.8 的相关 jar 包到工程的 `lib` 目录中。 2. 将这些 jar 包添加到工程的 build path 中。 **第三步:启动 WebService 服务器** 1. 运行之前开发...

Global site tag (gtag.js) - Google Analytics