File: append_to_xml_file

package info (click to toggle)
libxml-sax-machines-perl 0.46-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 436 kB
  • sloc: perl: 1,767; makefile: 9
file content (40 lines) | stat: -rw-r--r-- 744 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package My::Appender;

use XML::Filter::Merger;

@ISA = qw( XML::Filter::Merger );

use strict;

sub end_element {
    my $self = shift;

    if ( $self->in_master_document && ! $self->element_depth ) {
        XML::SAX::ParserFactory->parser(
            Handler => $self
        )->parse_string( <<'END_DOC' );
<!-- note that this comment and the root elt get discarded.
     The root elt may be kept by calling $self->set_keep_all_roots( 1 );
-->
<more-greetings>
  <hi />
  <howdy />
</more-greetings>
END_DOC
    }

    $self->SUPER::end_element( @_ );
}

package main;

use XML::SAX::Machines qw( Pipeline );

Pipeline( My::Appender => \*STDOUT )->parse_string( <<'END_DOC' );
<greetings>
  <hello />
  <bonjour />
</greetings>
END_DOC