ddn.odf.metadata

Document metadata (title, author, creation date, etc.).

Parses and serialises the meta.xml stream inside an ODF package. Supports Dublin Core and OpenDocument metadata elements, document statistics, user-defined metadata, and preservation of unknown metadata elements.

Types 1

Holds parsed ODF document metadata.

Dublin Core fields (title, creator, subject, description, language), OpenDocument meta elements (generator, creationDate, date, editingCycles, editingDuration), document statistics, and user-defined key-value pairs. Document metadata parsed from meta.xml.

Dublin Core fields are stored as strings. Document statistics from meta:document-statistic are stored as unsigned integers. Custom meta:user-defined entries are available via the userDefined map.

Fields
string titleDocument title (`dc:title`).
string creatorDocument creator / author (`dc:creator`).
string subjectDocument subject (`dc:subject`).
string descriptionDocument description (`dc:description`).
string keywordsComma-separated keywords (`meta:keyword`).
string generatorGenerator application string (`meta:generator`).
string languageDocument language (`dc:language`).
string creationDateCreation timestamp (`meta:creation-date`).
string dateLast modification timestamp (`dc:date`).
string editingCyclesNumber of edit sessions (`meta:editing-cycles`).
string editingDurationTotal editing duration (`meta:editing-duration`).
uint pageCountNumber of pages (`meta:page-count`).
uint tableCountNumber of tables (`meta:table-count`).
uint drawCountNumber of drawings (`meta:draw-count`).
uint imageCountNumber of images (`meta:image-count`).
uint objectCountNumber of embedded objects (`meta:object-count`).
uint oleObjectCountNumber of OLE objects (`meta:ole-object-count`).
uint paragraphCountNumber of paragraphs (`meta:paragraph-count`).
uint wordCountNumber of words (`meta:word-count`).
uint characterCountNumber of characters (`meta:character-count`).
uint nonWhitespaceCharacterCountNumber of non-whitespace characters (`meta:non-whitespace-character-count`).
string[string] userDefinedUser-defined metadata entries keyed by name.

Functions 8

fnOdfMetadata parseMetadata(const(ubyte)[] xmlBytes)Parses metadata from raw `meta.xml` bytes.
fnOdfMetadata parseMetadataString(string xml)Parses metadata from an XML string.
fnstring serializeMetadata(const ref OdfMetadata meta)Serializes metadata to an XML string suitable for `meta.xml`.
fnOdfMetadata defaultMetadata() @safe pure nothrow @nogcReturns a default `OdfMetadata` with empty fields.
fnuint parseUint(string s) @safe pure nothrow
fnstring toDec(uint v) @safe pure
fnbool hasStatistics(const ref OdfMetadata meta) @safe pure nothrow