- From: Henry S. Thompson <ht@inf.ed.ac.uk>
- Date: Tue, 02 Nov 2004 09:43:36 +0000
- To: "W. Eliot Kimber" <ekimber@innodata-isogen.com>
- Cc: xmlschema-dev@w3.org
"W. Eliot Kimber" <ekimber@innodata-isogen.com> writes: > 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. You need <xs:anyAttribute namespace="##local" processContents="lax"/> The default for processContents is 'strict', which in turn means "any unprefixed attribute, provided I can find a top-level declaration for it". With that change, XSV is happy with your example. > 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. Yes, use namespace="##any". ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh Half-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam]
Received on Tuesday, 2 November 2004 09:43:54 UTC