This file is indexed.

/usr/share/perl5/OpenOffice/OODoc/Meta.pod is in libopenoffice-oodoc-perl 2.125-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
=head1	NAME

OpenOffice::OODoc::Meta - Access to document metadata

=head1	DESCRIPTION

The OpenOffice::OODoc::Meta class is a specialist derivative of
OpenOffice::OODoc::XPath for XML members which describe the metadata
of ODF documents.

=head2	Methods

=head3	Constructor : OpenOffice::OODoc::Meta->new(<parameters>)

        Short Form: odfMeta(<parameters>)

        See OpenOffice::OODoc::XPath->new (or odfXPath)

        Returns an OpenDocument connector allowing subsequent access to
	the metadata of a well-formed, ODF-compliant document.
	
	The XML member loaded by default is 'meta.xml'.

        Example:

            $my meta	= odfMeta(file => 'document.odt');

        returns a new object which represents the metadata of the
        ODF document "document.odt".

=head3	addKeyword(text)

        Adds the given text to the list of document keywords if not already
        found.

        Example:

            $meta->addKeyword("document management");
            $meta->addKeyword("office");
            $meta->addKeyword("tech watch");

=head3	creation_date()

        Without argument, returns the document's creation date in
        ISO-8601 format (i.e. the ODF-compliant date format).

        Example of returned value:

            2008-11-12T08:22:50

	The returned value can be converted in standard numeric time format
	with the ooTimelocal() function.

	With argument, inserts the given string (without checking) as the
        creation date. The argument, if any, must comply with the ODF
	(ISO-8601) date format. The ooLocaltime() function can be used in
	order to convert a regular Perl time() value in ODF.

	A conventional editing software should never changes this value, but
	this method allows the user to read or write it.

	See also date().

=head3	creator()

        Without argument, returns the document creator's name. The creator
	is generally the author of the last update. See also initial_creator().

        With argument, modifies the document author's name.

=head3	date()

        Without argument, returns the document's date of last modification,
        in ISO-8601 format.

        With argument, inserts the given string (without checking) as the
        last modification date. The argument, if any, must comply with the
	ODF date format (ISO-8601). The odfLocaltime() function can be used
	in order to convert a regular Perl time() value in ODF format.

	The returned value can be converted in standard numeric time format
	with the ooTimelocal() function.

=head3	description()

        Without argument, returns the contents of the document properties
        "Description" field.

        With argument, inserts the given text in the "Description" field.

=head3	editing_cycles()

        Without argument, returns the number of edit sessions (i.e. saves,
        under an ODF-compliant editing software). Or, technically, the number
	of versions.

        With argument, modifies this number without checking.
        
        See also increment_editing_cycles().

=head3	editing_duration()

        Without argument, returns the total editing time for the document,
        in ISO-8601 date/time format.

        For example, the returned string can be:

            P2DT11H27M33S

        which in this case means that the document has been edited for 2
        days, 11 hours, 27 minutes and 33 seconds.

        With argument, forces a new value into this property without
        checking.

=head3	generator()

        Without argument, returns a label representing the signature of the
        software which generated the document. Example of signature:

        "OpenOffice.org/3.1$Unix OpenOffice.org_project/310m11$Build-9399"

        With argument, inserts any signature.

=head3	getTemplate()

	Returns information about the template that is linked to the current
	document, if any.

	In scalar context, the returned information is the location (URL) of
	the template, or undef if the document isn't linked to any template.

	In array context, the returned values are, in this order, the location
	of the template document, the date and time when the template was last
	modified prior to being used to create the current document, then the
	title of the template document.

	See also unlinkTemplate().

=head3	getUserProperty(name)

	Retrieves the content of the user-defined property corresponding to the
	given name, if any.
	
	The argument may be an already retrieved user-defined property element
	reference instead of a name. 

	In scalar context, returns the value only.
	In array context, returns the data type (1st) and the value (2nd).

	Returns undef if the property is not defined.

	See also setUserProperty().

=head3  getUserPropertyElement(name)

        Like getUserProperty(), but the return value is the user property
        element instead of its value and/or type. Returns undef if the given
        property is not defined (or if the given object is not a user-defined
        property element).

=head3  getUserPropertyElements()

	Returns the list of all the existing user-defined property elements.

=head3  increment_editing_cycles()

        Adds 1 to the editing cycle count that is stored in the document, and
        returns the new count. This count should be incremented each time
        the document is edited through an ODF-compliant application.
        
        See also editing_cycles().

=head3	initial_creator()

	Like creator(), but apply to the creator of the first version of the
	document. The OOo desktop software never updates this value, but this
	method allows the user to read or write it.	

=head3	keywords()

        Without argument, returns a list of the document's keywords. In a
        list context, the result is a table where each element is a keyword.
        In a scalar context, the keywords are returned in a single character
        string, each of which is separated by a comma and a space.

        With arguments, adds a list of keywords to the existing one. The
        only checking carried out is to see if the keyword already exists,
        if so it is not added.

