Skip to content

ODPresentation : a round trip keeps the kind of a field and loses which one it is #986

Description

@dkulyk

#959 let a field sit inside a sentence and
covered both formats. What it did not close is the variant: OOXML numbers fourteen dated formats
and five file formats, OpenDocument names the field by what it is, and the ODPresentation pair
writes nothing to carry the difference.

Measured on master, one field per deck, written and read back in each format:

type ODP PowerPoint2007
slidenum, slidecount, datetime, author back as itself back as itself
datetime3 datetime back as itself
datetime11 datetime10 back as itself
file2 file back as itself

Four of seven survive the ODP round trip; seven of seven survive the PowerPoint2007 one.

Both losses have a place in the format to live

  • The fourteen dated formats belong in a number:date-style that text:date / text:time point at
    with style:data-style-name. Writer/ODPresentation/Content.php writes no data style at all, and
    Reader/ODPresentation::FIELD_OOXML says as much in a comment -- text:time maps to the flat
    datetime10 because which of the timed formats it is travels as a data style the Reader does not
    read.
  • file, file1..file4 are the four values of text:display on text:file-name -- full path,
    path, name, name and extension.

Cost. A deck that goes PPTX -> ODP -> PPTX comes back with its dates reformatted. Nothing
crashes and no field is lost, so this is a fidelity gap rather than a defect, which is why it is
filed on its own rather than as a reopening of #959.

Work. The date half wants a number:date-style per distinct format in
office:automatic-styles, which is the shape the style pool of
#936 already handles -- it is on master,
so neither half is blocked. The text:display half stands on its own.

PR to follow.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions