[xmlsec] xpath addressing

Matthias Jung matthias.jung at xtradyne.com
Wed Jul 2 05:16:18 PDT 2003


Hey Aleksey,

thanks for the inforamtion .
I expected xpath transformations would be processed on the DOM tree not 
on a node set.
Selecting a node by addressing it's path in a tree couldn't work in this 
case.

Fyi, I helped myself with another xpath expression switching from top 
down to bottom up condition checking.
Each node in the node set has to fulfill some consitions about its 
ancestors.

A sample statement now looks like:
<XPath xmlns:ns="urn:namespace"> ancestor-or-self::ns:Root and 
ancestor-or-self::ns:FirstChild </XPath>

Matthias


Aleksey Sanin wrote:

> Hi, Matthias!
>
> The "(//. | //@* | //namespace::*)" part simply selects all nodes in the
> document and then the condition inside square brackets selects the
> desired nodes. This way of XPath transform processing is described
> in XMLDSig specification [1]. Unfortunately, I don't know a simple
> way to achieve the result you want using the XPath transform.
> However, there is a new XPath2 transform [2] and xmlsec does support it.
> Using this transform you'll easily get what you want because it does not
> require implicit "square brackets".  The downside is that less toolkits
> support it thus you might have interop problems with non-xmlsec
> based implementations.
>
> Aleksey
>
>
> [1] http://www.w3.org/TR/xmldsig-core/#sec-XPath
> [2] http://www.w3.org/TR/xmldsig-filter2/
>
>
>
>




More information about the xmlsec mailing list