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 |
本文地址:http://com.8s8s.com/it/it45971.htm