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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Substitution groups vs. type inheritance


substitution groups and type inheritance seem to provide similar 
capabilities. What are differences? When should I use one 
or the other?

in common:

  both are substitution mechanisms 
    use instance of derived where base expected/use substitute 
    where head expected

  the substitution is restricted to one to many 
    one base, multiple derived/one head, multiple substitutes

  substitution is restricted to same or derived type in both cases
    (if the type differs, to be able to use substitution groups 
     you must have defined a type hierarchy anyways!?)

  both can be defined across namespaces


  in substitution groups you are working with elements, versus types 
  in type inheritance (not sure about implications of this).

  substitution groups are based on global types + references in 
  local elements. This makes for ugly instance documents if using 
  unqualified locals.

(I searched the archives, but couldn't find a discussion on this. 
If I missed something pl. send a URL)