[XML-DEV Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
RE: extend two elements?
- From: "Paul Spencer" <xml-dev-list@b...>
- To: "Amy Wong" <amy_wanes@y...>,<xml-dev@l...>
- Date: Wed, 1 Nov 2006 11:05:08 -0000
Amy,
You do
not give the definition of your "student" type.
Let me
make a few assumptions:
1.
Your "student" type is sufficiently complex that it is worth doing this as an
extension, rather than just a separate definition (the easy
way).
2.
Your "student" already contains an address, and you want to replace this with
the "grad_address".
You
already have a reply from Jack Lindsey making different
assumptions.
If my
assumptions are correct, you have a slight problem as an extension cannot
replace the "address" type with the "grad_address" type. I would create a
new type and derive both "student" and "grad_student" from this. Let's call the
abstract type "student_base", with a definition that is the same as student but
without the address. Then "student" extends this by adding the "address" and
"grad_student" extends it by adding the "grad_address" and the appropriate
attributes.
Note
that you can make it impossible to create an element based on the "student_base"
type directly if you like, but this is not strictly
necessary.
Regards
Paul
Spencer
Hi,
I have an element called
"grad_student" which extends "student". Now I want to extend "grad_address"
element too since "grad_student" element needs address related info.
Unfortunately I cannot merge address info from "grad_address" element into
"grad_student" element. I am wondering how I can extend another element
when this element already extends a base element?
regards,
<xsd:complexType name="grad_student"> <xsd:complexContent> <xsd:extension base="student"> <xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="grade" type="xsd:string" use="required"/> </xsd:extension>
</xsd:complexContent> </xsd:complexType> <xsd:element name="grad_student" type="xyz:grad_student"/> <xsd:complexType name="grad_address"> <xsd:complexContent> <xsd:extension base="address"> <xsd:attribute name="state" type="xsd:string" use="required"/> <xsd:attribute name="zip_code" type="xsd:string" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="grad_address" type="xyz:grad_address"/>
Low, Low, Low Rates! Check out Yahoo! Messenger's cheap http://us.rd.yahoo.com/mail_us/taglines/postman8/*http://us.rd.yahoo.com/evt=39663/*http://voice.yahoo.com

[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
 |
Atom 0.3 |
 |
|
Stylus Studio has published XML-DEV in RSS and ATOM formats,
enabling users to easily subcribe to the list from their preferred news reader application.
|
Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website.
they were not included by the author in the initial post. To view the content without the Sponsor Links please
click here.
|
|