File Coverage

blib/lib/XML/Pastor.pm
Criterion Covered Total %
statement 13 15 86.6
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 18 20 90.0


line stmt bran cond sub pod time code
1             #===============================================
2             package XML::Pastor;
3            
4 10     10   70623 use utf8;
  10         87  
  10         69  
5 10     10   390 use strict;
  10         17  
  10         404  
6 10     10   139 use warnings;
  10         22  
  10         462  
7 10     10   54 no warnings qw(uninitialized);
  10         20  
  10         485  
8            
9             require 5.008;
10            
11            
12 10     10   8664 use XML::Pastor::Builtin;
  0            
  0            
13             use XML::Pastor::ComplexType;
14             use XML::Pastor::Element;
15             use XML::Pastor::Generator;
16             use XML::Pastor::Meta;
17             use XML::Pastor::NodeArray;
18             use XML::Pastor::Schema;
19             use XML::Pastor::SimpleType;
20             use XML::Pastor::Stack;
21             use XML::Pastor::Util;
22            
23            
24             use vars qw($VERSION);
25             $VERSION = '1.0.4';
26            
27             #------------------------------------------------------------
28             sub new {
29             my $proto = shift;
30             my $class = ref($proto) || $proto;
31             my $self = {@_};
32             return bless $self, $class;
33             }
34            
35             #--------------------------------------------------------
36             sub version {
37             return $XML::Pastor::VERSION;
38             }
39            
40             #--------------------------------------------------------
41             sub generate {
42             my $self = shift;
43             my $args = {@_};
44             my $verbose = $args->{verbose} || $self->{verbose} || 0;
45            
46             my $parser =XML::Pastor::Schema::Parser->new(verbose => $verbose);
47             my $model = $parser->parse(@_, verbose=>$verbose);
48            
49             print STDERR "\n========= AFTER PARSE =============\n". $model->dump() . "\n\n" if ($verbose >= 8);
50            
51             $model->resolve(@_, verbose=>$verbose);
52             print STDERR "\n========= AFTER RESOLVE =============\n". $model->dump() . "\n\n" if ($verbose >= 8);
53            
54             my $generator = XML::Pastor::Generator->new(verbose=>$verbose);
55             my $result = $generator->generate(@_, model=>$model, verbose=>$verbose);
56            
57             print STDERR "\n========= AFTER GENERATE =============\n". $model->dump() . "\n\n" if ($verbose >= 8);
58            
59             return $result;
60             }
61            
62             1;
63            
64             __END__