[
Lists Home |
Date Index |
Thread Index
]
Validates fine in XML Spy 2005 professional edition, release 3.
I've heard before of other instances where there are validation differences
between the professional and Enterprise editions - and not always with the
newer "more advanced" versions validating more correctly.
James Walford
-----Oprindelig meddelelse-----
Fra: Fraser Goffin [mailto:goffinf@hotmail.com]
Sendt: 5. september 2005 18:07
Til: xml-dev@lists.xml.org
Emne: Re: [xml-dev] Access to elements from schema imported once removed
!
The early concensus appears to be '.. its an XML Spy thing'. I am on
familiar ground here as I'm sure are others. I will try to independantly
verify that other validating parsers can successfully consume the document
as others have already kindly done (thanks). I will report back what I find.
Fraser.
>From: "George Cristian Bina" <george@sync.ro>
>To: <ElektonikaMail>
>CC: "Fraser Goffin" <goffinf@hotmail.com>,<xml-dev@lists.xml.org>
>Subject: Re: [xml-dev] Access to elements from schema imported once removed
>!
>Date: Mon, 5 Sep 2005 16:15:16 +0100
>
>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@hotmail.com]
>>*Sent:* Mon 9/5/2005 10:03 AM
>>*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>
>>
>
>-----------------------------------------------------------------
>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>
>
>
-----------------------------------------------------------------
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>
|