OASIS Open Document Format for Office Applications (OpenDocument) TC

  • 1.  Office-1812

    Posted 09-28-2009 14:26
    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)
    
    


  • 2.  RE: [office] Office-1812

    Posted 09-28-2009 15:40
    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
    
    
    
    


  • 3.  Re: [office] Office-1812

    Posted 09-29-2009 15:24
    Hi Dennis,
    
    On Monday, 2009-09-28 08:39:39 -0700, Dennis E. Hamilton wrote:
    
    > I liked Rob's simple proposal better.
    
    That was intended for the ODF 1.0 errata.
    
    > For ODF 1.2, it is weird to talk about the formula without an "="
    
    I don't think so.
    
    > especially
    > since it leaves an ambiguity when the namespace prefix is made optional.
    
    No, it doesn't. If the prefix isn't present it defaults to OpenFormula,
    there is no need for an '=' equal sign. Note that the namespace does not
    prefix the formula part of the expression, but the entire attribute's
    value. If it prefixed the formula itself, there would be confusion for
    conditions like cell-content-is-between(xx:Value1,xx:Value2) if the 'xx'
    namespace used a comma operator.
    
    > 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.
    
    I don't see where we leave anything else implementation-dependent or why
    we should do so. The formula producing the boolean result may be any
    formula expression as long as it produces a boolean result. To me it is
    absolutely logical and consequent to default to OpenFormula as formula
    definition for any formula expression part in ODF 1.2
    
    > SPECULATION: Perhaps the requirement should be that if there is no namespace
    > prefix, there must be a leading "=" to avoid confusion.
    
    Again, I don't see any possible confusion without the '='.
    
    > Also, I think we
    > should be kind to down-level implementations, if any, for which they could
    > not possibly have meant that default namespace.
    
    What are you talking about? The default formula standard for ODF 1.2
    should be OpenFormula. An implementation using different
    syntax/semantics should write a namespace prefix. It couldn't be easier
    for down-level implementations.
    
    > SIDE COMMENT: At least one very-well-known spreadsheet implementation does
    > not put "=" prefixes on the stored form of formulas.
    
    So ...?
    
    > 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.
    
    As also mentioned in today's subcommittee's call:
    
    An additional '=' to force recalculation indeed doesn't make sense in
    *:condition attributes.
    
    I further see some contradiction between the definition in OpenFormula
    5.2 Basic Expressions that says
    
    Formula ::= '=' ForceRecalc? Expression
    
    and thus mandates a leading '=' equal sign, and some places in ODF 1.2
    part-1 that make the '=' optional or explicitly state that no '=' equal
    sign is present. IMHO, the presence of '=' and ForceRecalc should be
    defined at the document level of part-1 instead of in OpenFormula.
    
      Eike
    
    -- 
     OpenOffice.org / StarOffice Calc core developer and i18n transpositionizer.
     SunSign   0x87F8D412 : 2F58 5236 DB02 F335 8304  7D6C 65C9 F9B5 87F8 D412
     OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
    


  • 4.  Re: [office] Office-1812

    Posted 09-29-2009 15:31
    On Tue, 2009-09-29 at 17:16 +0200, Eike Rathke wrote:
    
    > > For ODF 1.2, it is weird to talk about the formula without an "="
    > 
    > I don't think so.
    > 
    > > especially
    > > since it leaves an ambiguity when the namespace prefix is made optional.
    > 
    > No, it doesn't. If the prefix isn't present it defaults to OpenFormula,
    > there is no need for an '=' equal sign. Note that the namespace does not
    > prefix the formula part of the expression, but the entire attribute's
    > value. If it prefixed the formula itself, there would be confusion for
    > conditions like cell-content-is-between(xx:Value1,xx:Value2) if the 'xx'
    > namespace used a comma operator.
    
    No. You can't have the prefix preceding cell-content-is-between since
    cell-content-is-between may have a different meaning in that formula
    language. 
     
    Andreas
    -- 
    Andreas J. Guelzow 


  • 5.  Re: [office] Office-1812

    Posted 09-29-2009 16:04
    Hi Andreas,
    
    On Tuesday, 2009-09-29 09:30:35 -0600, Andreas J. Guelzow wrote:
    
    > > > especially
    > > > since it leaves an ambiguity when the namespace prefix is made optional.
    > > 
    > > No, it doesn't. If the prefix isn't present it defaults to OpenFormula,
    > > there is no need for an '=' equal sign. Note that the namespace does not
    > > prefix the formula part of the expression, but the entire attribute's
    > > value. If it prefixed the formula itself, there would be confusion for
    > > conditions like cell-content-is-between(xx:Value1,xx:Value2) if the 'xx'
    > > namespace used a comma operator.
    > 
    > No. You can't have the prefix preceding cell-content-is-between since
    > cell-content-is-between may have a different meaning in that formula
    > language. 
    
    We can define that syntax and semantics of the namespace apply only to
    the operands of cell-content-is-between() and such.
    
    cell-content-is-between(xx:Value1,xx:Value2) for the reason of the comma
    operator isn't practical. Some might also come up with funny constructs
    like cell-content-is-between(xx:Value1,yy:Value2) so we would have to
    inhibit that.
    
      Eike
    
    -- 
     OpenOffice.org / StarOffice Calc core developer and i18n transpositionizer.
     SunSign   0x87F8D412 : 2F58 5236 DB02 F335 8304  7D6C 65C9 F9B5 87F8 D412
     OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
    


  • 6.  Re: [office] Office-1812

    Posted 09-29-2009 15:52
    Eike Rathke