Simon Brooke wrote:
in message <e0**********@news-sop.inria.fr>, Philippe Poulard
('P*****************@SPAMsophia.inria.fr') wrote:
RefleX 0.1.3, a general-purpose XML Virtual Machine, is available here
: http://reflex.gforge.inria.fr/
Sorry, no.
you're not obliged, don't use it if you don't want to
You cannot have an XML Virtual Machine. XML is not, and is not intended
to be, executable; it's a data syntax.
any programming language is based on a syntax ; why this syntax couldn't
be the XML syntax ?
The phrase 'XML Virtual Machine' means exactly the same as 'Green Hypotenuse' or 'Colloquial
Wheelbarrow'. It's a category error.
If you could have an 'XML Virtual Machine', what would the physical
machine which the virtual machine emulates look like?
I would answer the same for Java : any machine that could translate XML
in something that can run on this machine
I called this executable XML "Active Tags" ; Active Tags just specifies
a behaviour, not how you could implement it : if you want to write an
interpreter or a compiler, translate XML to Java code (or any other
language), load precompiled classes, or combine several of them, you're
welcome.
If you've built an embedded scripting language interpreter, why not say
so? And in saying so, explain why yours is better than JSP or Struts or
PHP or ColdFusion or any one of the dozens of others?
there are many reasons for which you should prefer Active Tags instead
of other similar technologies :
-those you mention above are all dedicated to a Web environment, whereas
RefleX can run XML programs in a Web environment as well as from the
command-line
-try to define a schema language with any of them ; it wouldn't be
obvious (at best), or would be simply impossible (at worst) ! RefleX
embeds one called the Active Schema Language, which goes a step further
than DTD, W3C XML Schema, and Relax NG (for example, ASL allows to
design dynamic content models and design semantic data types)
-there are also some smart features in Active Tags not available with
its competitors : in Active Tags you can consider some non-XML objects
as XML-friendly : use XPath to access them and apply XUpdate-like
operations to modify them
-programs written with Active Tags (that are called Active Sheets) can
dramatically decrease the amount of code to produce (we used it in a
production environment at INRIA for a real application, and estimate
that the number of lines to code was reduced to 10% (comparison with the
hypothetic lines of Java to write))
-you can extend Active Tags with custom modules (libraries) ; you can
design declarative-oriented grammar -which are very concise and
expressive- and make them runnable within RefleX ; RefleX also allows to
switch from declarative sentences to imperative instructions when you
have reached the intrinsic limits of the declarative grammar
-RefleX is self-descriptive, it is built upon itself : any built-in or
custom module is an application of RefleX ; Active Tags foundations are
very sane, based on the cooperation of few core modules, each focusing
on a single well-defined problematic
-you can define custom tags and functions with other tags (a kind of
macro mechanism)
-Active Tags is easy to use and easy to learn : what you need is only a
knowledge of computer sciences in general, XML + namespaces + XPath ;
Active Sheets are easy to read
-you can design entire applications with RefleX without writting any
Java code ; but you can also embed your own Java classes
-etc
now, Active Tags is very young, but it certainly bring some renewal in
XML technologies
I'm aware that Active Tags looks like JSP, JSTL/taglibs, XSLT, Ant,
Jelly, XMLBeans, Cocoon, etc ; I even hope that everyone recognize a
little of each in Active Tags, because Active Tags is a kind of "all-in-one"
--
Cordialement,
///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !