1GraphViz2::Parse::XML(3U)ser Contributed Perl DocumentatiGornaphViz2::Parse::XML(3)
2
3
4

NAME

6       GraphViz2::Parse::XML - Visualize XML as a graph
7

Synopsis

9               #!/usr/bin/env perl
10
11               use strict;
12               use warnings;
13
14               use File::Spec;
15
16               use GraphViz2;
17               use GraphViz2::Parse::XML;
18
19               use Log::Handler;
20
21               # ------------------------------------------------
22
23               my($logger) = Log::Handler -> new;
24
25               $logger -> add
26                       (
27                        screen =>
28                        {
29                                maxlevel       => 'debug',
30                                message_layout => '%m',
31                                minlevel       => 'error',
32                        }
33                       );
34
35               my($graph) = GraphViz2 -> new
36                       (
37                        edge   => {color => 'grey'},
38                        global => {directed => 1},
39                        graph  => {rankdir => 'TB'},
40                        logger => $logger,
41                        node   => {color => 'blue', shape => 'oval'},
42                       );
43               my($g) = GraphViz2::Parse::XML -> new(graph => $graph);
44
45               $g -> create(file_name => File::Spec -> catfile('t', 'sample.xml') );
46
47               my($format)      = shift || 'svg';
48               my($output_file) = shift || File::Spec -> catfile('html', "parse.xml.pp.$format");
49
50               $graph -> run(format => $format, output_file => $output_file);
51
52       See scripts/parse.xml.pp.pl ("Scripts Shipped with this Module" in
53       GraphViz2).
54

Description

56       Takes an XML file and converts it into a graph, using the pure-Perl
57       XML::Tiny.
58
59       You can write the result in any format supported by Graphviz
60       <http://www.graphviz.org/>.
61
62       Here is the list of output formats
63       <http://www.graphviz.org/content/output-formats>.
64

Distributions

66       This module is available as a Unix-style distro (*.tgz).
67
68       See <http://savage.net.au/Perl-modules/html/installing-a-module.html>
69       for help on unpacking and installing distros.
70

Installation

72       Install GraphViz2 as you would for any "Perl" module:
73
74       Run:
75
76               cpanm GraphViz2
77
78       or run:
79
80               sudo cpan GraphViz2
81
82       or unpack the distro, and then either:
83
84               perl Build.PL
85               ./Build
86               ./Build test
87               sudo ./Build install
88
89       or:
90
91               perl Makefile.PL
92               make (or dmake or nmake)
93               make test
94               make install
95

Constructor and Initialization

97   Calling new()
98       "new()" is called as "my($obj) = GraphViz2::Parse::XML -> new(k1 => v1,
99       k2 => v2, ...)".
100
101       It returns a new object of type "GraphViz2::Parse::XML".
102
103       Key-value pairs accepted in the parameter list:
104
105       o graph => $graphviz_object
106           This option specifies the GraphViz2 object to use. This allows you
107           to configure it as desired.
108
109           The default is GraphViz2 -> new. The default attributes are the
110           same as in the synopsis, above, except for the logger of course,
111           which defaults to ''.
112
113           This key is optional.
114

Methods

116   create(file_name => $file_name)
117       Creates the graph, which is accessible via the graph() method, or via
118       the graph object you passed to new().
119
120       Returns $self for method chaining.
121
122       $file_name is the name of an XML file.
123
124   graph()
125       Returns the graph object, either the one supplied to new() or the one
126       created during the call to new().
127

FAQ

129       See "FAQ" in GraphViz2 and "Scripts Shipped with this Module" in
130       GraphViz2.
131

Thanks

133       Many thanks are due to the people who chose to make Graphviz
134       <http://www.graphviz.org/> Open Source.
135
136       And thanks to Leon Brocard <http://search.cpan.org/~lbrocard/>, who
137       wrote GraphViz, and kindly gave me co-maint of the module.
138

Version Numbers

140       Version numbers < 1.00 represent development versions. From 1.00 up,
141       they are production versions.
142

Machine-Readable Change Log

144       The file Changes was converted into Changelog.ini by
145       Module::Metadata::Changes.
146

Support

148       Email the author, or log a bug on RT:
149
150       <https://rt.cpan.org/Public/Dist/Display.html?Name=GraphViz2>.
151

Author

153       GraphViz2 was written by Ron Savage <ron@savage.net.au> in 2011.
154
155       Home page: <http://savage.net.au/index.html>.
156
158       Australian copyright (c) 2011, Ron Savage.
159
160               All Programs of mine are 'OSI Certified Open Source Software';
161               you can redistribute them and/or modify them under the terms of
162               The Perl License, a copy of which is available at:
163               http://dev.perl.org/licenses/
164
165
166
167perl v5.30.0                      2019-07-26          GraphViz2::Parse::XML(3)
Impressum