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-497) Public Comment: VeryWeak String Support in ODF



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

David Wheeler  commented on OFFICE-497:
---------------------------------------

The original comment by Leonard Mada was as follows:
=======================================================
The current Formula Specification and OOo implementation thereof have a 
very weak support for strings. Even fundamental string functions are 
lacking This makes the use of ODF a poor choice for many research 
fields, where a lot of the data is in text format.

I especially miss the following functions:
1.) an extension to FIND() and SEARCH() that returns '0' IF string is 
NOT found, instead of the '#NA!" (greatly eases work with complex searches)
2.) count number of occurrences of a substring  within a string, e.g.
       COUNTSUBSTR("I11.0; E11.5;  I25.5", "I") = 2
3.) SPLIT string into substrings => perform operations on the substrings
       SPLIT("I11.0; E11.5;  I25.5", ";", IGNORE = " \n\t", SORT = TRUE)
       returns an array("E11.5", "I11.0", "I25.5")
       SPLIT("I11.0; E11.5;  I25.5", ";", IGNORE = " \n\t", SORT = TRUE, 
pos = 1)
       returns "E11.5"
       SPLIT("I11.0; E11.5;  I25.5", ";", IGNORE = " \n\t", 
RETURN_NUMBER = TRUE)
       returns (int) "3"
...
=======================================================

We have resolved item #1, though in a different way.
Part #1 proposes "an extension to FIND() and SEARCH() that returns '0' IF string is 
NOT found, instead of the '#NA!" (greatly eases work with complex searches)".
This illustrates a general complication when handling errors.
Instead of creating many new functions, we defined a single new function:
IFERROR( Any X ; Any Alternative )
This Computes X. If ISERROR(X) is true, return Alternative, else return X.
We also defined a similar IFNA(X; Alternative).
This resolves the problem in a general way, without requiring new functions for everything
that might also return an error.

Unfortunately, spreadsheets have historically not emphasized string/text processing, so there's little experience to standardize.
We will probably want to postpone these to future specifications, once that experience exists.



> Public Comment: Very Weak String Support in ODF
> -----------------------------------------------
>
>                 Key: OFFICE-497
>                 URL: http://tools.oasis-open.org/issues/browse/OFFICE-497
>             Project: OASIS Open Document Format for Office Applications (OpenDocument) TC
>          Issue Type: New Feature
>          Components: OpenFormula
>    Affects Versions: ODF-Next
>            Reporter: Robert Weir 
>            Priority: Minor
>             Fix For: ODF-Next
>
>
> Copied from office-comment list
> Original author: Leonard Mada <discoleo@gmx.net> 
> Original date: 7 Jun 2007 20:35:34 -0000
> Original URL: http://lists.oasis-open.org/archives/office-comment/200706/msg00003.html

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