Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - Redefine question >Thread Next - deriving complexTypes from imported types RE: Multiple Types for an elementTo: "Shashikala Shamarao" <shashikala_shamarao@-----.--->, <xmlschema-dev@--.---> Date: 4/8/2004 9:05:00 AM I was thinking of something like (off the top of my head -- syntax may =
be wrong):
<element name="Feature1" type="x1:Feature1"/>
<complexType name="Feature1">
<sequence>
<element name="property1" type="x1:anyHotel" />
</sequence>
</complexType>
<complexType name="anyHotel">
<sequence>
<any minOccurs="0" macOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="hotel1">
<restriction base="x1:anyHotel>
<attribute name="name" type="string" fixed="H1"/>
<attribute name="address1" type="string" fixed="A1"/>
</restriction>
</complexType>
<complexType name="hotel2">
<restriction base="x1:anyHotel>
<attribute name="name" type="string" fixed="H2"/>
<attribute name="address1" type="string" fixed="A2"/>
</restriction>
</complexType>
...
alowing XML like:
<Feature1 xmlns:xsi="...">
<property1 xsi:type="hotel1" name="H1" address1="A1"/>
<property1 xsi:type="hotel2" name="H2" address1="A2"/>
</Feature1>
xan
________________________________
From: Shashikala Shamarao [mailto:shashikala_shamarao@y...]
Sent: Wednesday, April 07, 2004 6:32 PM
To: Xan Gregg; xmlschema-dev@w...
Subject: RE: Multiple Types for an element
Thank you much for your response. But I don't think I understood quite =
well, if you could give me an example, it would be great.
Thanks,
Shashi
For your reference I am attaching the XSD
<element name="Feature1" type="x1:Feature1"/>
<complexType name="Feature1">
<sequence>
<element name="property1" type="x1:hotel1" />
</sequence>
</complexType>
<complexType name="hotel1">
<attribute name="name" type="string" fixed="H1"/>
<attribute name="address1" type="string" fixed="A1"/>
</complexType>
<complexType name="hotel2">
<attribute name="name" type="string" fixed="H2"/>
<attribute name="address1" type="string" fixed="A2"/>
</complexType>
which would give me an XML like below
<Feature1>
<property1 name="H1" address1="A1"/>
</Feature1>
but if I want an XML like below:
<Feature1>
<property1 name="H1" address1="A1"/>
<property1 name="H2" address1="A2"/>
</Feature1>
Xan Gregg <Xan.Gregg@j...> wrote:
Your message came through a bit garbled, but I think what you are =
trying to do might be best done with either substitution groups or =
xsi:type. With xsi:type, you would define:
type anyHotel
type hotel1 derived from anyHotel
type hotel2 derived from anyHotel
element property1 of type anyHotel
then the instance would contain something like
<property1 xsi:type="hotel1" name="H1" address="A1"/>
xan
________________________________
From: xmlschema-dev-request@w... =
[mailto:xmlschema-dev-request@w...] On Behalf Of Shashikala Shamarao
Sent: Monday, March 29, 2004 8:19 PM
To: xmlschema-dev@w...
Subject: Multiple Types for an element
=09
=09
Is there a way to define multiple types for an element?
For example
...
but if I want an XML like below:
<Feature1>
<property1 name="H1" address1="A1"/>
<property1 name="H2" address1="A2"/>
</Feature1>
How can I define XML Schema? Basically I want one property element to =
have hotel1 as type and other one as hotel2. Is there a way to do such =
things? If so could somebody please mail me a Schema which does that.
________________________________
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway =
<http://us.rd.yahoo.com/evt=23609/*http://promotions.yahoo.com/design_g=
iveaway/static/index2.html> - Enter today
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
