You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@santuario.apache.org by Gabriel McGoldrick <gm...@cladonia.com> on 2003/11/07 14:26:07 UTC

Nodelists in Apache exclusive canonicalisation

I seem to have a problem using nodelists in exclusive canonicalization - I am almost certain that I have installed correctly - 

Given the sample file:

<?xml version="1.0" encoding="UTF-8"?>
<x:sample xmlns:x="http://www.x.com/sample/">
<?testpi 123?>
 <section xml:lang="en">
  <p style="indented" abc='xy"z'>
   <x:verbatim xml:space="preserve">
    <b xml:lang="fr">def 
     <i xml:space="reset">jkl</i> 
    </b> 
   </x:verbatim>
  </p>
 </section> 
</x:sample>


I choose a nodeset using   (//. | //@* | //namespace::*)[ancestor-or-self::p]

IBM's XSS4J gives me

<p abc="xy&quot;z" style="indented">
   <x:verbatim xmlns:x="http://www.x.com/sample/" xml:space="preserve">
    <b xml:lang="fr">def
     <i xml:space="reset">jkl</i>
    </b>
   </x:verbatim>
  </p>

However Apache gives me

<p abc="xy&quot;z" style="indented">
   <x:verbatim xml:space="preserve">
    <b xml:lang="fr">def
     <i xml:space="reset">jkl</i>
    </b>
   </x:verbatim>
  </p>

If I use a subtree in Apache (//p) rather than a nodelist, I get the correct:

<p abc="xy&quot;z" style="indented">
   <x:verbatim xmlns:x="http://www.x.com/sample/" xml:space="preserve">
    <b xml:lang="fr">def
     <i xml:space="reset">jkl</i>
    </b>
   </x:verbatim>
  </p>


Also, Apache doesn't seem to honour the included Namespace Prefix list for nodelists but does for subtrees?