- From: Adam van den Hoven <avandenhoven@cucbc.com>
- Date: Wed, 21 Jul 2004 14:20:05 -0700
- To: XML Schema Development <xmlschema-dev@w3.org>
I have an odd situation with my IDE (oxygenXML) and I can't tell if its a
problem with my schema or the IDE (well the xml parser used by the IDE). As
an example, I have the following schema:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schema.foo.net/bar"
attributeFormDefault="unqualified" xmlns:b="http://schema.foo.net/bar">
<xs:attribute name="foo" type="xs:string"/>
<xs:element name="element">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="b:element"/>
</xs:choice>
<xs:attribute ref="b:foo"/>
<xs:attribute name="bar" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:schema>
What I'm expecting is nested element tags each with optional foo and bar
attributes. I created the following document:
<?xml version="1.0" encoding="UTF-8"?>
<element xmlns="http://schema.foo.net/bar"
<element foo="bar" bar="foo"></element>
</element>
When I validate this against the schema above, I get the following error:
Attribute 'foo' is not allowed to appear in element 'element'.
If I do:
<b:element xmlns:b="http://schema.foo.net/bar">
<b:element b:foo="bar" bar="foo"/>
</b:element>
All is forgiven and it passes validation.
As far as I can read in Eric Meyer's book the form should follow the default
set in the root xs:schema element.
So which is right?
Adam
Received on Wednesday, 21 July 2004 17:20:42 UTC