File Coverage

blib/lib/IMS/CP/Manifest.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1 2     2   50944 use strict;
  2         7  
  2         69  
2 2     2   10 use warnings;
  2         5  
  2         120  
3              
4             package IMS::CP::Manifest;
5             {
6             $IMS::CP::Manifest::VERSION = '0.0.3';
7             }
8 2     2   825 use Moose;
  0            
  0            
9             with 'XML::Rabbit::RootNode';
10              
11             use 5.008; # According to Perl::MinimumVersion
12              
13             # ABSTRACT: IMS Content Packaging Manifest XML parser
14              
15              
16             has '+namespace_map' => (
17             default => sub { {
18             'cp' => 'http://www.imsglobal.org/xsd/imscp_v1p1',
19             'lom' => 'http://www.imsglobal.org/xsd/imsmd_v1p2',
20             } },
21             );
22              
23              
24             has 'title' => (
25             isa => 'IMS::LOM::LangString',
26             traits => [qw/XPathObject/],
27             xpath_query => './cp:metadata/lom:lom/lom:general/lom:title',
28             );
29              
30              
31             has 'organizations' => (
32             isa => 'ArrayRef[IMS::CP::Organization]',
33             traits => [qw/XPathObjectList/],
34             xpath_query => '/cp:manifest/cp:organizations/*',
35             );
36              
37             no Moose;
38             __PACKAGE__->meta->make_immutable();
39              
40             1;
41              
42             __END__
43              
44             =pod
45              
46             =encoding utf-8
47              
48             =head1 NAME
49              
50             IMS::CP::Manifest - IMS Content Packaging Manifest XML parser
51              
52             =head1 VERSION
53              
54             version 0.0.3
55              
56             =head1 DESCRIPTION
57              
58             This is a simple (read-only) parser for IMS Content Packaging manifest XML
59             files. The specification is available from
60             L<http://www.imsglobal.org/content/packaging/index.html>. It is still
61             incomplete, but it enables you to get access to the organization of all the
62             resources in the manifest and their associated files (and titles).
63              
64             =head1 ATTRIBUTES
65              
66             =head2 namespace_map
67              
68             The prefixes C<cp> and C<lom> are declared for use in XPath queries.
69              
70             =head2 title
71              
72             The main title of the manifest.
73              
74             =head2 organizations
75              
76             A list of organizations of content. Organizations are basically different
77             ways to organize the content in the package, e.g. linear or hierarchial.
78              
79             =for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
80              
81             =head1 SUPPORT
82              
83             =head2 Perldoc
84              
85             You can find documentation for this module with the perldoc command.
86              
87             perldoc IMS::CP::Manifest
88              
89             =head2 Websites
90              
91             The following websites have more information about this module, and may be of help to you. As always,
92             in addition to those websites please use your favorite search engine to discover more resources.
93              
94             =over 4
95              
96             =item *
97              
98             MetaCPAN
99              
100             A modern, open-source CPAN search engine, useful to view POD in HTML format.
101              
102             L<http://metacpan.org/release/IMS-CP-Manifest>
103              
104             =item *
105              
106             Search CPAN
107              
108             The default CPAN search engine, useful to view POD in HTML format.
109              
110             L<http://search.cpan.org/dist/IMS-CP-Manifest>
111              
112             =item *
113              
114             RT: CPAN's Bug Tracker
115              
116             The RT ( Request Tracker ) website is the default bug/issue tracking system for CPAN.
117              
118             L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=IMS-CP-Manifest>
119              
120             =item *
121              
122             AnnoCPAN
123              
124             The AnnoCPAN is a website that allows community annotations of Perl module documentation.
125              
126             L<http://annocpan.org/dist/IMS-CP-Manifest>
127              
128             =item *
129              
130             CPAN Ratings
131              
132             The CPAN Ratings is a website that allows community ratings and reviews of Perl modules.
133              
134             L<http://cpanratings.perl.org/d/IMS-CP-Manifest>
135              
136             =item *
137              
138             CPAN Forum
139              
140             The CPAN Forum is a web forum for discussing Perl modules.
141              
142             L<http://cpanforum.com/dist/IMS-CP-Manifest>
143              
144             =item *
145              
146             CPANTS
147              
148             The CPANTS is a website that analyzes the Kwalitee ( code metrics ) of a distribution.
149              
150             L<http://cpants.perl.org/dist/overview/IMS-CP-Manifest>
151              
152             =item *
153              
154             CPAN Testers
155              
156             The CPAN Testers is a network of smokers who run automated tests on uploaded CPAN distributions.
157              
158             L<http://www.cpantesters.org/distro/I/IMS-CP-Manifest>
159              
160             =item *
161              
162             CPAN Testers Matrix
163              
164             The CPAN Testers Matrix is a website that provides a visual overview of the test results for a distribution on various Perls/platforms.
165              
166             L<http://matrix.cpantesters.org/?dist=IMS-CP-Manifest>
167              
168             =item *
169              
170             CPAN Testers Dependencies
171              
172             The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.
173              
174             L<http://deps.cpantesters.org/?module=IMS::CP::Manifest>
175              
176             =back
177              
178             =head2 Bugs / Feature Requests
179              
180             Please report any bugs or feature requests by email to C<bug-ims-cp-manifest at rt.cpan.org>, or through
181             the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=IMS-CP-Manifest>. You will be automatically notified of any
182             progress on the request by the system.
183              
184             =head2 Source Code
185              
186             The code is open to the world, and available for you to hack on. Please feel free to browse it and play
187             with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
188             from your repository :)
189              
190             L<http://github.com/robinsmidsrod/IMS-CP-Manifest>
191              
192             git clone git://github.com/robinsmidsrod/IMS-CP-Manifest.git
193              
194             =head1 AUTHOR
195              
196             Robin Smidsrød <robin@smidsrod.no>
197              
198             =head1 COPYRIGHT AND LICENSE
199              
200             This software is copyright (c) 2013 by Robin Smidsrød.
201              
202             This is free software; you can redistribute it and/or modify it under
203             the same terms as the Perl 5 programming language system itself.
204              
205             =cut