- 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