[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Access to elements from schema imported once removed!
I do not see any problem in the schemas, Xerces 2.7.1 validates the instance document without problems. Note that xs:element/@name value is a non qualified name so it does not require a default namespace and it is not allowed to specify a prefix; the global elements belong to the schema target namespace. Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Chiusano Joseph wrote: > From a quick glance, in your "imported schema", element "globalElement > is not in the "urn:foo" namespace because it does not have a namespace > prefix, and you have not specified a default namespace for that schema. > If you add a default namespace declaration to the imported schema that > makes the "urn:foo" namespace your default namespace, it should work. > > Joe Chiusano > > ------------------------------------------------------------------------ > > *From:* Fraser Goffin [mailto:goffinf@h...] > *Sent:* Mon 9/5/2005 10:03 AM > *To:* xml-dev@l... > *Subject:* 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> > > > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an > initiative of OASIS <http://www.oasis-open.org> > > The list archives are at http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the subscription > manager: <http://www.oasis-open.org/mlmanage/index.php> >
|
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
|