[xmlsec] XPointer problem

Matthias Jung matthias.jung@xtradyne.com
Mon, 10 Mar 2003 14:23:06 +0100


Dear Aleksey,

in December I asked you about using xpointer expressions in the "reference URI"
attribute of a signature. There was a path in xmlsec that caused some my tests
to fail.

At that time I helped myself using simpler xpointer expressions, but now I have
to use more complex expressions using namespace definitions. There is a sample 
expression below that I would like to use in the signature's reference section:

xmlns(soap-env=http://schemas.xmlsoap.org/soap/envelope/)xpointer(/soap-env:Envelope/soap-env:Body)
(works with libxml's "testXPath" application)

Trying to use such an expression in a signature like this ...

<Reference
URI="#xpointer(xmlns(soap-env=http://schemas.xmlsoap.org/soap/envelope/)xpointer(/soap-env:Envelope/soap-env:Body))">

causes the error ....

(..\src\transforms.c:1182): error 4: xml operation failed :
xmlXPtrEval(xpointer(xmlns(soap-env=http://schemas.xmlsoap.org/soap/envelope/)xpointer(/soap-env:Envelope/soap-env:Body)))
(..\src\transforms.c:881): error 2: xmlsec operation failed :
xmlSecTransformStateParseUri(#xpointer(xmlns(soap-env=http://schemas.xmlsoap.org/soap/envelope/)xpointer(/soap-env:Envelope/soap-env:Body)))
(..\src\xmldsig.c:1602): error 2: xmlsec operation failed :
xmlSecTransformStateCreate

Shouldn't the function xmlXPtrEval be called with the argument
"xmlns(soap-env=http://...)xpointer(/soap-env:Envelope/soap-env:Body))" ????
If this presumption is true I would like to fix this and send a patch to you.

Sorry to bother you again,

    Matthias