Xerces (2.3.0) doesn't seem to allow me to redefine attributeGroups. It throws a 'derivation-ok-restriction.2.2' error. Now maybe there's some flaw in my syntax (damned if I can find an example of using redefine on an attributeGroup anywhere on the entire WWW!), but the spec seems to allow it. Here's a minimal example:
Schema "a.xsd" <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault ="qualified" attributeFormDefault="unqualified"> <xs:element name="root"> <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> <xs:complexType> <xs:attributeGroup ref="ab"/> </xs:complexType> </xs:element> <xs:attributeGroup name="ab"> <xs:attribute name="a"/> <xs:attribute name="b"/> </xs:attributeGroup> </xs:schema> Schema "b.xsd" <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault ="qualified" attributeFormDefault="unqualified"> <xs:redefine schemaLocation="a.xsd"> <xs:attributeGroup name="ab"> <xs:attribute name="a"/> <xs:attribute name="b"/> <xs:attribute name="c"/> <xs:attribute name="d"/> </xs:attributeGroup> </xs:redefine> <xs:element name="rut"> <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> <xs:complexType> <xs:attributeGroup ref="ab"/> </xs:complexType> </xs:element> </xs:schema> An xml instance "c.xml" <?xml version="1.0" encoding="UTF-8"?> <rut xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="b.xsd" a="Text" b="Text" c="text" d="text"/> I get, when attempting to validate this with xerces (either DOM or SAX), the following error: [Error] b.xsd:5:28: src-redefine.7.2.2: attributeGroup 'ab' does not properly restrict the attributeGroup it redefines; constraint violated: 'derivation-ok-restriction.2.2'. I don't believe restriction (or extension) of attributeGroups is legal in xsd. However I beleive redefinition is. Is there something silly I'm doing or erroneous about my understanding here, or is this a bug? I'm using Xerces 2.3.0. Thanks, Eric Schwarzenbach --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
