File Coverage

blib/lib/XML/Schematron.pm
Criterion Covered Total %
statement 18 28 64.2
branch 0 2 0.0
condition n/a
subroutine 6 8 75.0
pod 0 2 0.0
total 24 40 60.0


line stmt bran cond sub pod time code
1             use Moose;
2 1     1   883 use namespace::autoclean;
  1         328479  
  1         6  
3 1     1   5764 with 'MooseX::Traits';
  1         5777  
  1         3  
4              
5             use Moose::Util::TypeConstraints;
6 1     1   56 use XML::Schematron::Test;
  1         2  
  1         10  
7 1     1   2023 use Check::ISA;
  1         2  
  1         29  
8 1     1   402  
  1         1277  
  1         4  
9             use vars qw/$VERSION/;
10 1     1   340 $VERSION = '1.10';
  1         2  
  1         166  
11              
12              
13             has '+_trait_namespace' => ( default => 'XML::Schematron' );
14              
15              
16             has tests => (
17             traits => ['Array'],
18             is => 'rw',
19             isa => 'ArrayRef[XML::Schematron::Test]',
20             default => sub { [] },
21             handles => {
22             _add_test => 'push',
23             all_tests => 'elements',
24             }
25             );
26              
27              
28             my $self = shift;
29             my $ref = shift;
30 0     0 0    
31 0           if ( obj($ref, 'XML::Schematron::Test') ) {
32             $self->_add_test( $ref );
33 0 0         }
34 0           else {
35             $self->_add_test( XML::Schematron::Test->new( %{$ref} ) );
36             }
37 0           }
  0            
38              
39             my $self = shift;
40             my @tests = @_;
41             foreach my $test (@tests) {
42 0     0 0   $self->add_test( $test );
43 0           }
44 0           }
45 0            
46             __PACKAGE__->meta->make_immutable;
47              
48             1;
49              
50             # Below is the stub of documentation for your module. You better edit it!
51              
52             =head1 NAME
53              
54             XML::Schematron - Perl implementation of the Schematron.
55              
56             =head1 SYNOPSIS
57              
58             This package should not be used directly. Use one of the subclasses instead.
59              
60             =head1 DESCRIPTION
61              
62             This is the superclass for the XML::Schematron::* modules.
63              
64             Please run perldoc L<XML::Schematron::XPath>, or perldoc L<XML::Schematron::LibXSLT> for examples and complete documentation.
65              
66             =head1 AUTHOR
67              
68             Kip Hampton, khampton@totalcinema.com
69              
70             =head1 COPYRIGHT
71              
72             Copyright (c) 2000-2010 Kip Hampton. All rights reserved. This program is free software; you can redistribute it and/or modify it
73             under the same terms as Perl itself.
74              
75             =head1 SEE ALSO
76              
77             For information about Schematron, sample schemas, and tutorials to help you write your own schmemas, please visit the
78             Schematron homepage at: L<https://www.schematron.com/>
79              
80             =cut