# Xslt processor for ruby

**URL:** <https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941>\
**Category:** Ruby\
**Created:** [December 23, 2005, 12:20am UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941 "2005-12-23T00:20:10Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![agnessa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e495f1/32.png) [@agnessa](https://www.ruby-forum.com/u/agnessa)\
**Post date:** [December 23, 2005, 12:20am UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941/1 "2005-12-23T00:20:10Z")

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

---

<div class="post-metadata">

**Author:** ![agnessa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e495f1/32.png) [@agnessa](https://www.ruby-forum.com/u/agnessa)\
**Post date:** [December 23, 2005, 4:46am UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941/2 "2005-12-23T04:46:39Z")

</div>

On 12/22/05, Agnieszka F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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/)

---

<div class="post-metadata">

**Author:** ![agnessa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e495f1/32.png) [@agnessa](https://www.ruby-forum.com/u/agnessa)\
**Post date:** [December 23, 2005, 1:10pm UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941/3 "2005-12-23T13:10:50Z")

</div>

Wilson B. wrote:

> On 12/22/05, Agnieszka F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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 F.

---

<div class="post-metadata">

**Author:** ![agnessa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e495f1/32.png) [@agnessa](https://www.ruby-forum.com/u/agnessa)\
**Post date:** [December 23, 2005, 2:10pm UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941/4 "2005-12-23T14:10:10Z")

</div>

On Fri, 23 Dec 2005 12:11:07 -0000, Agnieszka F.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

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

(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] [[xsl] second implementation of XSLT 2.0?](http://www.biglist.com/lists/xsl-list/archives/200511/msg00624.html)  
(and resulting thread)

---

<div class="post-metadata">

**Author:** ![agnessa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e495f1/32.png) [@agnessa](https://www.ruby-forum.com/u/agnessa)\
**Post date:** [December 23, 2005, 2:46pm UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941/5 "2005-12-23T14:46:19Z")

</div>

On 12/23/05, Ross B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 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/). 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).

---

<div class="post-metadata">

**Author:** ![agnessa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e495f1/32.png) [@agnessa](https://www.ruby-forum.com/u/agnessa)\
**Post date:** [December 23, 2005, 4:28pm UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941/6 "2005-12-23T16:28:49Z")

</div>

On Fri, 23 Dec 2005 13:44:20 -0000, Mark V.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 12/23/05, Ross B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > 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/). 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).

Maybe check out  
[[xsl] XSLT, Saxon, Ruby, JRuby](http://www.biglist.com/lists/xsl-list/archives/200110/msg00343.html). I  
don’t know how useful that is, or how ‘real world’, but it’s a possibly  
interesting idea.

---

<div class="post-metadata">

**Author:** ![agnessa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e495f1/32.png) [@agnessa](https://www.ruby-forum.com/u/agnessa)\
**Post date:** [December 23, 2005, 4:58pm UTC](https://www.ruby-forum.com/t/xslt-processor-for-ruby/50941/7 "2005-12-23T16:58:57Z")

</div>

On 12/23/05, Ross B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > recommendation". The next and last step is to become a plain
> 
> 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). It is free. However,  
I didn’t realize it was Windows only. Bummer!
