- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 15 Apr 2003 10:47:21 +0100
- To: "Kriegesmann, Peter" <Peter.Kriegesmann@softwareag.com>
- Cc: "Schema Dev XML (E-mail)" <xmlschema-dev@w3.org>
"Kriegesmann, Peter" <Peter.Kriegesmann@softwareag.com> writes: > Dear friends of the XML schema, > > I have another question regarding xs:anyAttribute. > Take a look at the schema below: > > <xs:schema targetNamespace = "http://target" xmlns:t = "http://target" > xmlns:tsd = "http://namespaces.softwareag.com/tamino/TaminoSchemaDefinition" > xmlns:xs = "http://www.w3.org/2001/XMLSchema"> > <xs:attributeGroup name = "ag1"> > <xs:attributeGroup ref = "t:ag2"></xs:attributeGroup> > <xs:anyAttribute namespace = "http://myNameSpace" processContents = > "skip"></xs:anyAttribute> > </xs:attributeGroup> > <xs:attributeGroup name = "ag2"> > <xs:anyAttribute namespace = "##targetNamespace"></xs:anyAttribute> > </xs:attributeGroup> > <xs:element name = "E"> > <xs:complexType> > <xs:simpleContent> > <xs:extension base = "xs:string"> > <xs:attributeGroup ref = "t:ag1"></xs:attributeGroup> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > </xs:element> > </xs:schema> > > Is it really valid ? > Various schema validators, such as IBM SQC, Xerces claim that it is. > > But how can a validator determine, which anyAttribute definition to use for > element E ? > Remember that the content model for ..xs:simpleContent/xs:extension is > > (annotation?, ((attribute | attributeGroup)*, anyAttribute?)) > > So several anyAttribute definitions are not allowed, there should be no > difference when attributeGroups are used. > > In this case there are 2 contrary definitions: > > 1. <xs:anyAttribute namespace = "http://myNameSpace" processContents = > "skip"></xs:anyAttribute> > 2. <xs:anyAttribute namespace = "##targetNamespace"></xs:anyAttribute> > > It is possible to merge namespace declarations: > > <xs:anyAttribute namespace = "http://myNameSpace ##targetNamespace"/> > > But what to do with processContents "skip" vs. "strict" ?? The REC specifies that the {process contents} of the outer group, in this case ag1, is used. See sections 3.6.2 and 3.4.2. 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@cogsci.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, 15 April 2003 05:47:26 UTC