473,385 Members | 1,693 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Don't you need an XML Virtual Machine ?

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 !
Mar 29 '06 #1
7 1971
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 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

Mar 30 '06 #2
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 !
Mar 30 '06 #3
In article <e0**********@news-sop.inria.fr>,
Philippe Poulard <Ph****************@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
Mar 30 '06 #4
Richard Tobin wrote:
In article <e0**********@news-sop.inria.fr>,
Philippe Poulard <Ph****************@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?


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


--
Cordialement,

///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !
Mar 30 '06 #5
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
Mar 30 '06 #6
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
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"

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

--
Cordialement,

///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !
Mar 31 '06 #7
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
Apr 4 '06 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Wendy Elizabeth | last post by:
I am installing the microsoft virtual pc 2004 and the service pack 1 for the first time and I am getting the following message: Virtual PC could not open the Virtual Machine Network Services...
6
by: AbeR | last post by:
I'm an intermediate/novice (I've probably developed a half dozen ASP.NET apps at this point) ASP.NET C# developer at this point and am totally strumped by a client's setup. I am developing this...
0
by: ccrabfo | last post by:
Has anyone ever implemented embedding a "virtual host" or "virual machine" environment inside your C/C++ programs so that end-users could write small snippets of customized code, compile it using...
43
by: Minti | last post by:
Hi there everybody, I was just wondering that too many people choose to use language like Java because of its architecture independence, this AI is achieved because Java is as such a...
9
by: TPS | last post by:
I have a virtual directory where all posted files are stored. The ASP app does not have rights to the share on the other server where the vir dir resides. What is the best way to give the asp...
1
by: =?Utf-8?B?QiBTaW5naA==?= | last post by:
Hi Scenario 1) Host - XP Laptop with internet connection using Sky Broadband Wireless Router Netgear DG834GT 2) MS Virtual Server 2005 - I have deployed an XP MS Virtual Server 2005 to act...
4
by: Paul F | last post by:
Im confused about the difference(s) between virtual directories and physical directories in IIS. Any ideas? *** Sent via Developersdex http://www.developersdex.com ***
5
Niheel
by: Niheel | last post by:
How can i access and edit files in my vmware virtual machine from my host machine(code editor)? The host machine is vista. The virtual machine is CentOS. VMware workstation 6.5.2 I'd like...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.