NAME

PRANG::Marshaller - entry point for PRANG XML marshalling machinery

SYNOPSIS

my $marshaller = PRANG::Marshaller->get($class_or_role);

my $object = $marshaller->parse($xml);

my $xml = $marshaller->to_xml($object);

DESCRIPTION

The PRANG::Marshaller currently serves two major functions;

  1. A place-holder for role-based marshalling (ie, marshalling documents with multiple root element types)

  2. A place for document-scoped information on emitting to be held (ie, mapping XML namespace prefixes to URIs and generating namespace prefixes).

This class is a bit of a stop-gap measure; it started out as the only place where any XML marshalling happened, and gradually parts have been moved into metaclass methods, in packages such as PRANG::Graph::Meta::Class, PRANG::Graph::Meta::Element and PRANG::Graph::Node implementations.

SEE ALSO

PRANG, PRANG::Graph::Meta::Class, PRANG::Graph::Meta::Element, PRANG::Graph::Node

AUTHOR AND LICENCE

Development commissioned by NZ Registry Services, and carried out by Catalyst IT - http://www.catalyst.net.nz/

Copyright 2009, 2010, NZ Registry Services. This module is licensed under the Artistic License v2.0, which permits relicensing under other Free Software licenses.