[Home] [By Thread] [By Date] [Recent Entries]


Hi,

I think this will make you happy. The key here is to indicate the type of
list being used by using the xsi:type="blah" attribute in the instance:

schema:

<?xml version="1.0" encoding="UTF-8"?>

<schema 
       xmlns="http://www.w3.org/2001/XMLSchema" 
       xmlns:g="http://www.example.org"
       targetNamespace="http://www.example.org"
>

<complexType name="list.Type">
     <choice>
         <element name="item1" maxOccurs="unbounded" minOccurs="0"/>
         <element name="item2" maxOccurs="unbounded" minOccurs="0"/>
     </choice>
</complexType>

<complexType name="listEx.Type">
    <complexContent>
        <extension base="g:list.Type">
            <choice>
                <element name="item3" maxOccurs="unbounded" minOccurs="0"/>
            </choice>
        </extension>
    </complexContent>
</complexType>

<element name="list" type="g:list.Type"/>

<element name="lists">
    <complexType>
        <sequence>
            <element ref="g:list" maxOccurs="unbounded"/>
        </sequence>
    </complexType>
</element>

</schema>


document instance:

<?xml version="1.0" encoding="UTF-8"?>
<g:lists
   	xmlns:g="http://www.example.org" 
   	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   	xsi:schemaLocation="http://www.example.org ../schemas/generic.xs"
>
    <g:list>
        <item1/>
        <item1/>
    </g:list>

    <g:list xsi:type="g:listEx.Type">
        <item3/>
    </g:list>

</g:lists>






> -----Original Message-----
> From: Andrew Goodchild [mailto:andrewg@d...]
> Sent: Friday, March 08, 2002 3:53 AM
> To: xml-dev@l...
> Subject:  Genericity and XML-Schema
> 
> 
> 
> Hi,
> 
> I know someone has probably asked this question before, but is
> genericity/polymorphism supported in XML-Schema?  For example 
> if I have a
> complex type for <list> and want to later on create a list of 
> addressess
> or a list of blood pressures.  Is genericity anything more than simply
> creating a complex type which extends the <item> in the <list> as an
> address or as a blood pressure?
> 
> thanks,  Andrew
> 
> 
> 
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> 
> The list archives are at http://lists.xml.org/archives/xml-dev/
> 
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
> 

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member