W3C home > Mailing lists > Public > xmlschema-dev@w3.org > March 2007

Re: SimpleType as valid derivation of abstract type in 1.1 ?

From: Pete Cordell <petexmldev@tech-know-ware.com>
Date: Fri, 9 Mar 2007 17:56:42 -0000
Message-ID: <005001c76274$52301640$5900a8c0@Codalogic>
To: "Guillaume Lebleu" <gl@brixlogic.com>
Cc: <xmlschema-dev@w3.org>

This may be a case where an explicit statement about node text content a-la 
Relax-NG (as opposed to schema's blunt "mixed" attribute) would helpful.

I'm not certain about the Relax-NG format, but the equivalent schema could 
look something like:

   <xs:complexType name="ObjId" abstract="true">
        <xs:sequence>
            <xs:value type="xs:int"/> <!-- New -or is it xs:data or 
xs:text? -->
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CarId">
        <xs:complexContent>
            <xs:extension base="ObjId">
                <xs:sequence>
                ....
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

Other than that I'm stuck!!!

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: "Pete Cordell" <petexmldev@tech-know-ware.com>
Cc: <xmlschema-dev@w3.org>
Sent: Friday, March 09, 2007 12:59 PM
Subject: Re: SimpleType as valid derivation of abstract type in 1.1 ?


>
> Pete Cordell wrote:
>> 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>
> This works and addresses partly my requirements. My requirements are: "All 
> objects have an Id, some objects' Id is complex, some objects' Id is 
> simple". With your approach, I still have to have two base types.
>
> Guillaume
>
> 
Received on Friday, 9 March 2007 17:57:15 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:12 UTC