Lists Home |
Date Index |
Now that I have spent some time on the Water site, I have a clearer idea of
what they are trying to do. It seems to me that this markup system is
generally in the same category as Cold Fusion Markup Language (CFML) and
Zope's DTML, and somewhat related to "languages" like php, JSP and ASP.
You stick statements into markup constructions, and anything the interpreter
does not care about ends up on the page as is.
According to the Water site, the programming language they embed is a
prototype-based, object-oriented language, apparently much like Python or
tell at this point). As a possible difference from CFML, etc., it seems
that the interpreter can be aware of the contents of all the markup on the
page, whereas with CF or DTML, for example, the interpreter only receives
certain specially-marked-up pieces.
With a good underlying language (and I am a big Python fan so I appreciate
these prototype-based languages) and a decent markup system (I have no
opinion if they have achieved that), then, this could actually be pretty
good. Of course by allowing tags within tags they have ruled out any
compatibility with HTML, XML, or SGML generally. Despite this the site
mentions repeatedly that it is "compatible" with HTML (which it is not,
although it seems that HTML is compatible with their parser) and barely
mentions XML at all.
I do not know to what extent this approach makes the parser harder to build.
If you got rid of all the hard stuff (character encoding, character
entities, external entities, DTD validation, etc) then an XML parser would
be almost ridiculously simple, but tags within tags would make it harder.
I have not spent the time on the site to know what Water does with respect
to character encodings and similar hard matters. They would have you
believe that their markup is good enough that it can do everything that XML
can do, so why not use it instead of XML and be able to hook right into the
programming language at the same time? But many of the things XML can do
that other systems do not do easily are not so obvious - they show up on
this list all the time, of course - the angle brackets are just the obvious
part. Just any system of angle brackets cannot replace XML, and it remains
to be seen if the Water angle brackets could).