RE: exc c14n bugs

Hi Merlin,

OK, that helps.  But, what is the connection that characterizes the
problem as the result of 'inheriting xmlns="" behaviour from c14n'.

More importantly (though perhaps just a different facet of the same
question), why is the default namespace declaration being retained in
the output of element b:B?

b:B either does or does not visibly utilize the default namespace.  If
it does, then the nearest output ancestor of C that has a default
namespace assigns a different value, so the default namespace
declaration would appear in the canonicalization of C.  If it does not
(which is the case in this example), then C is emitted as you've shown,
but the xmlns="" should also be excluded such that the interpretation of
C is unaltered.

If it were possible to add an attribute to b:B that visibly utilizes the
default namespace, then xmlns="" would appear in b:B, but according to
the former statement above, the default namespace for C would no longer
be excluded.

Note, however, that it is impossible to add such an attribute.  An
attribute with no namespace prefix is not considered to be utilizing the
default namespace according to the Namespaces Rec.  The only way to
visibly utilize the default namespace is with an element, which the
exc-c14n spec notes when it says "...an element E in a document subset
that visibly utilizes the default namespace declaration, which occurs if
E has no namespace prefix".

Best regards,
John Boyer

Received on Tuesday, 4 June 2002 13:08:18 UTC