[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

extend base type xsd
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
 
 
-----Original Message-----
From: Amy Wong [mailto:amy_wanes@y...]
Sent: 31 October 2006 19:59
To: xml-dev@l...
Subject: extend two elements?

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!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
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.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.