- From: Gert Driesen <gert.driesen@telenet.be>
- Date: Thu, 21 May 2009 11:41:53 +0200
- To: <xmlschema-dev@w3.org>
Hi, I'm sorry if this has been answered before (or if the answer should've been obvious), but can someone tell me if the following XML Schema should be considered valid: <xs:schema xmlns="foo" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="foo" id="foo"> <xs:element name="Foo" type="FooType" /> <xs:element name="Bar" type="BarType" /> <xs:complexType name="FooType"> <xs:attribute name="name" type="xs:string" use="optional"/> </xs:complexType> <xs:complexType name="BarType"> <xs:complexContent> <xs:extension base="FooType"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> Is it allowed to override/redefine an attribute of a base type when deriving by extension? The reason I'm asking this is because I've noticed that several implementations expose a different behavior here: Altova XML Spy 2009: Does not allow attribute to be "redefined" in the derived type. Mono: Allows attribute to be "redefined" if its use and type match the attribute in the base type. Microsoft .NET: Allows attribute to be "redefined". Oracle Service Bus: Allows attribute to be "redefined". Any feedback is appreciated. Gert
Received on Friday, 22 May 2009 06:12:21 UTC