Dear monks,

does anyone know how to simply solve following annoyance (not a real problem)?

Building DOM by XML::LibXML I create new elements via createElementNS method of XML document. When such document is serialized, every element contains the namespace declaration. Due to this declarations, the document is not very readable and occupies too much space on my screen.

Is there a way how to get rid of these declarations in resulting document and left only those "necessary" (in document element).

use strict; use warnings; use XML::LibXML; my $ns = 'http://www.example.com'; my $doc = XML::LibXML::Document->new; $doc->setDocumentElement($doc->createElementNS($ns, 'q:one')); $doc->documentElement->appendChild($doc->createElementNS($ns, 'q:two') +); $doc->documentElement->appendChild($doc->createElementNS($ns, 'q:three +')); warn $doc->toString(1);
The result is
<?xml version="1.0"?> <q:one xmlns:q="http://www.example.com"> <q:two xmlns:q="http://www.example.com"/> <q:three xmlns:q="http://www.example.com"/> </q:one>

Thanks for any advice

Roman

In reply to XML::LibXML and too many namespace declarations by roman

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.