types Property
[This feature was only implemented for MSXML 6.0.]
Returns an ISchemaItemCollection
object. This collection contains top-level <simpleType>
and <complexType>
declarations of the XML Schema. The ISchemaType.itemType
property determines whether the object is of the type complex or simple.
The types
property returns just the types for a single target namespace. If you want to see all of the types for all namespaces, you must query each target namespace separately.
Example
This VB example shows type information being extracted from an XML Schema document.
The following is the XML Schema used in the example.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" finalDefault="restriction">
<xsd:element name="item">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="productName" type="xsd:string"/>
<xsd:element name="quantity">
<xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxExclusive value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="USPrice" type="xsd:decimal"/>
<xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="partNum" type="xsd:int" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
The following is the VB example.
Dim oSchemaCache as New XMLSchemaCache60
Dim oSchema as ISchema
Dim oType as ISchemaType
Dim nsTarget as String
Dim strText as String
nsTarget = "http://www.w3.org/2000/09/xmldsig#"
oSchemaCache.add nsTarget, "po.xsd"
Set oSchema = oSchemaCache.getSchema(nsTarget)
For Each oType in oSchema.types
strText = oType.name & " is a "
If oType.itemType = SOMITEM_ANYTYPE Then
strText = strText & "built-in complex any type"
End If
If oType.itemType = SOMITEM_SIMPLETYPE Then
strText = strText & "simple type"
End If
If oType.itemType = SOMITEM_COMPLEXTYPE Then
strText = strText & "complex type"
End If
If (oType.itemType and SOMITEM_DATATYPE) = SOMITEM_DATATYPE Then
strText = strText & "built-in type"
End If
Next
msgbox strText
JScript Syntax
var oTypes = oISchema.types;
Parameters
None.
Return Values
oTypes
An object. The collection of named simple-type and complex-type objects defined in the XML Schema. This collection contains objects that implement the ISchemaType
interface and the ISchemaComplexType
interface.
Visual Basic Syntax
Set oTypes = oISchema.types
Parameters
None.
Return Values
oTypes
An object. The collection of named simple-type and complex-type objects defined in the XML Schema. This collection contains objects that implement the ISchemaType
interface and the ISchemaComplexType
interface.
C/C++ Syntax
HRESULT get_types (ISchemaItemCollection** types);
Parameters
types[out,retval]
An object. The collection of named simple-type and complex-type objects defined in the XML Schema. This collection contains objects that implement the ISchemaType
interface or the ISchemaComplexType
interface. Use ISchemaType::isComplexType
to query for the correct interface.
Return Values
S_OK
The value returned if successful.
E_POINTER
The value returned if the types
object is Null.
E_FAIL
The value returned if something else is wrong.
Versioning
Implemented in: MSXML 6.0
Applies to
See Also
ISchemaItemCollection Interface
ISchemaType Interface
ISchemaComplexType Interface
itemType Property1