Hi all,
after I implemented the current spec of XPath Filter 2.0[1], I
started to play around with some akward combinations of input
node set (I) and expanded evaluated XPath expression (S) and
came across the following problem:
If the transform implementation receives an empty input node set
as its input paramter, there is no way to get access to the
input document. But this is necessary because the context
node for the XPath transform has to be initialized with the
root node of the input document (according to section 3.3
of [1]).
According to the processing model of XMLDSIG, a transform receives
its input either as an octet stream or as a XPath node set. So I
think that it is OK for a transform implementation to fail to get
access to the input document if there are no nodes in the XPath
node set which can be used to ask for the underlying document.
In all other transforms currently specified this is no problem,
since they need not access to the underlying document. They all
can be processed even with an empty input node set.
A possible solution for this problem could be to explicitely
forbid an emtpy input for the XPath Filter 2.0 transform. Any
thought?
Regards, Gregor
---
[1] http://www.w3.org/Signature/Drafts/xmldsig-filter2/Overview.html