- From: Pete Cordell <petexmldev@tech-know-ware.com>
- Date: Fri, 9 Mar 2007 10:42:14 -0000
- To: "Guillaume Lebleu" <gl@brixlogic.com>
- Cc: <xmlschema-dev@w3.org>
In your example the ObjId type is defaulted to xs:anyType; a complex content type. To make it simple content, you need to do something like: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="ObjId" abstract="true"> <xs:simpleContent> <xs:extension base="xs:...whatever..."/> </xs:simpleContent> </xs:complexType> <xs:complexType name="CarId"> <xs:simpleContent> <xs:extension base="ObjId"/> </xs:simpleContent> </xs:complexType> </xs:schema> HTH, Pete. -- ============================================= Pete Cordell Tech-Know-Ware Ltd for XML to C++ data binding visit http://www.tech-know-ware.com/lmx/ http://www.codalogic.com/lmx/ ============================================= ----- Original Message ----- From: "Guillaume Lebleu" <gl@brixlogic.com> To: <noah_mendelsohn@us.ibm.com> Cc: <xmlschema-dev@w3.org> Sent: Friday, March 09, 2007 3:17 AM Subject: Re: SimpleType as valid derivation of abstract type in 1.1 ? > > 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 10:42:39 UTC