=head3	language()

        Without argument, returns the content of the language variable.
        Example:

            fr_FR

        With argument, changes the content of this variable without
        checking.

=head3	removeKeyword(keyword)

        Removes the given keyword if it exists.

=head3	removeUserProperty(name)

	Deletes the user-defined property corresponding to the given name (does
	nothing if the given property is not defined in the document).

=head3	removeUserProperties()

	Deletes all the existing user-defined properties and returns the number
	or really deleted elements (does nothing and returns 0 if no user
	property is defined in the document).

=head3	setUserProperty(name, type => value_type, value => text)

	Creates or updates a user-defined property with the given data type and
	the given value.
	
	According to the ODF specification, the presently allowed data types in
	a meta property are float, date, time, boolean and string.
	However, the given type is not checked so the application can provide any
	abritrary type.

	While the consistency between the type and the value is not checked, the
	ODF compliance requires 'true' or 'false' for a boolean, and the ISO-8601
	format for a date (see odfLocaltime()).

	Example:

		$meta->setUserProperty
			(
			"Approved",
			type => 'boolean', value => 'false'
			);
		$meta->setUserProperty
			(
			"Circulation",
			type => 'string', value => "Internal"
			);
		$meta->setUserProperty
			(
			"Release date",
			type => 'date', value => '2010-01-01'
			);
		$meta->setUserProperty
			(
			"Release number",
			type => 'float', value => 5.4
			);
	
        The 'type' option allows one to change the data type of an existing user-
        defined property. However, if a new property is created without 'type'
        option, the 'string' type is selected by default.

	The return value reflects the new status of the user defined item,
	in the same format as with getUserProperty().

=head3	statistic()

        Without argument, returns a hash which represents the entire
        "statistics" section of the metadata. The content depends on the
        type of document.

	Text

		'meta:table-count'	=> number of tables
		'meta:image-count'	=> number of images
		'meta:object-count'	=> number of OLE objects
		'meta:page-count'	=> number of pages
		'meta:paragraph-count'	=> number of paragraphs
		'meta:word-count'	=> number of words
		'meta:character-count'	=> number of characters

        Spreadsheet

		'meta:table-count'	=> number of sheets
		'meta:cell-count'	=> number of non-empty cells
		'meta:object-count'	=> number of objects (images, etc.)

        Example:

            my $meta	= odfMeta->new("invoice.ods");
            my %stat	= $meta->statistic;
            print 	"This invoice contains " .
            	"$stat{'meta:cell-count'} cells and "	.
            	"$stat{'meta:table-count'} pages\n";

        With arguments, you can modify (or falsify ?!) all or some of the
        statistical data and even create attributes which are not created by
        the office software. Arguments are passed in pairs [key => value] and
	handled without checking.

        Example:

            $meta->statistic
            	('meta:table-count' => '4', 'status' => 'OK');

        This example forces the number of tables to 4 (whatever the reality)
        and adds an arbitrary attribute 'status' with value 'OK'.
	
	Note : Such forced attributes do not upset the function of
        the office software which ignores them. They could therefore be useful
	in programs which handle documents out of reach of the end user.
        However, if such a document is then edited or updated by a typical
	end-user desktop application, these "foreign" attributes could be lost
	and and replaced by what this application considers to be the "real"
	values to those attributes it manages.

=head3	subject()

        Without argument, returns the document's subject.

        With argument, adds a new subject to the document.

=head3	title()

        Without argument, returns the document's title.

        With argument, adds a new title to the document.

=head3	unlinkTemplate()

	Removes the reference to a template document, if any, ensuring that
	the document no longer depends on any external template.

=head3	user_defined()

        Returns the list of the user defined fields of the document.

        The list is returned in the form of a hash elements whose keys represent
	the field names and whose values represent their content.

        By supplying a similar hash of elements as an argument, this method
	deletes and replaces the existing content. However, if the number of
	provided items is less than the numbers of existing user defined
	properties, the exceding properties are left unchanged.

	Warning: this method is deprecated. Newer methods such as
	setUserProperty(), getUserProperty(), removeUserProperties(),
	getUserPropertyElements(), and getUserPropertyElements() should be
	preferred. 

=head3	version()

	Synonym of editing_cycles().

=head2	Properties

        As for OpenOffice::OODoc::XPath

=head1	AUTHOR/COPYRIGHT

Developer/Maintainer: Jean-Marie Gouarne L<http://jean.marie.gouarne.online.fr>

Contact: jmgdoc@cpan.org

Copyright 2004-2010 by Genicorp, S.A. L<http://www.genicorp.com>

Initial English version of the reference manual by Graeme A. Hunter
(graeme.hunter@zen.co.uk).

License: GNU Lesser General Public License v2.1

=cut