Hi Raul,

here's an attempt to help you further:

from the spec:
Namespace Nodes- A namespace node N is ignored if the nearest ancestor
element of the node's parent element that is in the node-set has a
namespace node in the node-set with the same local name and value as N.
Otherwise, process the namespace node N in the same way as an attribute
node, except assign the local name xmlns to the default namespace node if
it exists (in XPath, the default namespace node has an empty URI and local
name).

Now, if I apply that to the xmlns:bar="http://example.org/bar"; namespace
node (N) belonging to the element in the third line:

N's parent element that is in the node-set:
bar:Something

bar:Something's nearest ancestor:
<foo:Something xmlns:foo="http://example.org/foo";>

this node doesn't have a namespace node
xmlns:bar="http://example.org/bar";, so you cannot delete N.


if somebody on the list could double-check this, I would feel more
comfortable :)

Karel.


------------------------------------------------------------------------
Katholieke Universiteit Leuven                      tel. +32 16 32 96 17
Dept. Electrical Engineering-ESAT / COSIC
Kasteelpark Arenberg 10, B-3001 Leuven-Heverlee, BELGIUM

                 http://www.esat.kuleuven.ac.be/cosic
------------------------------------------------------------------------



On Sun, 25 Apr 2004, [EMAIL PROTECTED] wrote:

> I'm rewriting the inclusive canonicalization and i see same weirds thing
> in the test vector:
>
> /data/interop/c14n/Y4/c14n-1.txt:
>
> <bar:Something xmlns:bar="http://example.org/bar"; xml:lang="en-ie">
>      <foo:Something xmlns:foo="http://example.org/foo";>
>         <bar:Something xmlns:bar="http://example.org/bar";>
>            <foo:Something xmlns:foo="http://example.org/foo";>
>              <baz:Something xmlns:baz="http://example.org/baz";></baz:Something>
>            </foo:Something>
>         </bar:Something>
>      </foo:Something>
>   </bar:Something>
>
>
>
> Is valid and this one not:
>
> <bar:Something xmlns:bar="http://example.org/bar"; xml:lang="en-ie">
>      <foo:Something xmlns:foo="http://example.org/foo";>
>         <bar:Something>
>            <foo:Something>
>              <baz:Something xmlns:baz="http://example.org/baz";></baz:Something>
>            </foo:Something>
>         </bar:Something>
>      </foo:Something>
>   </bar:Something>
>
> Why is needed to redeclare the xmlns:foo & xmlns:bar in the same prefixes?
> I have readed the spec and doesn't see why, I'm getting mad about it.
>
> Thanks in advance.
>

Reply via email to