[Home] [By Thread] [By Date] [Recent Entries]

  • From: ht@c... (Henry S. Thompson)
  • To: davidk@l... (David Kågedal)
  • Date: 24 Jun 2000 11:35:16 +0100

davidk@l... (David Kågedal) writes:

> It seems like I'm misreading the Schema spec in a fundamental way, or
> there is not support in XSV for local element definitions.  I couldn't
> find anything about it not being implemented, though.
> 
> I wonder if some kind soul would care to enlighten me as to what I
> have overlooked.
> 
> Consider the following short XML document:
> 
> 
> <?xml version="1.0"?>
> 
> <top xmlns="http://www.lysator.liu.se/~davidk/xml/small">
>   <sub>foobar</sub>
> </top>
> 
> 
> This I managed to validate against the following schema:
> 
> <snip/>
> 
> However, when I tried to define "sub" locally, it didn't validate.
> 
> <?xml version="1.0"?>
> 
> <xsd:schema targetNamespace="http://www.lysator.liu.se/~davidk/xml/small"
> 	    xmlns:xsd="http://www.w3.org/1999/XMLSchema"
> 	    xmlns:sm="http://www.lysator.liu.se/~davidk/xml/small"
> 	    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
> 	    xsi:schemaLocation="http://www.w3.org/1999/XMLSchema http://www.w3.org/1999/XMLSchema.xsd"
> 	    elementFormDefault="unqualified"
> 	    attributeFormDefault="unqualified">
> 
>   <xsd:element name="top">
>     <xsd:complexType>
>       <xsd:all>
> 	<xsd:element name="sub" type="xsd:string"/>
>       </xsd:all>
>     </xsd:complexType>
>   </xsd:element>
> 
> </xsd:schema>
> 
> These are the errors I get:
> 
> http://www.lysator.liu.se/~davidk/xml/small.xml:6:3: Invalid per cvc-complex-type.1.2.4: element {http://www.lysator.liu.se/~davidk/xml/small}:sub not allowed here in element {http://www.lysator.liu.se/~davidk/xml/small}:top:
> 
> http://www.lysator.liu.se/~davidk/xml/small.xml:6:3: Invalid per src-resolve: undeclared element {http://www.lysator.liu.se/~davidk/xml/small}:sub

This is a difficult part of the current design to understand.

The error message actually has the clue:  your instance, which uses a
default namespace declaration, has this element

  {http://www.lysator.liu.se/~davidk/xml/small}:sub

But you schema, because it specifies that local element declarations
must be _un_qualified, is expecting

  {None}sub

Either change your schema to 'elementFormDefault="qualified"', or
change your instance to e.g.

<sm:top xmlns:sm="http://www.lysator.liu.se/~davidk/xml/small">
  <sub>foobar</sub>
</sm:top>

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2001, part-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@c...
		     URL: http://www.ltg.ed.ac.uk/~ht/

***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member