Subject: Re: mapping (Was: Re: [xsl] Re: . in for) From: Joerg Pietschmann <joerg.pietschmann@xxxxxx> Date: Thu, 10 Jan 2002 10:37:44 +0100 |
Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> wrote: > Function names are indistinguishable from element names, [...] Well, i realized it somewhat too late as you have seen in my follow-up... > You could do: > map('xf:lower-case', $departments) > but of course this will only work with functions (rather than any > expression), and only with functions whose sole argument was an item. I was thinking about the equivalent of C function pointers. It may be inconvenient to wrap simple expressions in functions for the sole purpose of applying them to a map, but it seems to work for a reasonable large audience (see below for caveat). However: > ... rather than any expression ... This means you want lambda expressions. > - define a map expression (rather than a map() function) Note that in you proposal of a mapping operator $coordinates -> (. * 2) the second operand actually *is* already a lambda expression. Hint: the . is not bound to the value of the context node as it would have been in ordinary expressions. We can argue about inventing an XPath function xf:lambda() for this purpose, with all the consequences. I'd probably like it to have one, but i let it to Dmitre to make up the full proposal... :-) Well, the C++ STL got around not having lambdas using the template expressions technique. Is there anyone who could to an analysis whether - C++ template expressions are equivalent to lambdas and - there is a way to do something similar in XSLT? > But as Dimitre's explained, if we just had functions as objects in the > data model we wouldn't be banging our heads against this - we could > have a map function no problems at all. I some sense, we already have, just somewhat restricted, in form of "for" and similar operators. With full lambdas, we could get rid of them. IMHO this is a laudable goal. Regards J.Pietschmann XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: mapping (Was: Re: [xsl] Re: . i, DPawson | Thread | Re: mapping (Was: Re: [xsl] Re: . i, David Carlisle |
Re: [xsl] use cases for d-o-e, David Carlisle | Date | Re: [xsl] use cases for d-o-e, Joerg Pietschmann |
Month |