Store slide sections in ODP files using a new loext: extension
element, written only in ODFSVER_EXTENDED mode:
<loext:section-list>
<loext:section loext:name="Section Name"
loext:identifier="{GUID}">
<loext:section-slide loext:name="Slide1"/>
</loext:section>
</loext:section-list>
Export (sdxmlexp.cxx):
Add exportSections() method that reads OOXSectionList from
InteropGrabBag and writes the loext elements. Section names,
GUIDs, and slide page names are written directly since the
grab bag already stores names.
Import (ximpbody.cxx):
Add SdXMLSectionListContext and SdXMLSectionContext classes
that parse the loext:section-list structure and store sections
back into InteropGrabBag with slide names and optional GUIDs.
Hook into SdXMLBodyContext::createFastChildContext.
This enables full PPTX -> ODP -> PPTX round-trip preservation
of slide sections including their GUIDs.
Change-Id: Ic1c040d06c8c890699b7dfa4974694a2ea204f90
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/713
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit b0c9f8bd70a96b2e3d432993260920d3739a2eda)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205050
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins