This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The current F&O spec states in 17.5.1 that "Implementations must ignore any entries in the map whose keys are not defined in this specification, unless the key has a specific ·implementation-defined· meaning.". I would like to see an error raised instead, as I believe it would be more user-friendly to reject unknown keys. We are already raising errors for unknown values, so maybe we can use the same error code?
There is a trade-off here, but we decided that it was a good idea to allow new options to be introduced by vendors or in future releases without causing queries to fail if they use such options, and are then run with a product that does not recognize them. This is the way extension attributes in XSLT work, for example, and it has worked very well. We could have used namespaces so that extensions are self=contained, but that seemed over-engineered for the purpose.
> We could have used namespaces so that extensions are self=contained, > but that seemed over-engineered for the purpose. This approach was chosen for XQuery annotations – annotations in the default namespace are rejected – but I see that such a decision would introduce incompatibilities with XSLT.