.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "OODoc::Manifest 3pm" .TH OODoc::Manifest 3pm "2008-09-16" "perl v5.18.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" OpenOffice::OODoc::Manifest \- Access to document file descriptor .SH "DESCRIPTION" .IX Header "DESCRIPTION" 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. .PP For ordinary content processing applications, it's not absolutely necessary to control the manifest. Member imports or deletions (ex: \fIcreateImageElement()\fR in OpenOffice::OODoc::Image, \fIraw_delete()\fR in OpenOffice::OODoc::File) may make the real content inconsistent with the manifest. Up to now, the OpenOffice.org 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). .PP The manifest (i.e. the \*(L"META\-INF/manifest.xml\*(R" part of an \s-1ODF\s0 package) is a special member that describes the \s-1MIME\s0 types and the full internal paths of the other members. .SS "Methods" .IX Subsection "Methods" \fIConstructor : OpenOffice::OODoc::Manifest\->new()\fR .IX Subsection "Constructor : OpenOffice::OODoc::Manifest->new()" .PP .Vb 1 \& Short Form: odfManifest() \& \& See OpenOffice::OODoc::XPath\->new \& \& The XML member loaded by default is \*(AqMETA\-INF/manifest.xml\*(Aq. \& \& Example: \& \& $my manifest = OpenOffice::OODoc::Manifest>new \& ( \& file => \*(Aqdocument.odt\*(Aq \& ); \& \& returns a new object which represents the member list of an \& ODF\-compliant "document.odt" file. .Ve .PP \fIgetEntry($entry)\fR .IX Subsection "getEntry($entry)" .PP .Vb 1 \& Returns the element (if any) corresponding to the given member. \& \& Example: \& \& my $element = $manifest\->getEntry("content.xml"); \& \& Returns the element describing the "content.xml" member of the \& file, if this element is defined. .Ve .PP \fI\fIgetMainType()\fI\fR .IX Subsection "getMainType()" .PP .Vb 2 \& Returns the main MIME type of the document. \& For example, this type is \& \& "application/vnd.oasis.opendocument.text" \& \& for an OpenDocument text file or \& \& "application/vnd.oasis.opendocument.presentation" \& \& for an OpenDocument presentation, or \& \& "application/vnd.sun.xml.writer" \& \& 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. .Ve .PP \fIgetType($entry)\fR .IX Subsection "getType($entry)" .PP .Vb 1 \& Returns the media (mime) type of the given member. .Ve .PP \fIremoveEntry($entry)\fR .IX Subsection "removeEntry($entry)" .PP .Vb 1 \& Deletes the named entry. .Ve .PP \fIsetEntry($entry, \f(CI$type\fI)\fR .IX Subsection "setEntry($entry, $type)" .PP .Vb 3 \& Sets the mime type of an entry element. If the element was not \& previously existing, it\*(Aqs created. \& Returns the new element in case of success, undef otherwise. \& \& Example: \& \& 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". .Ve .PP \fIsetMainEntry($type)\fR .IX Subsection "setMainEntry($type)" .PP .Vb 3 \& 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 ! .Ve .SS "Properties" .IX Subsection "Properties" .Vb 1 \& As for OpenOffice::OODoc::XPath .Ve .SS "Exported functions" .IX Subsection "Exported functions" .Vb 1 \& None .Ve .SH "NOTES" .IX Header "NOTES" See \fIOpenOffice::OODoc::Notes\fR\|(3) for the footnote citations ([n]) included in this page. .SH "AUTHOR/COPYRIGHT" .IX Header "AUTHOR/COPYRIGHT" Developer/Maintainer: Jean-Marie Gouarne .PP Contact: jmgdoc@cpan.org .PP Copyright 2004\-2008 by Genicorp, S.A. .PP Initial English version of the reference manual by Graeme A. Hunter (graeme.hunter@zen.co.uk). .PP License: \s-1GNU\s0 Lesser General Public License v2.1