OpenOffice::OODoc::Manifest - Access to document file descriptor


OpenOffice::OODoc::Manifest - Access to document file descriptor


The OpenOffice::OODoc::manifest class is a specialist derivative of OpenOffice::OODoc::XPath allowing access to the content descriptor of an OpenDocument or file.

For ordinary content processing applications, it's 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 desktop suite don't 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'') is a special member of a regular OpenDocument file. It describes the MIME types and the full internal paths of the other members.


Constructor : OpenOffice::OODoc::Manifest->new(<parameters>)

        Short Form: ooManifest(<parameters>)
        See OpenOffice::OODoc::XPath->new
        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 "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.
=head3  getMainType()
        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 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.

setEntry($entry, $type)

        Sets the mime type of an entry element. If the element was not
        previously existing, it's created.
        Returns the new element in case of success, undef otherwise.
                my $element = $manifest->setEntry
                                        ("content.xml", "text/xml");
        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 !


        As for OpenOffice::OODoc::XPath

Exported functions



See OpenOffice::OODoc::Notes(3) for the footnote citations ([n]) included in this page.


Developer/Maintainer: Jean-Marie Gouarne


Copyright 2004-2006 by Genicorp, S.A.

Initial English version of the reference manual by Graeme A. Hunter (


        - Licence Publique Generale Genicorp v1.0
        - GNU Lesser General Public License v2.1
 OpenOffice::OODoc::Manifest - Access to document file descriptor