Provided by: libxml-generator-perl_1.04-2_all bug


       XML::Generator::DOM - XML::Generator subclass for producing DOM trees instead of strings.


               use XML::Generator::DOM;

               my $dg  = XML::Generator::DOM->new();
               my $doc = $dg->xml($dg->xmlcmnt("Test document."),
                                  $dg->foo({'baz' => 'bam'}, 42));
               print $doc->toString;


               <?xml version="1.0" standalone="yes"?>
               <!--Test document-->
               <foo baz="bam">42</foo>


       XML::Generator::DOM subclasses XML::Generator in order to produce DOM trees instead of
       strings (see XML::Generator and XML::DOM).  This module is still experimental and its
       semantics might change.

       Essentially, tag methods return XML::DOM::DocumentFragment objects, constructed either
       from a DOM document passed into the constructor or a default document that
       XML::Generator::DOM will automatically construct.

       Calling the xml() method will return this automatically constructed document and cause a
       fresh one to be constructed for future tag method calls.  If you passed in your own
       document, you may not call the xml() method.

       Below, we just note the remaining differences in semantics between XML::Generator methods
       and XML::Generator::DOM methods.


       These configuration options are accepted but have no effect on the semantics of the
       returned object: escape, pretty, conformance and empty.


       Subsequently, tag method semantics are somewhat different for this module compared to
       XML::Generator.  The primary difference is that tag method return
       XML::DOM::DocumentFragment objects.  Namespace and attribute processing remains the same,
       but remaining arguments to tag methods must either be text or other
       XML::DOM::DocumentFragment objects.  No escape processing, syntax checking, or output
       control is done; this is all left up to XML::DOM.


       All special tags are available by default with XML::Generator::DOM; you don't need to use
       'conformance' => 'strict'.

       Arguments will simply be concatenated and passed as the data to the
       XML::DOM::ProcessingInstruction object that is returned.

       Escaping of '--' is done by XML::DOM::Comment, which replaces both hyphens with '&#45;'.
       An XML::DOM::Comment object is returned.

       Returns an XML::DOM::XMLDecl object.  Respects 'version', 'encoding' and 'dtd' settings in
       the object.

       Returns an XML::DOM::DocumentType object.

       Returns an XML::DOM::CDATASection object.

       As described above, xml() can only be used when dom_document was not set in the object.
       The automatically created document will have its XML Declaration set and the arguments to
       xml() will be appended to it.  Then a new DOM document is automatically generated and the
       old one is returned.  This is the only way to get a DOM document from this module.