Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Don't you need an XML Virtual Machine ?

0 views
Skip to first unread message

Philippe Poulard

unread,
Mar 29, 2006, 6:46:05 AM3/29/06
to
Hi,

RefleX 0.1.3, a general-purpose XML Virtual Machine, is available here :
http://reflex.gforge.inria.fr/

In this release, you'll find tutorials for mapping SQL to arbitrary
complex XML structures, and for experimenting the Active Schema Language
: express constraints on XML documents that you can't achieve with DTD,
W3C XML Schema, neither Relax NG, and define custom semantic data types.

Enjoy !
--
Cordialement,

///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !

Simon Brooke

unread,
Mar 30, 2006, 5:52:50 AM3/30/06
to
in message <e0ds1t$6ff$1...@news-sop.inria.fr>, Philippe Poulard
('Philippe....@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 cannot have an XML Virtual Machine. XML is not, and is not intended
to be, executable; it's a data 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?

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?

--
si...@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/

;; All in all you're just another hick in the mall
-- Drink C'lloid

Philippe Poulard

unread,
Mar 30, 2006, 9:21:34 AM3/30/06
to
Simon Brooke wrote:
> in message <e0ds1t$6ff$1...@news-sop.inria.fr>, Philippe Poulard
> ('Philippe....@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"

Richard Tobin

unread,
Mar 30, 2006, 10:08:27 AM3/30/06
to
In article <e0gphf$kpk$1...@news-sop.inria.fr>,
Philippe Poulard <Philippe....@SPAMsophia.inria.fr> wrote:

>> 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.

It's still mysterious why you call it a virtual machine. A virtual
machine is an instruction set that you compile something to, and
is virtual in the sense that it's implemented on top of some other
machine. Java gets compiled to Java Virtual Machine instructions.
What gets compiled to your machine's instructions?

-- Richard

Philippe Poulard

unread,
Mar 30, 2006, 11:29:57 AM3/30/06
to

When I started RefleX, I did the choice of Java, although Active Tags is
not specifically related to Java. I began to write a code generator that
was transforming XML to Java code then compiling it, but it appears that
it was not better than pre-compiled classes that would performing the
same job. So, there is no compilation phase, but an unmarshal phase.
Once an XML program is unmarshalled, it becomes runnable. If you prefer
saying that it's an interpreter, I don't mind. But what about JSP,
JSTL/custom tag libs ? The way you get some Java code doesn't care ; if
you think JSP/JSTL/custom-tag-libs are interpreted, then Active Tags are
also interpreted in RefleX... When I research "JSP interpreter" and "JSP
compiler" in Google, I get lots of answer...

>
> -- Richard

Joseph Kesselman

unread,
Mar 30, 2006, 11:48:38 AM3/30/06
to
Ignoring the question of whether it's a VM or not -- which is an
implementation issue and a buzzword -- what task is this actually
supposed to address? What problem does it solve that other tools don't
already address, or how is it better?

If it's just another XML-based scripting language... there've been lots
of those. XSLT can often be used pretty well for that purpose if you
write it in the literal-root-element style, and is widely available and
standardized. Other XML-based programming languages have been attempted,
usually to address specific coding styles or productivity niches that
existing languages didn't adequately cover (such as IBM's BML), and the
concept of embedding these into other markup is hardly new (for example,
US patent 6,578,192, "Method and system for supporting dynamic document
content expressed in a component-level language" which was my old
group's contribution to that space).


--
Joe Kesselman / Beware the fury of a patient man. -- John Dryden

Philippe Poulard

unread,
Mar 31, 2006, 8:14:05 AM3/31/06
to
Joseph Kesselman wrote:
> Ignoring the question of whether it's a VM or not -- which is an
> implementation issue and a buzzword --

this is not important for me :)

what task is this actually
> supposed to address?

it has not been made for anything special, but everything in general ;
it may be suitable for some works, and inappropriate for others

INRIA uses it in a Web application for querying a native XML database,
mixing the result with the result of an LDAP query, tranforming with
XSLT to HTML, etc ; very few tags are necessary to achieve this

What problem does it solve that other tools don't
> already address, or how is it better?

(I already answer to this question in the thread, but I put it here again)

there are many reasons for which you should prefer Active Tags instead

of other similar technologies (PHP/ASP/JSP-taglib/Cocoon etc) :

-those mentionned above are all dedicated to a Web environment, whereas

-etc

>

> If it's just another XML-based scripting language... there've been lots
> of those. XSLT can often be used pretty well for that purpose if you
> write it in the literal-root-element style, and is widely available and
> standardized. Other XML-based programming languages have been attempted,
> usually to address specific coding styles or productivity niches that
> existing languages didn't adequately cover (such as IBM's BML), and the
> concept of embedding these into other markup is hardly new (for example,
> US patent 6,578,192, "Method and system for supporting dynamic document
> content expressed in a component-level language" which was my old
> group's contribution to that space).
>
>

There are lots of XML-based scripting language, but what is proposed is
not a single language, but a framework where several XML languages can
cooperate

Joe Kesselman

unread,
Apr 4, 2006, 7:33:53 PM4/4/06
to
Philippe Poulard wrote:
> it has not been made for anything special, but everything in general

Nothing specifically interesting about it for me, then.

--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry

0 new messages