A
Avi Kak
Hello:
This questions relates to the behavior of the Perl
SAX 2.0 parser XML::LibXML::SAX. (This behavior is
also shown by the XML::SAX::Expat parser and,
possibly by all other Perl SAX 2.0 parsers.)
My understanding of a default namespace is that
all unprefixed names get assigned to the default
namespace at and below the level of the element in
which the default namespace is declared.
But when I try the XML::LibXML::SAX parser on
the following document, I don't see the un-prefixed
names 'y', 'C', and 'w' getting assigned to
the default namespace
http://www.mywebsite.com/NS3names/.
Avi Kak
<?xml version="1.0" encoding="iso-8859-1"?>
<NS1:A xmlns:NS1="http://www.mywebsite.com/NS1names/"
xmlns:NS2="http://www.mywebsite.com/NS2names/"
xmlns="http://www.mywebsite.com/NS3names/"<NS1:B NS1:x="hello" y="jello" NS2:z="mello">
hellojellomello
</NS1:B>
<C w="cello"/>
</NS1:A>
This questions relates to the behavior of the Perl
SAX 2.0 parser XML::LibXML::SAX. (This behavior is
also shown by the XML::SAX::Expat parser and,
possibly by all other Perl SAX 2.0 parsers.)
My understanding of a default namespace is that
all unprefixed names get assigned to the default
namespace at and below the level of the element in
which the default namespace is declared.
But when I try the XML::LibXML::SAX parser on
the following document, I don't see the un-prefixed
names 'y', 'C', and 'w' getting assigned to
the default namespace
http://www.mywebsite.com/NS3names/.
Avi Kak
<?xml version="1.0" encoding="iso-8859-1"?>
<NS1:A xmlns:NS1="http://www.mywebsite.com/NS1names/"
xmlns:NS2="http://www.mywebsite.com/NS2names/"
xmlns="http://www.mywebsite.com/NS3names/"<NS1:B NS1:x="hello" y="jello" NS2:z="mello">
hellojellomello
</NS1:B>
<C w="cello"/>
</NS1:A>