# Xslt processor for ruby

**URL:** <https://rubytalk.org/t/xslt-processor-for-ruby/23535>\
**Category:** ruby-talk\
**Created:** [22 December 2005 23:20 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535 "2005-12-22T23:20:24Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Agnieszka\_Figiel](https://avatars.discourse-cdn.com/v4/letter/a/e495f1/32.png) [@Agnieszka\_Figiel](https://rubytalk.org/u/Agnieszka_Figiel)\
**Post date:** [22 December 2005 23:20 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535/1 "2005-12-22T23:20:24Z")

</div>

Hello,

could you please recommend a xslt processor for ruby? I tried Michael  
Neumann's xslt4r which worked great for simple xsls. Now I'm looking for  
something more up to date - a problem I ran into was when trying to use  
the generate-id function. Any library that would support that?

Thanks!

Agnieszka

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Wilson\_Bilkovich](https://yyz1.discourse-cdn.com/flex029/user_avatar/rubytalk.org/wilson_bilkovich/32/8247_2.png) [@Wilson\_Bilkovich](https://rubytalk.org/u/Wilson_Bilkovich)\
**Post date:** [23 December 2005 03:44 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535/2 "2005-12-23T03:44:12Z")

</div>

Have you run into these yet?  
(recently updated)  
[http://raa.ruby-lang.org/project/ruby-xslt/](http://raa.ruby-lang.org/project/ruby-xslt/)

(way, way old)  
[http://www.rubycolor.org/sablot/](http://www.rubycolor.org/sablot/)

> **···**
>
> On 12/22/05, Agnieszka Figiel \<agnieszka.figiel@gmail.com\> wrote:
> 
> > Hello,
> > 
> > could you please recommend a xslt processor for ruby? I tried Michael  
> > Neumann's xslt4r which worked great for simple xsls. Now I'm looking for  
> > something more up to date - a problem I ran into was when trying to use  
> > the generate-id function. Any library that would support that?

---

<div class="post-metadata">

**Author:** ![Agnieszka\_Figiel](https://avatars.discourse-cdn.com/v4/letter/a/e495f1/32.png) [@Agnieszka\_Figiel](https://rubytalk.org/u/Agnieszka_Figiel)\
**Post date:** [23 December 2005 12:11 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535/3 "2005-12-23T12:11:07Z")

</div>

Wilson Bilkovich wrote:

> **···**
>
> > On 12/22/05, Agnieszka Figiel \<agnieszka.figiel@gmail.com\> wrote:
> > 
> > > Hello,
> > > 
> > > could you please recommend a xslt processor for ruby? I tried Michael  
> > > Neumann's xslt4r which worked great for simple xsls. Now I'm looking for  
> > > something more up to date - a problem I ran into was when trying to use  
> > > the generate-id function. Any library that would support that?
> > 
> > Have you run into these yet?  
> > (recently updated)  
> > [http://raa.ruby-lang.org/project/ruby-xslt/](http://raa.ruby-lang.org/project/ruby-xslt/)
> > 
> > (way, way old)  
> > [http://www.rubycolor.org/sablot/](http://www.rubycolor.org/sablot/)
> 
> Thank you. I'm wondering if any of these supports XSLT 2.0?
> 
> --  
> Agnieszka Figiel
> 
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Ross\_Bamford2](https://avatars.discourse-cdn.com/v4/letter/r/e47774/32.png) [@Ross\_Bamford2](https://rubytalk.org/u/Ross_Bamford2)\
**Post date:** [23 December 2005 13:07 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535/4 "2005-12-23T13:07:50Z")

</div>

(Not given more than a glance to Libxslt-Ruby yet, but here's how it looks to me right now):

From what I gather XSLT 2.0 is still a recommendation (a strong one, but still), and only Saxon has any plans to implement it properly. On the Libxml/Libxslt project we're currently concentrating on getting XML up to date, and should be onto a fresh release of XSLT sometime in Q12006, but AIUI at the moment, although Libxslt supports "some common extensions" to 1.0, there are no plans to go to 2.0 [1]. It seems most of the other library projects are of the same mind too [2]. If that's the case, Libxslt-ruby would have to follow suit I guess.

There are a few 'mostly there' implementations, but not with Ruby bindings as far as I can see. Maybe someone else has worked/is working on something with one of them?

[1] [Re: [xslt] XSLT 2.0](http://mail.gnome.org/archives/xslt/2004-October/msg00012.html) (oldish but relevant I think)  
[2] [http://www.biglist.com/lists/xsl-list/archives/200511/msg00624.html](http://www.biglist.com/lists/xsl-list/archives/200511/msg00624.html) (and resulting thread)

> **···**
>
> On Fri, 23 Dec 2005 12:11:07 -0000, Agnieszka Figiel \<agnieszka.figiel@gmail.com\> wrote:
> 
> > Wilson Bilkovich wrote:
> > 
> > > On 12/22/05, Agnieszka Figiel \<agnieszka.figiel@gmail.com\> wrote:
> > > 
> > > > Hello,
> > > > 
> > > > could you please recommend a xslt processor for ruby? I tried Michael  
> > > > Neumann's xslt4r which worked great for simple xsls. Now I'm looking for  
> > > > something more up to date - a problem I ran into was when trying to use  
> > > > the generate-id function. Any library that would support that?
> > > 
> > > Have you run into these yet?  
> > > (recently updated)  
> > > [http://raa.ruby-lang.org/project/ruby-xslt/](http://raa.ruby-lang.org/project/ruby-xslt/)
> > > 
> > > (way, way old)  
> > > [http://www.rubycolor.org/sablot/](http://www.rubycolor.org/sablot/)
> > 
> > Thank you. I'm wondering if any of these supports XSLT 2.0?
> 
> --  
> Ross Bamford - rosco@roscopeco.remove.co.uk

---

<div class="post-metadata">

**Author:** ![Mark\_Volkmann1](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Mark\_Volkmann1](https://rubytalk.org/u/Mark_Volkmann1)\
**Post date:** [23 December 2005 13:44 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535/5 "2005-12-23T13:44:20Z")

</div>

> From what I gather XSLT 2.0 is still a recommendation (a strong one, but  
> still),

I think what you meant to say is that XSLT 2.0 is a "candidate  
recommendation". The next and last step is to become a plain  
"recommendation".

> and only Saxon has any plans to implement it properly.

Saxon has already fully implemented XSLT 2.0. See  
[http://www.saxonica.com/\](http://www.saxonica.com/%5C). Also, you can get a free XSLT 2.0 engine  
from Altova, makers of XML Spy. Both also support XQuery 1.0.

It would be great if someone would create a Ruby binding to Saxon.  
Until then, your best bet is probably to use Saxon from Ruby by  
executing a shell command with backquotes. For information on how to  
run Saxon from a shell command, see  
[http://www.saxonica.com/documentation/index/gettingstarted.html\](http://www.saxonica.com/documentation/index/gettingstarted.html%5C).

> **···**
>
> On 12/23/05, Ross Bamford \<rosco@roscopeco.remove.co.uk\> wrote:
> 
> --  
> R. Mark Volkmann  
> Partner, Object Computing, Inc.

---

<div class="post-metadata">

**Author:** ![Ross\_Bamford2](https://avatars.discourse-cdn.com/v4/letter/r/e47774/32.png) [@Ross\_Bamford2](https://rubytalk.org/u/Ross_Bamford2)\
**Post date:** [23 December 2005 15:27 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535/6 "2005-12-23T15:27:50Z")

</div>

> > From what I gather XSLT 2.0 is still a recommendation (a strong one, but  
> > still),
> 
> I think what you meant to say is that XSLT 2.0 is a "candidate  
> recommendation". The next and last step is to become a plain  
> "recommendation".

Oops, yes, sorry.

> > and only Saxon has any plans to implement it properly.
> 
> Saxon has already fully implemented XSLT 2.0. See  
> [http://www.saxonica.com/\](http://www.saxonica.com/%5C). Also, you can get a free XSLT 2.0 engine  
> from Altova, makers of XML Spy. Both also support XQuery 1.0.

I didn't mention XML Spy because I thought it's commercial / Windows only?

> It would be great if someone would create a Ruby binding to Saxon.  
> Until then, your best bet is probably to use Saxon from Ruby by  
> executing a shell command with backquotes. For information on how to  
> run Saxon from a shell command, see  
> [http://www.saxonica.com/documentation/index/gettingstarted.html\](http://www.saxonica.com/documentation/index/gettingstarted.html%5C).

Maybe check out [http://www.biglist.com/lists/xsl-list/archives/200110/msg00343.html\](http://www.biglist.com/lists/xsl-list/archives/200110/msg00343.html%5C). I don't know how useful that is, or how 'real world', but it's a possibly interesting idea.

> **···**
>
> On Fri, 23 Dec 2005 13:44:20 -0000, Mark Volkmann \<r.mark.volkmann@gmail.com\> wrote:
> 
> > On 12/23/05, Ross Bamford \<rosco@roscopeco.remove.co.uk\> wrote:
> 
> --  
> Ross Bamford - rosco@roscopeco.remove.co.uk

---

<div class="post-metadata">

**Author:** ![Mark\_Volkmann1](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Mark\_Volkmann1](https://rubytalk.org/u/Mark_Volkmann1)\
**Post date:** [23 December 2005 15:57 UTC](https://rubytalk.org/t/xslt-processor-for-ruby/23535/7 "2005-12-23T15:57:03Z")

</div>

> \>  
> \>\> From what I gather XSLT 2.0 is still a recommendation (a strong one,  
> \>\> but  
> \>\> still),  
> \>  
> \> I think what you meant to say is that XSLT 2.0 is a "candidate  
> \> recommendation". The next and last step is to become a plain  
> \> "recommendation".  
> \>
> 
> Oops, yes, sorry.
> 
> \>\> and only Saxon has any plans to implement it properly.  
> \>  
> \> Saxon has already fully implemented XSLT 2.0. See  
> \> [http://www.saxonica.com/\](http://www.saxonica.com/%5C). Also, you can get a free XSLT 2.0 engine  
> \> from Altova, makers of XML Spy. Both also support XQuery 1.0.
> 
> I didn't mention XML Spy because I thought it's commercial / Windows only?

The thing I'm referring to is called "AltovaXML 2006". You can read  
about it at [RaptorXML Server | Altova](http://www.altova.com/altovaxml.html%5C). It is free. However,  
I didn't realize it was Windows only. Bummer!

> **···**
>
> On 12/23/05, Ross Bamford \<rosco@roscopeco.remove.co.uk\> wrote:
> 
> > On Fri, 23 Dec 2005 13:44:20 -0000, Mark Volkmann \> \<r.mark.volkmann@gmail.com\> wrote:  
> > \> On 12/23/05, Ross Bamford \<rosco@roscopeco.remove.co.uk\> wrote:
> 
> > \> It would be great if someone would create a Ruby binding to Saxon.  
> > \> Until then, your best bet is probably to use Saxon from Ruby by  
> > \> executing a shell command with backquotes. For information on how to  
> > \> run Saxon from a shell command, see  
> > \> [http://www.saxonica.com/documentation/index/gettingstarted.html\](http://www.saxonica.com/documentation/index/gettingstarted.html%5C).  
> > \>
> > 
> > Maybe check out  
> > [http://www.biglist.com/lists/xsl-list/archives/200110/msg00343.html\](http://www.biglist.com/lists/xsl-list/archives/200110/msg00343.html%5C). I  
> > don't know how useful that is, or how 'real world', but it's a possibly  
> > interesting idea.
> 
> --  
> R. Mark Volkmann  
> Partner, Object Computing, Inc.
