电脑基础知识
WIN技巧:在XMLSchema和WSDL中使用名称空间
2025-07-14 17:31  点击:2

对于名称空间,理解了OO思想的人应该是比较简单的了,特别是对学过C++的人来说更是

  如此;但很多看了我前面文章的朋友,在和我的交流中,好像对名称空间都不怎么清楚,

  下面我们就来说说怎么样在 XML Schema和WSDL中使用名称空间.

  先看看一段JAVA代码:

  package.hongsoft.test.pkg1;

  import.hongsoft.test.pkg2.Test1;

  import.hongsoft.test.pkg2.Test2;

  在这个文件中,我们.hongsoft.test.pkg2.Test1和

 .hongsoft.test.pkg2.Test2称为源类,把本类称为目标类,.hongsoft.test.pkg1包下的其它类称为默认类.然后我们看看一段名称空间在 XML Schema中的使用:

  

  xmlns="w3.org/1999/XMLSchema"

  xmlns:ACC= "SampleStore/Account"

  xmlns:PART= "PartnerStore/PartsCatalog">

  在这里,我们把xmlns:ACC= "SampleStore/Account"和

  xmlns:PART= "PartnerStore/PartsCatalog"称为源名称空间,把targetNamespace="SampleStore/Account"称为目标名称空间,把xmlns="w3.org/1999/XMLSchema"称为默认名称空间(我们没有为它取名).

  聪明的你,已经大致知道名称空间是什么东东了吧?

  schema已经在默认名称空间xmlns="w3.org/1999/XMLSchema"中定义了,所以,这里不需要在它前面标明应该属什么名称空间;这,和我们在前面的JAVA代码中可以直接使用本包下的其它类的方法一样.所以,在一般的情况下,定义XML Schema时,默认名称空间都是xmlns="w3.org/1999/XMLSchema";当然,并没有规定一定要这样.

  好,然后我们看看在WSDL中怎么使用名称空间:

  

  targetNamespace="loans.org/wsdl/loan-approval"

  xmlns="schemas.xmlsoap.org/wsdl/"

  xmlns:xsd="w3.org/2001/XMLSchema"

  xmlns:plnk="schemas.xmlsoap.org/ws/2003/05/partner-link/"

  xmlns:lns="loans.org/wsdl/loan-approval">

  三个必须声明的外部名称空间是 WSDL、SOAP 和 XMLSchema

  xmlns="schemas.xmlsoap.org/wsdl/"是WSDL默认名称空间

  xmlns:soap="schemas.xmlsoap.org/wsdl/soap/" 是SOAP名称空间,这里我们

  是用做BPEL4WS,所以不需要该名称空间xmlns:xsd="w3.org/2001/XMLSchema"是XMLSchema名称空间聪明的你,已经知道怎么在XML Schema和WSDL中使用名称空间了吧?