xsl-list
[Top] [All Lists]

Re: XSLT for Extensibility

2005-02-03 13:25:40
Sorry for not being able to read my mail for the last 3-4 days.


On Wed, 2 Feb 2005 12:54:54 -0500, Alan Gutierrez
<alan-xsl-list(_at_)engrm(_dot_)com> wrote:
* Dimitre Novatchev <dnovatchev(_at_)gmail(_dot_)com> [2005-01-29 15:32]:
   How do you allow the user to plug in new tasks?

   This is a general problem I'm having, how do you create hooks,
   callbacks, er, how do you create an XSLT framework?


Read about FXSL. It is a system to build and use higher-order
functions in pure XSLT.

   [snip]

   --

   I asked elsewhere, and pipelines were suggested

This is naturally done in FXSL by functional composition. As result
otherwise difficlut problems can be solved in a one-liner XPath
expression.

Read more about FXSL at:

               http://fxsl.sf.net

   For one project I'm opting to use pipelines of sorts. I'll
   generate intermediate files, and transform them further.

   Using this method, I can see how one would create a two step
   process, or three step process, but not how one would create a
   properly recursive process.

Probably I do not understand well the question. Pipelines are not an
appropriate architecture for describing a recursive process -- they
describe best a sequential process consisting of a sequence of steps.

Certainly, a step can initiate one of the steps that lead to this step
-- this is a simple (indirect) recursive call.



   Where I'm using Saxon 8.X, I'll start using FXSL.

   I can see how callbacks, and curried functions could be used to
   define an API, but I'm sure there is a lot to learn in practice.

     Absolutely.


   Where can I see examples of an API specified in FXSL? Or is it
   so young that I sould study Haskell for best practice?

      I am not aware of such examples.  The functions of the Prelude
do form a very solid base that can be regarded as an API. Based on
these, any DSL APIs can be built.


   Also, I see no lists for FXSL. Is this the correct forum in
   which to field new user questions?

      We have a Developers Forum for Colin and me.

       There are also the following forums:

           FXSL Help
      
           Help

           Open Discussion
   

We can create a mailing list, too -- actually the difference between
forums and mailing lists on sourceforge was not clear to me, now 
thanks to Colin I see they are different things.


We are open to any recommendations. When recently Colin joined the
project we discussed some structuring of the contents of FXSL. The
result is that now there is a CVS and the directory structure (of the
next FXSL version which is still in the CVS only) is not so flat,
which helps find the functions in one directory, the test examples in
another and the source xml files in a third one.

Everything has been tested and confirm to produce the expected
results. A lot of new stuff has been added, most significantly the
FXSL wrappers for the standard XPath 2.0 functions and Operators and
this is still going on.

One significant application of FXSL was using it to test the Gestalt
XSLT 2.0 processor. I think that Colin found it useful.

All of this being done in one's free time...


Cheers,
Dimitre.



   Thanks for recommending this. I'm looking forward to finally
   learning functional programming.

--
Alan Gutierrez - alan(_at_)engrm(_dot_)com


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>