|
|
|
|
Web Service描述语言 WSDL 详解(4) |
|
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
WSDL的Types栏和Messages栏中的XML Schema
WSDL数据类型是基于"XML Schema: Datatypes"(XSD)的,现在已经被W3C推荐。这一文档共有三个版本(1999,2000/10,2001),因此必须在namespace属性的<definitions>元素中指明所使用的是哪一个版本。
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" | 在本文中,我将只考虑2001版本。WSDL标准的推荐者强烈建议使用2001版。
在本栏和以后各部分,需使用以下简缩或前缀
| 前缀 |
代表的Namespace |
描述 |
| Soapenc |
http://schemas.xmlsoap.org/soap/encoding |
SOAP 1.1 encoding |
| Wsdl |
http://schemas.xmlsoap.org/wsdl/soap |
WSDL 1.1 |
| Xsd |
http://www.w3.org/2001/XMLSchema |
XML Schema | XSD基类型
下表是直接从MSTK2文档中取出的,列举了MSTK2所支持的所有XSD基类型。它也告诉在客户端或服务器端的WSDL读取程序如何把XSD类型映射到在VB、C++和IDL中相应的类型。
| XSD (Soap)类型 |
变量类型 |
VB |
C++ |
IDL |
Comments |
| anyURI |
VT_BSTR |
String |
BSTR |
BSTR |
|
| base64Binary |
VT_ARRAY | VT_UI1 |
Byte() |
SAFEARRAY |
SAFEARRAY(unsigned char) |
|
| Boolean |
VT_BOOL |
Boolean |
VARIANT_BOOL |
VARIANT_BOOL |
|
| Byte |
VT_I2 |
Integer |
short |
short |
转换时验证范围有效性 |
| Date |
VT_DATE |
Date |
DATE |
DATE |
时间设为 oo:oo:oo |
| DateTime |
VT_DATE |
Date |
DATE |
DATE |
|
| Double |
VT_R8 |
Double |
double |
double |
|
| Duration |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| ENTITIES |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| ENTITY |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| Float |
VT_R4 |
Single |
float |
float |
|
| GDay |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| GMonth |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| GMonthDay |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| GYear |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| GYearMonth |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| ID |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| IDREF |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| IDREFS |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| Int |
VT_I4 |
Long |
long |
long |
|
| Integer |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
转换时范围生效 |
| Language |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| Long |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
转换时范围生效 |
| Name |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| NCName |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| negativeInteger |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
转换时范围生效 |
| NMTOKEN |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| NMTOKENS |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| nonNegativeIntege |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
转换时范围生效 |
| nonPositiveInteger |
VT_DECIMAL |
Variant |
DECIMA |
DECIMAL |
转换时范围生效 |
| normalizedString |
VT_BSTR |
String |
BSTR |
BSTR |
|
| NOTATION |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| Number |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
|
| positiveInteger |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
转换时范围生效 |
| Qname |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| Short |
VT_I2 |
Integer |
short |
short |
|
| String |
VT_BSTR |
String |
BSTR |
BSTR |
|
| Time |
VT_DATE |
Date |
DATE |
DATE |
日设为1899年12月30日 |
| Token |
VT_BSTR |
String |
BSTR |
BSTR |
不转换和生效 |
| unsignedByte |
VT_UI1 |
Byte |
unsigned char |
unsigned char |
|
| UnsignedInt |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
转换时范围生效 |
| unsignedLong |
VT_DECIMAL |
Variant |
DECIMAL |
DECIMAL |
转换时范围生效 |
| unsignedShort |
VT_UI4 |
Long |
Long |
Long |
转换时范围生效 | XSD定义了两套内建的数据类型:原始的和派生的。在下文中查阅内建数据类型的层次十分有益:
| http://www.w3.org/TR/2001/PR-xmlschema-2-20010330 | 
|
|
相关文章:相关软件: |
|