[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Access to elements from schema imported once removed !
I have a main transcation schema which INCLUDEs a schema containing a number of type definitions. That schema IMPORTs another schema which contains some global element declarations which are used to extend one of the types in the import'ing schema. Transaction schema --> includes base types --> imports global elements When an XML instance based on the transaction schema is created that contains a reference to one of the global elements of the imported schema, XML Spy outputs the message :- 'Could not validate element <<globalElement>>. No type definition was found' If I view the transaction schema, the imported types and elements are clearly visible. Can anyone tell me why the XML is invalid ?? I have attached a simplified example below :- XML Instance Doc =========== <?xml version="1.0" encoding="UTF-8"?> <tns:includedRoot xmlns:tns="urn:bar" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:bar includingSchema.xsd" xmlns:imp="urn:foo"> <fromImported> <root>blah</root> <imp:globalElement>blah</imp:globalElement> </fromImported> </tns:includedRoot> transaction schema ============ <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:bar" targetNamespace="urn:bar" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="importingSchema.xsd"/> <xs:element name="includedRoot"> <xs:complexType> <xs:sequence> <xs:element name="fromImported" type="Extended"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> importing schema =========== <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified" xmlns:imp="urn:foo"> <xs:import namespace="urn:foo" schemaLocation="importedSchema.xsd"/> <xs:complexType name="myBaseType"> <xs:sequence> <xs:element name="root" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="Extended"> <xs:complexContent> <xs:extension base="myBaseType"> <xs:sequence> <xs:element ref="imp:globalElement" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> imported schema ========== <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="urn:foo" xmlns="urn:foo"> <xs:element name="globalElement" type="xs:string"/> </xs:schema>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|