I
Ira
The following text comes from the Microsoft document describing the support
for XML Schema functions in InfoPath:
"With InfoPath SP 1, design mode supports designing a form template against
schemas that use abstract complex types. For example, if an element named
shippingAddress has an abstract complex type named address that has two
derivations, USAddress and CanadianAddress, then InfoPath treats any instance
of shippingAddress as a choice between shippingAddress with type USAddress
and shippingAddress with type CanadianAddress"
However if you load the following schema fragment in InfoPath that has two
derived complextypes from an abstract one, InfoPath does not present a choice
of these type object in the data source pane.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="FpML" type="Document"/>
<xsd:complexType name="Document" abstract="true"/>
<xsd:complexType name="DataDocument">
<xsd:complexContent>
<xsd:extension base="Document">
<xsd:sequence>
<xsd:element name="product"
type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="Message">
<xsd:complexContent>
<xsd:extension base="Document">
<xsd:sequence>
<xsd:element name="header"
type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
for XML Schema functions in InfoPath:
"With InfoPath SP 1, design mode supports designing a form template against
schemas that use abstract complex types. For example, if an element named
shippingAddress has an abstract complex type named address that has two
derivations, USAddress and CanadianAddress, then InfoPath treats any instance
of shippingAddress as a choice between shippingAddress with type USAddress
and shippingAddress with type CanadianAddress"
However if you load the following schema fragment in InfoPath that has two
derived complextypes from an abstract one, InfoPath does not present a choice
of these type object in the data source pane.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="FpML" type="Document"/>
<xsd:complexType name="Document" abstract="true"/>
<xsd:complexType name="DataDocument">
<xsd:complexContent>
<xsd:extension base="Document">
<xsd:sequence>
<xsd:element name="product"
type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="Message">
<xsd:complexContent>
<xsd:extension base="Document">
<xsd:sequence>
<xsd:element name="header"
type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>