Basically, it is a personal experiment started from a "crazy idea" of mine I had on a January 1st, 2001 lonely night: to evaluate the reliability of ECMAScript-in-the-browser on a non-trivial example, "just for fun" at that time... Now, as time goes, this aims more and more to provide the most complete reference implementation of an ECMAScript-coded pair of little tools, as is possible and practical (see question 2), for XML processing at browser-rendering-time.
Since I originally started work on ESPX merely out of intellectual curiosity, while not being very well accustomed to ECMAScript programming issues in general, I find the current results interesting, especially for I did not devote any effort to optimization; I have rather concentrated on writing code as straightforward and portable as I could. More specifically, ESPX now intends to be fully conformant and correct towards non-validated, well-formed XML with namespaces.
Standard XML validation (through a DTD) being totally left out from the expected use cases for ESPX, this tool is therefore more precisely described, in its current state, as [yet] a[nother] parser for an extended subset of XML. Here, that subset effectively consists only of well-formed, XML 1.0 standalone document entities, optionally using the XML namespaces extension syntax. Thus the name, "ESPX - an ECMAScript Parser for (almost) XML, with namespaces".
As far as TinyXSL is concerned, this is nothing but an attempt to mimic as much as is possible (and practical, again) the XSLT's functionality within the usage context of ESPX-processed small documents (< 30kb). Note at the time of writing (today's 20010207) this one still is in an early stage of development, though.
Nothing special, actually. ESPX + TinyXSL distributions are numbered P.0N
. Where P
is ESPX's version number
in a la ISO date format (YYYYMMDD), and N
represents 100 * the absolute value of TinyXSL's negative number, which started from -0.99
and goes towards 0.0
. I just arbitrarily decided that, in any case, I shall stop work on TinyXSL when reaching its version 0.0
, at most -
that's all.
Thus the current ESPX + TinyXSL package, which happens to be (today's 20011205) version 20011205.080
.
Note, however, as TinyXSL relies on ESPX, you have the implication: ESPX update ==> TinyXSL update, while the reverse is not necessarily true.
I hope not. In fact, ever since XML well-formedness checking began to work, I was obsessed by the one thing: namespaces. For a rapid, true usability of ESPX, I assigned the highest priority to providing support for them - now it is achieved, ESPX should hopefully find its way in the wild... until there is sufficient user experience feedback for new features (or not).
In the meantime anyway, I shall concentrate on code cleanup and then optimization, the latter being quite a stimulating (read: tough) subject, given the ECMAScript-related constraints.
Any help will be very welcome : so if you want to join in the effort ...
For ESPX :
For TinyXSL :
Read their respective source code.
Just drop me a note of your questions, suggestions, ideas for improvements at mailto:Cyril@cjandia.com.
Please note that optimization has the highest priority (vs. feature additions).
If it is the first time you write me, I should answer within a couple of days, normally.
I just don't know, yet.
That depends mostly, as you can guess, of my availability for them as well as the user experience feedback.