Hi I've started looking at how to add ODF 1.3 support to OpenOffice.
If you scroll to the end of the monstrously long part 3 of the ODF 1.3 specification at https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part3-schema/OpenDocument-v1.3-os-part3-schema.html where you'll see "Appendix G: Changes From ODF 1.2 (Non Normative)". Then examine: "Document Fields – General 7.3.1 Office-3783" and you follow that link to "Office-3783" and have a read, you'll see that all it does is *fix a typo*: Section 7.3.1 used to contain "OpenDocument fields display information about the current document or about a specific part of the current document.," - note the superfluous comma at the end - and now ends without that comma! So that item can immediately be ticked off as completed, because there is nothing we have to do. The same is also true for at least: "table:table-background 19.733 Office-3954" And: "Normative References 1.3 Office-3868" updates the <manifest:media-type> tag to refer to RFC6838 instead of the older RFC4288, which also might require no work to implement. So what we need is a table in our Wiki, with all "Changes From ODF 1.2" items from all the 1.3 documents (there's several), and then to read over them and mark off the ones that are irrelevant or complete, and track progress on the other items where we do have some development to do on our side. Can someone please create such a Wiki page, or give me access to do so? And out of interest, how do you find how and where we use an XML element or attribute? For example let's examine: <draw:applet> 10.4.7 Office-2044 which is deprecated by ODF 1.3. First remember our XML parsing doesn't work on strings, that would be too slow. Rather strings are converted to unique integers, and then we do fast integer comparisons. So if you go to main/xmloff and "grep applet * -R" you'll see: source/core/xmltoken.cxx: TOKEN( "applet", XML_APPLET ), where XML_APPLET is an integer constant (from an enum) that the "applet" element will be converted to. Then go to OpenGrok and do a "Full Search" for "XML_APPLET", and you can see where that's used. I've also created a local odf-1.3 Git branch for any development, but at present it only has 1 small patch to stop the version upgrade warning: ---snip--- diff --git a/main/sfx2/source/doc/objstor.cxx b/main/sfx2/source/doc/objstor.cxx index d794747b60..89ab8e1ca3 100644 --- a/main/sfx2/source/doc/objstor.cxx +++ b/main/sfx2/source/doc/objstor.cxx @@ -856,8 +856,8 @@ sal_Bool SfxObjectShell::DoLoad( SfxMedium *pMed ) if ( sVersion.getLength() ) { double nVersion = sVersion.toDouble(); - if ( nVersion > 1.20001 && SfxObjectShell_Impl::NeedsOfficeUpdateDialog() ) - // ODF version greater than 1.2 - added some decimal places to be safe against floating point conversion errors (hack) + if ( nVersion > 1.30001 && SfxObjectShell_Impl::NeedsOfficeUpdateDialog() ) + // ODF version greater than 1.3 - added some decimal places to be safe against floating point conversion errors (hack) { ::rtl::OUString sDocumentURL( pMedium->GetOrigURL() ); ::rtl::OUString aSystemFileURL; ---snip--- If others want to help, I'd rather push that branch upstream soon, so we can work on it together? Regards Damjan