[
Lists Home |
Date Index |
Thread Index
]
This all validates fine on Saxon-SA.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Fraser Goffin [mailto:goffinf@hotmail.com]
> Sent: 05 September 2005 15:03
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] 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>
>
>
|