The OpenOffice::OODoc::manifest class is a specialist derivative of
OpenOffice::OODoc::XPath allowing access to the content descriptor
of an OpenDocument or OpenOffice.org file.
For ordinary content processing applications, its not absolutely
necessary to control the manifest. Member imports or deletions
(ex: createImageElement() in OpenOffice::OODoc::Image, raw_delete()
in OpenOffice::OODoc::File) may make the real content inconsistent
with the manifest. Up to now, the OpenOffice.org desktop suite dont
worry about that. However, OpenOffice::OODoc::Manifest provides a
few number of easy to use methods to get or set any entry in the
manifest. In addition, it allows the users (at their own risks) to
create or update any kind of special entry or mime type, without
control. There is no automatic consistency check between the manifest
and the real content (but this check and others could be easily
developed with the combination of this module and the other ones).
The manifest (i.e. the META-INF/manifest.xml part of an ODF package)
is a special member that describes the MIME types and the full internal
paths of the other members.
Constructor : OpenOffice::OODoc::Manifest->new(<parameters>)
Short Form: odfManifest(<parameters>)
The XML member loaded by default is META-INF/manifest.xml.
$my manifest = OpenOffice::OODoc::Manifest>new
file => document.odt
returns a new object which represents the member list of an
ODF-compliant "document.odt" file.
Returns the element (if any) corresponding to the given member.
my $element = $manifest->getEntry("content.xml");
Returns the element describing the "content.xml" member of the
file, if this element is defined.
Returns the main MIME type of the document.
For example, this type is
for an OpenDocument text file or
for an OpenDocument presentation, or
for an OpenOffice.org 1.0 text file, etc.
See the Appendix C in the OASIS OpenDocument 1.0 specification
for a complete list of OpenDocument-compliant MIME types.
Returns the media (mime) type of the given member.
Deletes the named entry.
Sets the mime type of an entry element. If the element was not
previously existing, its created.
Returns the new element in case of success, undef otherwise.
my $element = $manifest->setEntry
This instruction first creates (if needed) an entry for the member
"content.xml" and sets its media type to "text/xml".
Sets the main MIME type of the document.
Risky; not for ordinary use. But nobody prevents you from giving
a presentation or spreadsheet MIME type to a Writer document !