From: Wai-Sun Chia Date: 2001-07-18T11:13:08+09:00 Subject: [ruby-talk:18023] [ANN] libxslt Rubified! 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/?cmd=view;name=RubyAndXML 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 = GXSLT.new "sample.xsl" # Parse original document doc = GXMLParser.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 = style.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; name="ruby-gnomexslt-0.0.1.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ruby-gnomexslt-0.0.1.tar.gz" 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 --------------030505090306000207030706--