Gianugo Rabellino wrote:
On 12/30/05, Sylvain Wallez <[EMAIL PROTECTED]> wrote:
Hi all,
The W3C recently set up an "XML Processing working group"[1] whose
primary goal is to define an XML processing language (i.e. pipelines).
...
My impression is that what this WG will end up defining yet another
programming language in XML, and that this language will either be very
limited in the processing types it allows in order to be implemented on
a wide range of platforms (including browsers), or allow a lot of
extensibility, thus actually limiting its portability.
I'm not so sure. Although I have only read the minutes of their Dec 15th
and 22nd meetings.
A couple of things strike me:
"Scripting language has two parts: having a way to specify a sequence of
processes and to talk about what form the data is in as it passes
through the process. It would be nice if we could do the former without
constraining the latter"
Here the words "scripting language" would make one think of a
programming language, but replace those two words with "pattern
language" or "template language" and it may become more "acceptable". At
least to me, since that's why my work focused.
Another interesting quote is:
"If you had a registry, you could identify small names for the processes
that do things, like registering "XSLT" for the XSLT 1.0 process"
This seems to support my interpretation of the first quote. The language
is describing a set of processes that can be used to move from one state
to another. By having a hierarchy of processes, each defined by
patterns, you can do something like:
"User: give me document X"
"App: I have document A, B and C, but need X. Engine: how do I create X
from A, B and C"
"Engine: apply process 1 to docs B and E. You can create E by applying
process 2 to A and C"
"App: Program execution is:
(A, C) -> 2 = E
(B, E) -> 1 = X"
"User: Thank you"
With respect to portability limitations, there need not be any, just
imagine the processes run remotely (yes that introduces a whole load of
other problems, but that is not for this WG).
Such an approach does make it possible to create a high level "language"
that need not define any complex logic through conditional execution
since it is implicit rather than explicit. I have working prototypes of
such systems (albeit academic proof of concepts).
Of course, I'm interpreting just a few words by applying around five
years of academic research and therefore have a very biased and
blinkered interpretation at this time.
It should be recognised that the Cocoon sitemap is surprisingly close to
doing this already. This has not gone unnoticed by the WG:
"they [Cocoon] have a simple one-level sequence path and I've got a more
hierarchical model. Processing subtrees is like having embedded
pipelines. That's hard to do in Cocoon because of their syntax."
WDYT, should we join the party?
I think Cocoon could gain much from this discussion, even if it does
turn out to be another low level XML programming language (please no).
It's piqued my interest but, I don't do anything in this area any more.
Nevertheless, I've joined the public list, it would be nice to actually
awaken some of those parts of my brain, maybe I'll find time to return
to this work.
Ross