OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [office] Where to store change-tracking information?

Hi Patrick

You are correct. All the parts of a SpreadsheetML package, as specified in 12.3 Part Summary, contain the following wording:

"A xxxx part shall be located within the package containing the relationships part (expressed syntactically, the TargetMode attribute of the Relationship element shall be Internal)."

"xxxx" represents the name of any of the parts specified in 12.3.

What this means is that a SpreadsheetML document (an OOXML spreadsheet) is only conformant if, for any of the parts specified in 12.3, the part is in the same package as the relationship and therefore in the same package as the reference (wherever that happens to be, i.e. in another part in the same package).

I think you'll find that this is true for WordprocessingML documents, PresentationML documents and the other share MLs (e.g. DrawingML). OOXML only defines documents that are entirely represented by a single package. External links to other resources are of course possible, but external resources are not considered to be part of the same document.

Packages in OOXML are defined in the abstract by OOXML Part 2 Open Packaging Conventions (OPC). The text of this part of OOXML is currently being extensively revised, with a new edition expected to be published in 2021, but the changes are essentially all editorial, the purpose being one of clarification. This is what the current draft of Part 2 has to say about abstract packages:

"The purpose of an abstract package is to aggregate constituent components of a document (or other type of content) into a single object. For example, an abstract package holding a document with a picture can contain an XML markup part representing the text of the document and another part representing the picture."

Change-tracking data is as much part of a document as a picture.

Physical packages can take forms other than ZIP packages. For example, a physical document may be represented by a stream other than a zipped (or unzipped) package. However, the concept of the package being "a single object" still applies.

So far as I can see, the only way to represent an OOXML document that depends upon external revision/change-tracking data is to use OOXML's extensibility features, which are described in Part 3 Markup Compatibility and Extensibility (MCE). An OOXML application would be required to carry out MCE processing before interpreting the package as a document, which would provide an opportunity to process external data before resolving the result as a single packaged object.

Kind regards,


-----Original Message-----
From: office@lists.oasis-open.org <office@lists.oasis-open.org> On Behalf Of Patrick Durusau
Sent: 05 September 2020 21:03
To: ODF TC List <office@lists.oasis-open.org>
Subject: [office] Where to store change-tracking information?


Idling away the weekend looking more closely at the capabilities of ISO
29500 for change tracking. ;-) Each to his own.

At least for spreadsheets (I haven't gotten to documents yet), I found the following:


12.3.17 Shared Workbook Revision Log Part


A Shared Workbook Revision Log part shall be located within the package containing the relationships part (expressed syntactically, the TargetMode attribute of the Relationship element shall be Internal).


I understand that to mean that revision logs are held *internal* to the package. To host them elsewhere, would be a non-conforming document. Yes?

Anyone with a contrary reading?

I mention that because if we are in a networked environment (I've heard rumors we are), then revisions/changes could be hosted at some remote location. Perhaps either for backup, collaboration, or auditing purposes.

Imagine that a regulatory agency has distributed its spreadsheet for reporting data and it wants to host the revision/change tracking. If you are being honest in your record keeping, what would you valid objection be? ;-)

Anyway, it occurred to me while reviewing OOXML that revision/change tracking for ODF needs to support both internal and *external* hosting of revision/change tracking data.

If change tracking data approaches the smaller end of cell phone type messages, I am wondering what legitimate objections there could be to
*external* storage? Thoughts?

Hope everyone is having a great weekend!


PS: When I finish this study document I will be posting it but purely as a personal work product. I am proofing it against ISO 29500 but you *should only use it* as capturing where you should look for the real details.

Patrick Durusau
Technical Advisory Board, OASIS (TAB)
Editor, OpenDocument Format TC (OASIS), Project Editor ISO/IEC 26300 Co-Editor, ISO/IEC 13250-1, 13250-5 (Topic Maps)

Another Word For It (blog): http://tm.durusau.net
Homepage: http://www.durusau.net
Twitter: patrickDurusau 

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]