OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   [ANN] XSieve: XSLT + Scheme

[ Lists Home | Date Index | Thread Index ]
  • To: xml-dev <xml-dev@lists.xml.org>
  • Subject: [ANN] XSieve: XSLT + Scheme
  • From: "Oleg A. Paraschenko" <olpa@xmlhack.ru>
  • Date: Mon, 5 Sep 2005 00:18:33 +0400
  • Organization: xmlhack.ru

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!


-- 
Oleg Paraschenko  olpa@ http://xmlhack.ru/  XML news in Russian
http://uucode.com/blog/  Generative Programming, XML, TeX, Scheme




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS