OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Access to elements from schema imported once removed !

[ Lists Home | Date Index | Thread Index ]

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>






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS