HRESULT LocalTypeMapping([in] BSTR ParentXmlType, [in] BSTR ParentXmlTypeNS, [in] BSTR ChildName, [in] BSTR ChildNamespace, [in] BSTR Type, [in] BSTR TypeNamespace);
Registers a new local element type mapping. This is the mapping from an element name to an Xml Type, however it is scoped by the containing type. This allows you to have multiple elements with the same name, but for them to have different types depending upon the type of the element they are contained within.
set e = CreateObject("pocketSOAP.Envelope.2")
const XSD = "http://www.w3.org/2001/XMLSchema"
e.SerializerFactory.LocalTypeMapping "one",  "http://soapinterop.org/", "item", "", "string", XSD
e.SerializerFactory.LocalTypeMapping "two",  "http://soapinterop.org/", "item", "", "int",    XSD
e.SerializerFactory.LocalTypeMapping "three","http://soapinterop.org/", "item", "", "float",  XSD
e.parse GetTestMsg
for i = 0 to e.parameters.count-1
	set n = e.parameters.item(i).Nodes.item(0)
	wscript.echo n.Name & " -> " & n.Value & " -> " & TypeName(n.Value)
next
Function GetTestMsg()
	m = "<S:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' " + _
		 "SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:E='http://schemas.xmlsoap.org/soap/encoding/' " + _
		 "xmlns:S='http://schemas.xmlsoap.org/soap/envelope/' " + _
		 "xmlns:d='http://soapinterop.org/' " + _
		 "xmlns:xs='http://www.w3.org/2001/XMLSchema' " + _
		 "xmlns:xi='http://www.w3.org/2001/XMLSchema-instance'>" + _
		 "<S:Body><d:testFooResponse>" + _
		 "<a xi:type='d:one'><item>String</item></a>" + _
		 "<b xi:type='d:two'><item>1414</item></b>" + _
		 "<c xi:type='d:three'><item>33.33</item></c>" + _ 
		 "</d:testFooResponse></S:Body></S:Envelope>"
	GetTestMsg = m
end Function
' generates
item -> Text -> String
item -> 1414 -> Long
item -> 33.33 -> Single
  
Copyright © Simon Fell, 2000-2004. All rights reserved.