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: [OASIS Issue Tracker] Commented: (OFFICE-2751) Needs-Discussion:5.8: Need syntax for external references to unsaved documents

    [ http://tools.oasis-open.org/issues/browse/OFFICE-2751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19493#action_19493 ] 

Dennis Hamilton commented on OFFICE-2751:

This appears to be a situation where the persisted document has references to a source that has not been persisted and its source location and name is not known yet.  This occurs because more than one document can be opened at once and they can have references to each other's sheets.

In the current OpenFormula Reference syntax, the question is, what is in the Source field for such cross-references?

What is currently supported is a reference of the form ['<IRI>'#...] where <IRI> is anyURI with IRI encoding as needed.  The current paragraph says too much about the handling of the <IRI> in source, including folklore about ./ which is relevant to shell scripts and has nothing to do with IRI handling.  Also, the definition of what is relative and what is not should be ignored, consulting the relevant RFCs instead.

Technically, a relative URI could be used that holds a tentative relative reference to the as-yet-unsaved document on the presumption that it will be saved in the same file-system folder location as the current document.  URI encoding should be done, although a form like

   ['Book 1'#...]

should work (in the XML attribute, it appears as [&#039;Book 1&#039;# ... ] of course).
should work (these are the tend-to-be made-up names of new books/documents, although it is more than likely that it would be something like

  ['OtherDocument.ods'# ... ] assuming that OtherDocument.ods is from the same relative location that the just-saved document is.

We are faced with a situation not unlike moniker resolution, where on opening of the current document and submission of the formula to the evaluator, the reference resolver should consult the user if it can't find the document "OtherDocument.ods" in the context of the current document being consumed.


The reference resolver, in an ODF implementation, has to deal with the fact that relative URIs are relative to the XML file from which the reference is being made.  That is, ['OtherDocument.ods'# ...] would not be used.  Assuming, by default, that this reference is in content.xml of ThisDocument.ods, the URI that is created would likely be ['../OtherDocument.ods'# ... ] on the assumption that the resolver should look in the file-system directory location that ThisDocument.ods was retrieved from.  This is also consistent with moniker-like resolution behavior.  (In order to allow one document to be embedded as a subdocument in the package of another, the non-../ form needs to be retained for cross-references within the package.)

Note that it is not necessary for the OpenFormula to say anything about this.  The notation provides a carrier for the IRI and how that is handled is part of the host-defined behavior.  It is possible for that behavior to comprehend relative IRIs to provisional locations of documents (and otherwise unresolved targets) and attempt alternative resolution when the named document is not locatable in the expected place.


It is up to the ReferenceResolver to interpret all of this, however it is handled.  This leads to an interesting problem about what do users enter and how is it converted to a proper Reference so that the Resolver for the same spreadsheet implementation hosting (e.g., ODF or an interoperable ODF implementaton) will get it right.  Also, there is the interesting problem about what users are shown in the formula is versus what is recorded in the persisted document, and how that is squared with users directly manipulating the source portion of the spreadsheet reference in the format they see.

> Needs-Discussion: 5.8: Need syntax for external references to unsaved documents
> -------------------------------------------------------------------------------
>                 Key: OFFICE-2751
>                 URL: http://tools.oasis-open.org/issues/browse/OFFICE-2751
>             Project: OASIS Open Document Format for Office Applications (OpenDocument) TC
>          Issue Type: Bug
>          Components: OpenFormula
>    Affects Versions: ODF 1.2 CD 05
>            Reporter: Eric Patterson
> Excel has the ability to create references to unsaved documents or unvalidated references.  OpenFormula does not appear to specify a syntax for this type of reference.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


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