ACTION-365: Extension point for selection grammar

Using the 10/5 draft of XML Signature 2.0 as a baseline, my suggestion for
this issue is to rely on the proposed "type" XML attribute in the
<Selection> element to identify the grammar.

Pratik already proposes that the "parameters" of the <Selection> element are
defined by the "type" URI:

http://www.w3.org/2008/xmlsec/Drafts/xmldsig-core-20/#sec-Selection

It seems simplest just to maintain that approach and tie the XPath grammar
we eventually come up with to the URI value we define for signing XML
content. There's also a proposal for handling base64 decoded text nodes
using an XPath selection, so there could be more than one type value that
shares the grammar we eventually settle on, but that doesn't seem like a
problem.

We could define a new extension point for this, but that just seems
gratuitous, since it's going to require new code anyway if you define a new
selection grammar. It would make things more complex, since presumably it
could lead to the IncludedXPath and ExcludedXPath elements using different
grammars. I don't think we really need that much flexibility. May as well
leverage a single plug point at the "type" level. Essentially that replaces
the old plug point at the Transform level.

(And obviously we could choose to rename type/subtype into something else,
that's not important for the moment.)

-- Scott

Received on Monday, 12 October 2009 14:45:54 UTC