W3C home > Mailing lists > Public > w3c-ietf-xmldsig@w3.org > April to June 2002

RE: A simple test of XPath filter performance

From: Christian Geuer-Pollmann <geuer-pollmann@nue.et-inf.uni-siegen.de>
Date: Wed, 08 May 2002 10:38:02 +0200
To: John Boyer <JBoyer@PureEdge.com>, reagle@w3.org
cc: w3c-ietf-xmldsig@w3.org
Message-ID: <5687287.1020854281@crypto>
--On Mittwoch, 24. April 2002 13:23 -0700 John Boyer <JBoyer@PureEdge.com> 
wrote:

> The format is not proprietary.  It is XML.  The only question you have
> to answer is whether you can read the blob of XML and filter it with
> expressions like the XPaths I gave as examples.  If so, how fast is your
> filter operation.
>
> You do not have to create or affix an XML dsig signature.  You only need
> to filter the XML and see whether the results of your filtration match
> the results of our software (which is, operationally at least, the
> easiest way to determine whether we're getting a good representative of
> an XPath expression).

John,

could you please post the results of your software? I can't install it on 
my machine, so it'd be good to have the result of the transforms.

> FYI, there are two signature filters on this form, the net result of
> which is to sign the entire form less some subtrees.  The first filter
> eliminates all elements at depth 3 with a tag name of 'triggeritem'.  The

In your sample, I don't find tags called triggeritem. I only see 
<ae>triggeritem</ae>.

> second filter, called signitemrefs, omits six subtrees at depth 2.  The
> 'sid' attribute is used to uniquely identify pages (depth 1) and items
> (depth 2).  The identifiers in the signitemrefs filter are
>
> 				PAGE1.CHECK16
> 				PAGE1.CHECK17
> 				PAGE1.FIELD47
> 				PAGE1.BUTTON2
> 				SIGNATURE2
> 				PAGE1.FIELD48

The same thing. I only see these values as text nodes:

<signitemrefs content="array">
  <ae>omit</ae>
  <ae>PAGE1.CHECK16</ae>


> The PAGE1 indicates a 'page' element with a 'sid' attribute of PAGE1.
> CHECK16 is the scope identifier, or sid, of a checkbox on PAGE1.  When
> the page is not given, the current page is assumed, though I would be
> fine with an XPath filter that identified PAGE1.SIGNATURE2 rather than
> using here().  Without looking at this in great detail, the subtrees to
> be deleted probably have an XPath filter 2.0 expression along the lines
> of
>
> 	/XFDL/page[@sid="PAGE1"]/*[@sid="CHECK16" or ... or @sid="FIELD48]
>
> The other subtraction filter would probably have an expression along the
> lines of
>
> 	/XFDL/page/*/triggeritem

Hm, I try to create my filter based on your information: Is it the 
following? Could you fill out the ellipse (...) in the first XPath? Or even 
better, simply post a ds:Reference which is to be used for a signature on 
your sample file.

<ds:Transform Algorithm="http://www.w3.org/2002/04/xmldsig-filter2">
 <dsig-xpath:XPath Filter="subtract">
  /XFDL/page[@sid="PAGE1"]/*[@sid="CHECK16" or ... or @sid="FIELD48]
 </dsig-xpath:XPath>
</ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/2002/04/xmldsig-filter2">
 <dsig-xpath:XPath Filter="subtract">
  /XFDL/page/*/triggeritem
 </dsig-xpath:XPath>
</ds:Transform>

Regards,
Christian
Received on Wednesday, 8 May 2002 04:33:37 GMT

This archive was generated by hypermail 2.2.0 + w3c-0.29 : Thursday, 13 January 2005 12:10:15 GMT