I am working on an infopath solution that uses an external schema. The schema imports 10schema. Each imported schema has its own namespace and ns prefix. IP does not recognize the ns/prefix declaration in the schema. Below is the schema element and imports:
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:drm="models/drm"
xmlns:org="models/org"
xmlns:db="models/db"
xmlns:note="application/notes"
xmlns:contact="models/contacts"
xmlns:ObjMeta="application/ObjectMeta"
xmlns:hw="models/hardware"
xmlns:pm="models/programmodel"
xmlns:id="application/globalid"
xmlns:sc="models/securitymodel"
xmlns:rm2="models/relationshipmodel2"
targetNamespace="models/drm"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="models/hardware" schemaLocation="hardwaremodel.xsd"/>
<xs:import namespace="models/db" schemaLocation="databasemodel.xsd"/>
<xs:import namespace="models/contacts" schemaLocation="contactmodel.xsd"/>
<xs:import namespace="models/relationshipmodel2" schemaLocation="relationshipmodelv2.xsd"/>
<xs:import namespace="models/programmodel" schemaLocation="programmodel.xsd"/>
<xs:import namespace="models/org" schemaLocation="oemodel.xsd"/>
<xs:import namespace="application/notes" schemaLocation="../application/noteschema.xsd"/>
<xs:import namespace="application/ObjectMeta" schemaLocation="../application/objectmetaschema.xsd"/>
<xs:import namespace="application/globalid" schemaLocation="../application/globalidmodel.xsd"/>
<xs:import namespace="models/securitymodel" schemaLocation="secuitymodel.xsd"/>
I read Greg Collins' article on prefixes and it appears that I have all of the declarations needed. The only thing I can think of is the targetNamespace attribute is third from last. Could IP's parser be looking for the targetNamepace attribute at the begining of the element, not seeing it and creating the ns1..nsn prefixes? I've tried moving it, but Altova XMLSpy keeps moving back to the end.
Thank you
Ren