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



Hello,

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

different:

  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)

Thanks,
Julio