Hi Farrukh,
Farrukh Najmi <> 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"/>
Vs:
<person name="John Doe"/>
<superman name="James 007 Bond" can-fly="false"/>
<batman name="Bruce Wayne" can-fly="true" wing-span="10"/>
Boris
--
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