This is a multi-part message in MIME format.
--------------030505090306000207030706
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hello,
Here's the results of 2 more days of intensive hacking..
This is a Ruby extension for libxslt (http://xmlsoft.org/XSLT), the 
GNOME XSLT library.

It's obviously just pre-alpha but the sample from the tutorial works, 
and it's very easy to use. Also note that you'll also need my 
ruby-gnomexml extension which can be downloaded from the RWiki:

http://www.jin.gr.jp/~nahi/RWiki/?cmdew;namebyAndXML

Pls report any bugs and API request so that I know which stuff to 
implement first...


Here's the sample ported to Ruby:
------------------------------ C U T -------------------------------
#!/usr/bin/ruby

require "gnomexml"
require "gnomexslt"

# Preset parser parameters, implemented as class/singleton methods
GXMLParser.substituteEntities true
GXMLParser.loadExternalDtd true

# Create new stylesheet by parsing with above parameters set
style  XSLT.new "sample.xsl"

# Parse original document
doc  XMLParser.new "sample.xml"

# Apply stylesheet to document, resulting in another document, while
# passing in a set of parameters in the form of a hash
res  tyle.apply doc, {"foo"boo", "bar"far", "baz"faz"}

# Output results to STDOUT
style.save res

# Output results to file "sample.out"
style.save res, "sample.out"
---------------------------------------------------------------------

p.s. Masayoshi, could you pls put this tarball  your site?
I'll add this in the RWiki myself, and I promise you to find my own 
webspace very soon.. ;-}


-- 
Wai-Sun "Squidster" Chia
Unix/Web Developer/RHCE
Professional Services

--------------030505090306000207030706
Content-Type: application/octet-stream;
 nameuby-gnomexslt-0.0.1.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filenameuby-gnomexslt-0.0.1.tar.gz"

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