Hi,
What I actually wanted to know was whether the XMLSec implementation of
Transforms in general and Filter2 in particular, by default, supports locating
elements that have a namespace prefix.
If not, am I supposed to provide the prefix mappings myself to a container like
XPath2FilterContainer via adding new ns attributes with the
'setXPathNamespaceContext' method? Is this processing model correct?
I have been examining the source code around the 'Transforms' implementation and
it seems like only ns declarations in the context node(s) are used. That would
mean that only Constants.SignatureSpecNS is somehow recognized.
Example:
<theroot>
<p1:hello xmlns:p1="http://www.p1.com">
world
</p1:hello>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<!-- ... -->
</ds:Signature>
</theroot>
A filter2 "intersect" transform with the xpath value "//p1:hello" will raise an
exception: prefix p1 must resolve to a namespace. But with the value "//ds:
Signature" it will work.
( Btw I tested "here()/ds:Signature[1]" and that crashes with an exception
arrayindexoutofbounds... )
-R