Understanding anyAttribute namespace="##any" and anyAttribute namespace="##local"

I'm trying to understand how anyAttribute works and I'm getting a result 
that seems to be incorrect but I'm sure it's my lack of understanding.

What I have in my schema is this declaration:

   <xs:complexType name="metadata">
     <xs:choice maxOccurs="unbounded" minOccurs="0">
       <xs:element name="metadata" type="mtbitopic:metadata"/>
       <xs:element name="metadataitem" type="mtbitopic:metadataitem"/>
       <xs:any namespace="##other"/>
     </xs:choice>
     <xs:anyAttribute namespace="##local"/>
   </xs:complexType>

Note the "##local" for anyAttribute. The attributeFormDefault is set to 
"unqualified".

In my instance governed by this schema, I have this markup:

<metadata foo="bar"/>

However, when I validate the document, both oXygen and Stylus Studio 
report that the attribute "foo" is not allowed for the element metadata.

What basic but subtle aspect of XSD am I missing here.

Also, is there a way to say that you want to allow any qualified or 
unqualified attributes? It doesn't appear to be the case but I have such 
a hard time decoding the spec itself that I'm not sure what the actual 
syntax of the namespace= attribute is, so I'm going off what I've 
learned from the various tutorials I could find online.

Thanks,

Eliot
-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(512) 372-8122

eliot@innodata-isogen.com
www.innodata-isogen.com

Received on Monday, 1 November 2004 20:51:57 UTC