XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Formulas in XML values

A simple XSLT implementation is to use the LR-parsing framework of
FXSL (func-LRparse.xsl) and produce a function, which acts as a simple
arithmetic interpreter.

In fact, this has already been done and used as the first and simplest
application of this framework:

    http://fxsl.cvs.sourceforge.net/viewvc/fxsl/fxsl-xslt2/Tests/TestFunc-lrParse.xsl?revision=1.3&view=markup

and this interpreter, including the lexer and the regex token
definitions is just 220 lines of code.


-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play




On Thu, Jun 25, 2009 at 10:35 AM, COUTHURES
Alain<alain.couthures@agencexml.com> wrote:
> Formulas in XML values are a persistent concern for me for some days and
> xml-dev appears to be the best place to discuss this...
>
> From mathematical point of view, 35+7 and 42 are equals but human beings can
> interpret them differently. When a value has to be put in a field by an
> user, sometimes it's, in fact, the result of a basic computation and, when
> someone else has to verify the field value, the initial formula might help
> to understand. Excel users do that every day !
>
> XML is a text notation so it's not disturbing to write 35+7 where 42 can be.
> But, schema languages should evaluate values before testing if they are
> valid or not. XPath should, at least, do the same or, better, be able to say
> that 15+6 multiplied by 2 is (15+6)*2. Students calculators can do that
> already, don't they ?
>
> There are interesting possibilities with such a notation improvement :
> numbers such as 1/3, pi, sqrt(2) would be written as what they are and not
> just in a limited amount of digits. Of course, a bunch of mathematical
> functions and constants should be named...
>
> I will probably implement some basic approach for this in my XForms
> implementation (XSLTForms : http://www.agencexml.com/xsltforms) because I
> already need it for setting values in XBRL documents.
>
> XSLTForms has its own XPath implementation and XML Schema validation, both
> written in Javascript, and some eval() calls at the right place might be all
> what is needed. Formulas will then be submitted and stored as ordinary
> values would be. If needed, I will design an XSLT stylesheet to resolve
> formulas into values (XSLTForms already has an XPath 1.0 expression parser
> written in XSLT 1.0 ...).
>
> Thank you for your remarks and suggestions.
>
> Best regards,
>
> Alain Couthures
> <agenceXML>
> http://www.agencexml.com
> Bordeaux, France
> Twitter account: AlainCouthures
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
>


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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS