<html>
<head>
</head>
<body>
Hi, Skip!<br>
<br>
Since you've not described what exactly you want to select <br>
using XPath expression I will try to guess that your goal is<br>
to select all &lt;location&gt; nodes and the text these nodes contain.<br>
In this assumpiton I would recommend to use following XPath<br>
expression:<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;XPath&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ancestor-or-self::location<br>
&nbsp;&nbsp;&nbsp; &lt;/XPath&gt; <br>
<br>
In your example this expression will select following nodes<br>
(line breaks are added for better formatting, original result<br>
is one line):<br>
<br>
&lt;location&gt; <br>
Monterey, Monterey Peninsula Airport, CA, <br>
United States (KMRY) 36-35-26N 121-50-51W 66M <br>
&lt;/location&gt;<br>
&lt;location&gt; <br>
San Francisco, San Francisco International Airport, CA, <br>
United States (KSFO) 37-37-11N 122-21-53W 26M &lt;/location&gt;<br>
&lt;location&gt; <br>
Vineyard Haven, Marthas Vineyard Airport, MA, <br>
United States (KMVY) 41-23-32N 070-37-00W 16M <br>
&lt;/location&gt;<br>
<br>
LibXML2 has a nice utility xmllint that allows you to play with different<br>
XML features including XPath. You can try different XPath expressions <br>
on your document and immidiatelly see results.<br>
Also (in case you don't know about this) there is a nice XPath tutorial with<br>
examples:<br>
&nbsp;&nbsp;&nbsp; <a class="moz-txt-link-freetext" href="http://www.zvon.org/xxl/XPathTutorial/General/examples.html">http://www.zvon.org/xxl/XPathTutorial/General/examples.html</a><br>
<br>
<br>
About "/usr/local/ssl": I am really surprised that configuration script<br>
was not able to find OpenSSL in this case. What Linux distribution do <br>
you use? Will you try the latest 0.0.4 XML Sec library, please?<br>
<br>
<br>
Thanks,<br>
<br>
Aleksey.<br>
<br>
<br>
Skip Carter wrote:<br>
<blockquote type="cite" cite="mid:3CC4ACA6.65B0535@taygeta.com">
  <pre wrap="">Hi,<br><br>I am experimenting with your XMLsec library (0.0.3 on<br>Linux) and have found it to be very helpful in the<br>practical aspects of learning XML Digital Signatures.<br>Between reading the specs and playing with your<br>code (I compiled it with debugging turned on<br>and used testDSig) I think I mostly have the hang of it.<br><br>Everything seemed to be going along just fine until<br>I started playing with using XPath.  I created a<br>test file (attached) and tried to set up a signature<br>with an XPath transformation to just sign one elements of<br>the file (all the 'location' nodes).  I tried a couple of<br>different XPath statements but whatever I did, either<br>signed the entire document or signed none of the document<br>(I tested by changing the doc and then using testDSig<br>in verify mode).<br><br>Does your library presently support XPath ?<br>If so, I'd appreciate a pointer on how to do what I<br>am trying to do.<br><br>I tried:<br>  &lt;XPath
&gt; self::document/content/weather/location &lt;/XPath&gt;<br>and:<br>  &lt;XPath&gt; .//location &lt;/XPath&gt;<br><br>which should be equivalent in selecting all of the<br>location nodes, but they did not seem to<br>work (they looked to me to act as if none of the file<br>was signed).<br><br>I have searched around the Web a bit, but I haven't<br>found any COMPLETE examples of the use of XPath,<br>so I built my tests from what I understood from the<br>XPath documentation.<br><br><br>Also, a minor problem with the configure script:<br>It failed to automatically find the location of<br>my openSSL installation in spite of it being in<br>the standard location ( /usr/local/ssl ), I had<br>to explicitly provide it with the switch<br>      --with-openssl=/usr/local/ssl<br><br>before the library would compile.<br><br><br>Thanks in advance for your help,<br><br>Skip<br><br><br><br></pre>
  <br>
  <hr width="90%" size="4"><br>
  <document><header>
  <title>The latest weather</title>
  </header><content><weather id="KMRY"><location> Monterey, Monterey Peninsula
Airport, CA, United States (KMRY) 36-35-26N 121-50-51W 66M </location><time>
 Apr 19, 2002 - 10:54 AM EST / 2002.04.19 1554 UTC </time><wind>  from the
WNW (300 degrees) at 6 MPH (5 KT) </wind><visibility>  10 mile(s) </visibility><sky>
 clear </sky><temperature>  54.0 F (12.2 C) </temperature><dewpt>  46.0 F
(7.8 C) </dewpt><humidity>  74% </humidity><press> 30.15 in. Hg (1020 hPa)
  </press><!--  KMRY 191554Z 30005KT 10SM CLR 12/08 A3015 RMK AO2 SLP223 T01220078 --><!--  16 --></weather><weather id="KSFO"><location>
 San Francisco, San Francisco International Airport, CA, United States (KSFO)
37-37-11N 122-21-53W 26M </location><time> Apr 19, 2002 - 10:56 AM EST /
2002.04.19 1556 UTC </time><wind>  from the W (260 degrees) at 5 MPH (4 KT)
  </wind><visibility>  10 mile(s) </visibility><sky> clear </sky><temperature>
  55.9 F (13.3 C) </temperature><dewpt>  39.0 F (3.9 C) </dewpt><humidity>
  52% </humidity><press>  30.15 in. Hg (1020 hPa) </press><!--  KSFO 191556Z 26004KT 10SM CLR 13/04 A3015 RMK AO2 SLP211 T01330039 --><!--  16 --></weather><weather id="KMVY"><location>
 Vineyard Haven, Marthas Vineyard Airport, MA, United States (KMVY) 41-23-32N
070-37-00W 16M </location><time> Apr 19, 2002 - 10:53 AM EST / 2002.04.19
1553 UTC </time><wind>  from the S (170 degrees) at 9 MPH (8 KT) </wind><visibility>
  6 mile(s) </visibility><sky> overcast </sky><note> haze </note><temperature>
  55.0 F (12.8 C) </temperature><dewpt>  48.9 F (9.4 C) </dewpt><humidity>
  79% </humidity><press>  30 in. Hg (1015 hPa) </press><!--  KMVY 191553Z 17008KT 6SM HZ OVC005 13/09 A3000 RMK AO2 SLP159 T01280094 --><!--  16 --></weather></content></document>
  <pre wrap=""><br><hr width="90%" size="4"><br>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>&lt;Envelope xmlns="urn:envelope"&gt;<br>  &lt;Signature xmlns=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2000/09/xmldsig#">"http://www.w3.org/2000/09/xmldsig#"</a>&gt;<br>    &lt;SignedInfo&gt;<br>      &lt;CanonicalizationMethod<br>               Algorithm=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/TR/2001/REC-xml-c14n-20010315">"http://www.w3.org/TR/2001/REC-xml-c14n-20010315"</a> /&gt;<br>      &lt;SignatureMethod<br>               Algorithm=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2000/09/xmldsig#rsa-sha1">"http://www.w3.org/2000/09/xmldsig#rsa-sha1"</a> /&gt;<br>      &lt;Reference URI=<a class="moz-txt-link-rfc2396E" href="file:///home/skip/xml/weather.xml">"file:///home/skip/xml/weather.xml"</a>&gt;<br>        &lt;Transforms&gt;<br>          &lt;Transform Algorithm=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/TR/1999/REC-xpat
h-19991116">"http://www.w3.org/TR/1999/REC-xpath-19991116"</a>&gt;<br>          &lt;XPath&gt;<br>           .//location<br>          &lt;/XPath&gt;<br>          &lt;/Transform&gt;<br>        &lt;/Transforms&gt;<br>        &lt;DigestMethod Algorithm=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2000/09/xmldsig#sha1">"http://www.w3.org/2000/09/xmldsig#sha1"</a> /&gt;<br>        &lt;DigestValue&gt;&lt;/DigestValue&gt;<br>      &lt;/Reference&gt;<br>    &lt;/SignedInfo&gt;<br>    &lt;SignatureValue/&gt;<br>    &lt;KeyInfo&gt;<br>        &lt;KeyValue/&gt;<br>    &lt;/KeyInfo&gt;<br>  &lt;/Signature&gt;<br>&lt;/Envelope&gt;<br></pre>
  </blockquote>
  <br>
  </body>
  </html>