NAME

Graph::Writer::XML - write out directed graph as XML

SYNOPSIS

    use Graph;
    use Graph::Writer::XML;
    
    $graph = Graph->new();
    # add edges and nodes to the graph
    
    $writer = Graph::Writer::XML->new();
    $writer->write_graph($graph, 'mygraph.xml');

DESCRIPTION

Graph::Writer::XML is a class for writing out a directed graph in a simple XML format. The graph must be an instance of the Graph class, which is actually a set of classes developed by Jarkko Hietaniemi.

The XML format is designed to support the Graph classes: it can be used to represent a single graph with a collection of nodes, and edges between those nodes. The graph, nodes, and edges can all have attributes specified, where an attribute is a (name,value) pair, with the value being scalar.

METHODS

new()

Constructor - generate a new writer instance.

    $writer = Graph::Writer::XML->new();

This doesn't take any arguments.

write_graph()

Write a specific graph to a named file:

    $writer->write_graph($graph, $file);

The $file argument can either be a filename, or a filehandle for a previously opened file.

KNOWN BUGS

No attempt is made to validate the XML in any formal way.

Attribute values must be scalar. If they're not, well, you're on your own.

SEE ALSO

XML::Writer

The perl module used to actually write out the XML. It handles entities etc.

Graph

Jarkko Hietaniemi's modules for representing directed graphs, available from CPAN under modules/by-module/Graph/

Algorithms in Perl

The O'Reilly book which has a chapter on directed graphs, which is based around Jarkko's modules.

Graph::Writer

The base-class for Graph::Writer::XML

AUTHOR

Neil Bowers <neilb@cre.canon.co.uk>

COPYRIGHT

Copyright (c) 2001, Canon Research Centre Europe. All rights reserved.

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