OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Type substitution vs. element substitution (aka substitution groups)

Hi Farrukh,

Farrukh Najmi <farrukh@wellfleetsoftware.com> writes:

> Is there a suggested best practice to choose between type substitution 
> and element substitution for XML schemas that wish to support extension 
> via inheritance?

Conceptually, they are the same thing. With the type substitution
the element name stays the same and the type information is supplied
in the xsi:type attribute. With substitution groups, the type
information is embedded in the element name.

I personally think that the substitution groups approach results
in a cleaner vocabulary. Consider:

<person name="John Doe"/>
<person xsi:type="superman" name="James 007 Bond" can-fly="false"/>
<person xsi:type="batman" name="Bruce Wayne" can-fly="true" wing-span="10"/>


<person name="John Doe"/>
<superman name="James 007 Bond" can-fly="false"/>
<batman name="Bruce Wayne" can-fly="true" wing-span="10"/>


Boris Kolpackov, Code Synthesis Tools   http://codesynthesis.com/~boris/blog
Open source XML data binding for C++:   http://codesynthesis.com/products/xsd
Mobile/embedded validating XML parsing: http://codesynthesis.com/products/xsde

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS