I liked Rob's simple proposal better.
For ODF 1.2, it is weird to talk about the formula without an "=" especially
since it leaves an ambiguity when the namespace prefix is made optional. I
also don't understand why there is all of that syntax for the OpenFormula as
default, since all we require is that the formula produce a
Boolean-compatible result (that is, anything that would be accepted in the
first parameter of the IF function), leaving anything else implementation
dependent/defined.
SPECULATION: Perhaps the requirement should be that if there is no namespace
prefix, there must be a leading "=" to avoid confusion. Also, I think we
should be kind to down-level implementations, if any, for which they could
not possibly have meant that default namespace.
SIDE COMMENT: At least one very-well-known spreadsheet implementation does
not put "=" prefixes on the stored form of formulas. The "=" is a UI entry
gesture to make it known that a formula is being entered. In the document
format, it is very specific when a formula is present, and that is not done
in the text of the formula itself. This is true for ODF and OpenFormula
table cell content too.
This is something for the OpenFormula team to look at. However, the use
of a leading "=" to assert the absence of a namespace prefix is useful.
There is an ambiguity around the use of an additional "=" to indicate a
recalculation requirement, however. This is probably something that should
be raised on the OpenFormula calls.
- Dennis
Original Message-----
From: Patrick Durusau [mailto:patrick@durusau.net]
Sent: Monday, September 28, 2009 07:27
To: ODF office
Subject: [office] Office-1812
Rob,
You had a suggestion for:
http://tools.oasis-open.org/issues/browse/OFFICE-1812
The current text reads:
> The |table:condition| attribute specifies the condition that
> determines whether a cell content is valid in regard to a validation
> rule or not. A cell content is valid if the condition evaluates to
> “true”. The value of this attribute should be a namespace prefix,
> followed by a Boolean expression. If the namespace prefix is missing
> it defaults to the "urn:oasis:names:tc:opendocument:xmlns:of:1.2"
> namespace.
>
> The defined conditions are:
>
> *
>
> |Condition ::= ExtendedTrueCondition | TrueFunction 'and'
> TrueCondition|
>
> *
>
> |ExtendedGetFunction ::=
> cell-content-text-length-is-between(Value, Value) |
> cell-content-text-length-is-not-between(Value, Value) |
> cell-content-is-in-list( StringList )|
>
> *
>
> |ExtendedTrueCondition ::= ExtendedGetFunction |
> cell-content-text-length() Operator Value|
>
> *
>
> |A Formula|| is a formula without an equals (=) sign at the
> beginning.|
>
> *
>
> |GetFunction ::= cell-content-is-between(Value, Value) |
> cell-content-is-not-between(Value, Value)|
>
> *
>
> |A NumberValue is a whole or decimal number. It shall not
> contain comma separators for numbers of 1000 or greater.|
>
> *
>
> |Operator ::= '<' | '>' | '<=' | '>=' | '=' | '!='|
>
> *
>
> |A String|| comprises one or more characters surrounded by
> quotation marks.|
>
> *
>
> |StringList ::= StringList ';' String | String|
>
> *
>
> |TrueCondition ::= GetFunction | cell-content() Operator Value|
>
> *
>
> |TrueFunction ::= cell-content-is-whole-number() |
> cell-content-is-decimal-number() | cell-content-is-date() |
> cell-content-is-time() | cell-content-is-text()|
>
> *
>
> |Value ::= NumberValue | String | Formula|
>
If you have time can you look at your comment and see if this satisfies
you comment and that of Makoto?
Thanks!
Hope you are at the start of a great week!
Patrick
--
Patrick Durusau
patrick@durusau.net
Chair, V1 - US TAG to JTC 1/SC 34
Convener, JTC 1/SC 34/WG 3 (Topic Maps)
Editor, OpenDocument Format TC (OASIS), Project Editor ISO/IEC 26300
Co-Editor, ISO/IEC 13250-1, 13250-5 (Topic Maps)
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail. Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php