- From: Guillaume Lebleu <gl@brixlogic.com>
- Date: Thu, 08 Mar 2007 22:17:32 -0500
- To: noah_mendelsohn@us.ibm.com
- CC: xmlschema-dev@w3.org
Noah, I had already tried your suggestion. With: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="ObjId" abstract="true"/> <xs:complexType name="CarId"> <xs:simpleContent> <xs:extension base="ObjId"/> </xs:simpleContent> </xs:complexType> </xs:schema> First, as you can see, the actual type of CarId is not defined. IBM SQC says: Description: SEVERITY: 1 ERROR TYPE: 1 When <simpleContent> is used and the type is derived by extension, the content type of the basetype must be a simple type. empty content model is the content type of the basetype, ObjId. It does not correspond to a simple type. SaxonSA says: Description: The type DebitId has simple content so it cannot be derived by extension from the type ObjId which has complex content Guillaume noah_mendelsohn@us.ibm.com wrote: > I haven't thought through your example in great detail, but my intuition > is that it can be handled by deriving not simple types, but complex types > with simple content. Complex types with simple content are usually used > in cases where you want an element like this: > > <e a="1">234</e> > > where the element is complex (because it has attributes) but has content > (in this case the 234) of simple type (perhaps xs:integer). So, if what > you're after is: > > <car refid="xxxx">corvette</car> > > then that's what you'd want. In fact, even if what you want is > > <car>corvette</car> > > which has no attributes, you can derive a complex type with simple content > (perhaps string in this case), that just happens to have no attributes. > > Noah > > -------------------------------------- > Noah Mendelsohn > IBM Corporation > One Rogers Street > Cambridge, MA 02142 > 1-617-693-4036 > -------------------------------------- > > > > > >
Received on Friday, 9 March 2007 03:17:43 UTC