When an XSD documents uses <xsd:import> or <xsd:include> definitions, the referred XSD documents will also be loaded and cataloged together in the same module.
If you catalog two separate XSD documents which both include a common third XSD document, the types defined in the shared XSD will be included twice in your catalog.
Customer.xsd includes Address.xsd
Provider.xsd includes Address.xsd
If you catalog Customer.xsd you will get components for both
Customer types and Address types under the Customer
module. If you then catalog Provider.xsd you will get
components for both Provider and (again) Address types under the new
Provider module. Those types defined in the shared
Address.xsd appear twice.
customer as XSD.Customer.Customer
customer = XSD.Customer.Customer()
customer.loadFromUrl("file://c:/tmp/customer.xml")
// customer.address is of PBL type XSD.Customer.Address
xmlAddress as String = generateXmlFor(customer.address)
provider as XSD.Provider.Provider()
provider.address = XSD.Provider.Address(xmlAddress)