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-3844) Semantics to function IF part 2, section 6.15.4, does not cover all syntax variants and is ambiguous in at least one case


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

Robert Weir  commented on OFFICE-3844:
--------------------------------------

Reviewed and discussed on TC call of 2013-09-16.   TC members are invited to review and ask questions.  We will consider the proposal for approval at a future TC call.

> Semantics to function IF part 2, section 6.15.4, does not cover all syntax variants and is ambiguous in at least one case 
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OFFICE-3844
>                 URL: http://tools.oasis-open.org/issues/browse/OFFICE-3844
>             Project: OASIS Open Document Format for Office Applications (OpenDocument) TC
>          Issue Type: Bug
>          Components: OpenFormula
>    Affects Versions: ODF 1.2
>            Reporter: Regina Henschel
>             Fix For: ODF 1.3
>
>
> When I resolve the optional parts [], I get seven valid syntax variants, here without data type.
> A:  IF(Condition)
> B:  IF(Condition;)
> C:  IF(Condition;IfTrue)
> D:  IF(Condition;;)
> E:  IF(Condition;;IfFalse)
> F:  IF(Condition;IfTrue;)
> G:  IF(Condition;IfTrue;IfFalse)
> Some of them have missing parts. I should be able to determine the correct resulting value from the "Semantics"-part. But that is not possible for all variants.
> (use non-proportional font to get the table nice formatted)
> Condition     |Condition      |Text in part Semantics
> evaluates     |evaluates      |and the fitting syntax variants
> to TRUE       |to FALSE       |
> --------------+---------------+--------------------------------
> result TRUE() |               | "If there is only 1 parameter, IfTrue is
>               |               | considered to be TRUE()" fits to A
> --------------+---------------+----------------------------------
>               | result FALSE()| "If there are less than 3 parameters, IfFalse
>               |               | is considered to be FALSE()" fits to A,B,C
> --------------+---------------+-----------------------------------
>               | result 0      | "If there are 2 or 3 parameters but the second
>               |               | parameter is null (two consecutive ;;
>               |               | semicolons), IfFalse is considered to be 0."
>               |               | fits to B,D,E, perhaps C fits too.
> --------------+---------------+-----------------------------------
>               | result 0      | "If there are 3 parameters but the third
>               |               | parameter is null, IfFalse is considered to
>               |               | be 0." fits to D,F
> Problems:
> (1) Variants B and C are ambiguous, see row 2 and row 3
> (2) Why is a rule for IfFalse given, when the second parameter is missing, see row 3?
> (3) If the third parameter is not null but IfFalse, then IfFalse should be returned, if Condition is FALSE, but semantics say 0 in row 3.
> (4) For Condition TRUE in variants B, D and E no value for the missing second parameter is given. Perhaps the text "If there are 2 or 3 parameters but the second parameter is null (two consecutive ;;semicolons), *IfTrue* is considered to be 0." was intended?
> (5) It is not clear, whether C fits to row 3.
> Remarks.
> In variant B and C with condition FALSE, Gnumeric and Excel return FALSE
> In variant B,D, and E with condition TRUE, Gnumeric and Excel return 0 for the missing second parameter.
> In variant E with condition FALSE, Gnumeric and Excel return IfFalse and not 0.
> LibreOffice and AOO does not handle variants with ;; or ;)

-- 
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]