---
name: "MAB2::Writer::XML"
section: "3pm"
platform: "linux"
package: "libcatmandu-mab2-perl"
version: "0.24-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MAB2::Writer::XML"
---

# MAB2::Writer::XML(3pm)

MAB2 XML format serializer

## NAME

MAB2::Writer::XML - MAB2 XML format serializer

## SYNOPSIS

MAB2::Writer::XML is a MAB2 XML serializer.

```
    use MAB2::Writer::XML;
    my @mab_records = (
        [
          ['001', ' ', '_', '2415107-5'],
          ['331', ' ', '_', 'Code4Lib journal'],
          ['655', 'e', 'u', 'http://journal.code4lib.org/', 'z', 'kostenfrei'],
          ...
        ],
        {
          record => [
              ['001', ' ', '_', '2415107-5'],
              ['331', ' ', '_', 'Code4Lib journal'],
              ['655', 'e', 'u', 'http://journal.code4lib.org/', 'z', 'kostenfrei'],
              ...
          ]
        }
    );
    my $writer = MAB2::Writer::XML->new( fh => $fh, xml_declaration => 1, collection => 1 );

    $writer->start();
    foreach my $record (@mab_records) {
        $writer->write($record);
    }
    $writer->end();
```

## Arguments

- "xml\_declaration"

  Write XML declaration. Set to 0 or 1. Default: 0. Optional.

- "collection"

  Wrap records in collection element (\<datei\>). Set to 0 or 1. Default: 0. Optional.

See also MAB2::Writer::Handle.

## METHODS

### new(file =\> $file \| fh =\> $fh \[, xml\_declaration =\> 1, collection =\> 1, encoding =\> 'UTF-8'\])

### start()

Writes XML declaration and/or start element for a collection.

### \_write\_record()

### end()

Writes end element for the collection.

## SEEALSO

MAB2::Writer::Handle, Catmandu::Exporter.

## AUTHOR

Johann Rolschewski \<jorol@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Johann Rolschewski.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
