[ANN] XSieve: XSLT + Scheme

  • Thread starter Oleg Paraschenko
  • Start date
O

Oleg Paraschenko

Hello,

I'd like to introduce XSieve, an XML transformation language based on
combination of XSLT and Scheme (a Lisp dialect). XSieve make XSLT to be
a general-purpose language. Personally for me, XSieve is an alternative
to XSLT 2.0. For objectives, read

* http://xsieve.sourceforge.net/index.html#preface
* http://xsieve.sourceforge.net/background.html

XSieve allows to use Scheme for writing XSLT extensions. The special
features, which differentiate it from extensions in
Java/JavaScript/Python/etc, are the following.

* Scheme is a functional languages, while other extension languages are
imperative.

* XSieve doesn't have XML API. Instead, XML nodes are automatically
represented using Scheme lists (SXML format), and Scheme code works
with the lists.

* It's possible to say "apply-templates" in Scheme code.

* Controversal: XSieve supports entities in output.

Everyone isn't the audience of XSieve. To use XSLT, one should be very
skilled. To use Scheme, one should be very skilled. Therefore, to use
XSieve, one should be very very skilled.

One of the simplest use cases for XSieve is running an external
program. For example, when making HTML from DocBook, it's possible to
filter "programlisting"s through a syntax highlighting program.

An example of a real use case is conversion of CALS tables. In the past
I wrote an XSLT stylesheet for CALS tables. Providing only a basic
support, the stylesheet was a complete mess. I'm sure that an XSieve
version will be much better.

XSieve passed the DocBook stylesheets test. Therefore, XSieve is
considered to be stable:

http://xsieve.sourceforge.net/ex-docbook.html

At the momemt, Xsieve is based on xsltproc (an XSLT processor) and
Guile (a Scheme interpreter). It should work everywhere xsltproc and
Guile work, but I've tested it only on Linux.

XSieve home page: http://xsieve.sourceforge.net/index.html
Project page: http://sourceforge.net/projects/xsieve/

Comments are welcome!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top