File Coverage

blib/lib/PPM/XML/PPD.pm
Criterion Covered Total %
statement 9 49 18.3
branch 0 8 0.0
condition n/a
subroutine 3 15 20.0
pod n/a
total 12 72 16.6


line stmt bran cond sub pod time code
1             #
2             # PPM::XML::PPD
3             #
4             # Definition of the PPD file format.
5             #
6             ###############################################################################
7              
8 2     2   818 use PPM::XML::ValidatingElement;
  2         5  
  2         69  
9 2     2   9 use Exporter;
  2         2  
  2         83  
10              
11             ###############################################################################
12             # Set up PPM::XML::PPD to export its sub-packages so that we can use them in
13             # other XML documents without too much effort.
14             ###############################################################################
15             package PPM::XML::PPD;
16 2     2   6 use vars qw( $VERSION );
  2         3  
  2         1764  
17             $VERSION = '0.01_01';
18             @ISA = qw( Exporter );
19             %EXPORT_TAGS = ( 'elements' =>
20             [ '%SOFTPKG::', '%IMPLEMENTATION::', '%DEPENDENCY::',
21             '%TITLE::', '%ABSTRACT::', '%AUTHOR::',
22             '%LANGUAGE::', '%LICENSE::', '%OS::',
23             '%OSVERSION::', '%PERLCORE::', '%PROCESSOR::',
24             '%CODEBASE::', '%INSTALL::', '%UNINSTALL::',
25             '%ARCHITECTURE::', '%PROVIDE::', '%REQUIRE::',
26             ] );
27             Exporter::export_ok_tags( 'elements' );
28              
29             ###############################################################################
30             # PPD Element: SOFTPKG
31             ###############################################################################
32             package PPM::XML::PPD::SOFTPKG;
33             @ISA = qw( PPM::XML::ValidatingElement );
34             @oattrs = qw( VERSION );
35             @rattrs = qw( NAME );
36             @okids = qw( ABSTRACT AUTHOR IMPLEMENTATION LICENSE
37             TITLE INSTALL UNINSTALL PROVIDE REQUIRE);
38              
39             ###############################################################################
40             # PPD Element: TITLE
41             ###############################################################################
42             package PPM::XML::PPD::TITLE;
43             @ISA = qw( PPM::XML::ValidatingElement );
44              
45             ###############################################################################
46             # PPD Element: ABSTRACT
47             ###############################################################################
48             package PPM::XML::PPD::ABSTRACT;
49             @ISA = qw( PPM::XML::ValidatingElement );
50              
51             ###############################################################################
52             # PPD Element: AUTHOR
53             ###############################################################################
54             package PPM::XML::PPD::AUTHOR;
55             @ISA = qw( PPM::XML::ValidatingElement );
56              
57             ###############################################################################
58             # PPD Element: PROVIDE
59             ###############################################################################
60             package PPM::XML::PPD::PROVIDE;
61             @ISA = qw( PPM::XML::ValidatingElement );
62             @oattrs = qw( VERSION );
63             @rattrs = qw( NAME );
64              
65             ###############################################################################
66             # PPD Element: REQUIRE
67             ###############################################################################
68             package PPM::XML::PPD::REQUIRE;
69             @ISA = qw( PPM::XML::ValidatingElement );
70             @oattrs = qw( VERSION );
71             @rattrs = qw( NAME );
72              
73             ###############################################################################
74             # PPD Element: LICENSE
75             ###############################################################################
76             package PPM::XML::PPD::LICENSE;
77             @ISA = qw( PPM::XML::ValidatingElement );
78             @rattrs = qw( HREF );
79              
80             ###############################################################################
81             # PPD Element: IMPLEMENTATION
82             ###############################################################################
83             package PPM::XML::PPD::IMPLEMENTATION;
84             @ISA = qw( PPM::XML::ValidatingElement );
85             @okids = qw( DEPENDENCY INSTALL LANGUAGE OS OSVERSION PERLCORE PROCESSOR
86             UNINSTALL ARCHITECTURE PROVIDE REQUIRE);
87             @rkids = qw( CODEBASE );
88              
89             ###############################################################################
90             # PPD Element: OS
91             ###############################################################################
92             package PPM::XML::PPD::OS;
93             @ISA = qw( PPM::XML::ValidatingElement );
94             @rattrs = qw( VALUE );
95             sub validate_possible_attrs
96             {
97 0     0     my $self = shift;
98 0           $self->compatibility_check();
99 0           $self->SUPER::validate_possible_attrs( @_ );
100             }
101              
102             sub validate_required_attrs
103             {
104 0     0     my $self = shift;
105 0           $self->compatibility_check();
106 0           $self->SUPER::validate_required_attrs( @_ );
107             }
108              
109             sub compatibility_check
110             {
111 0     0     my $self = shift;
112 0 0         if (exists $self->{NAME})
113             {
114 0           $self->{VALUE} = $self->{NAME};
115 0           delete $self->{NAME};
116             }
117             }
118              
119             ###############################################################################
120             # PPD Element: OSVERSION
121             ###############################################################################
122             package PPM::XML::PPD::OSVERSION;
123             @ISA = qw( PPM::XML::ValidatingElement );
124             @rattrs = qw( VALUE );
125             sub validate_possible_attrs
126             {
127 0     0     my $self = shift;
128 0           $self->compatibility_check();
129 0           $self->SUPER::validate_possible_attrs( @_ );
130             }
131              
132             sub validate_required_attrs
133             {
134 0     0     my $self = shift;
135 0           $self->compatibility_check();
136 0           $self->SUPER::validate_required_attrs( @_ );
137             }
138              
139             sub compatibility_check
140             {
141 0     0     my $self = shift;
142 0 0         if (exists $self->{NAME})
143             {
144 0           $self->{VALUE} = $self->{NAME};
145 0           delete $self->{NAME};
146             }
147             }
148              
149             ###############################################################################
150             # PPD Element: PROCESSOR
151             ###############################################################################
152             package PPM::XML::PPD::PROCESSOR;
153             @ISA = qw( PPM::XML::ValidatingElement );
154             @rattrs = qw( VALUE );
155             sub validate_possible_attrs
156             {
157 0     0     my $self = shift;
158 0           $self->compatibility_check();
159 0           $self->SUPER::validate_possible_attrs( @_ );
160             }
161              
162             sub validate_required_attrs
163             {
164 0     0     my $self = shift;
165 0           $self->compatibility_check();
166 0           $self->SUPER::validate_required_attrs( @_ );
167             }
168              
169             sub compatibility_check
170             {
171 0     0     my $self = shift;
172 0 0         if (exists $self->{NAME})
173             {
174 0           $self->{VALUE} = $self->{NAME};
175 0           delete $self->{NAME};
176             }
177             }
178              
179             ###############################################################################
180             # PPD Element: ARCHITECTURE
181             ###############################################################################
182             package PPM::XML::PPD::ARCHITECTURE;
183             @ISA = qw( PPM::XML::ValidatingElement );
184             @rattrs = qw( VALUE );
185             sub validate_possible_attrs
186             {
187 0     0     my $self = shift;
188 0           $self->compatibility_check();
189 0           $self->SUPER::validate_possible_attrs( @_ );
190             }
191              
192             sub validate_required_attrs
193             {
194 0     0     my $self = shift;
195 0           $self->compatibility_check();
196 0           $self->SUPER::validate_required_attrs( @_ );
197             }
198              
199             sub compatibility_check
200             {
201 0     0     my $self = shift;
202 0 0         if (exists $self->{NAME})
203             {
204 0           $self->{VALUE} = $self->{NAME};
205 0           delete $self->{NAME};
206             }
207             }
208              
209             ###############################################################################
210             # PPD Element: CODEBASE
211             ###############################################################################
212             package PPM::XML::PPD::CODEBASE;
213             @ISA = qw( PPM::XML::ValidatingElement );
214             @oattrs = qw( FILENAME );
215             @rattrs = qw( HREF );
216              
217             ###############################################################################
218             # PPD Element: DEPENDENCY
219             ###############################################################################
220             package PPM::XML::PPD::DEPENDENCY;
221             @ISA = qw( PPM::XML::ValidatingElement );
222             @rattrs = qw( NAME );
223             @oattrs = qw( VERSION );
224              
225             ###############################################################################
226             # PPD Element: LANGUAGE
227             ###############################################################################
228             package PPM::XML::PPD::LANGUAGE;
229             @ISA = qw( PPM::XML::ValidatingElement );
230             @rattrs = qw( VALUE );
231              
232             ###############################################################################
233             # PPD Element: PERLCORE
234             ###############################################################################
235             package PPM::XML::PPD::PERLCORE;
236             @ISA = qw( PPM::XML::ValidatingElement );
237             @rattrs = qw( VERSION );
238              
239             ###############################################################################
240             # PPD Element: INSTALL
241             ###############################################################################
242             package PPM::XML::PPD::INSTALL;
243             @ISA = qw( PPM::XML::ValidatingElement );
244             @oattrs = qw( HREF EXEC );
245              
246             ###############################################################################
247             # PPD Element: UNINSTALL
248             ###############################################################################
249             package PPM::XML::PPD::UNINSTALL;
250             @ISA = qw( PPM::XML::ValidatingElement );
251             @oattrs = qw( HREF EXEC );
252              
253             __END__