|
When assembling a SchemaContext, we should omit any parts which are conditional on an if-feature (http://tools.ietf.org/html/rfc6020#section-7.18.2) so the end result is the effective view of the world without omitted features.
Defined features should not be explicitly enumerated, but rather controlled by the user by providing a Predicate<QName>. Implementations of Predicate#apply() will indicate acceptance via returning 'true', skip the feature by returning 'false', or halt SchemaContext assembly by throwing a subclass of RuntimeException (probably IllegalArgumentException or similar).
|