XSLT 2.0 e Ruby no OS X

votos
2

Eu estou tentando analisar um documento XML contra uma folha de XSLT 2.0. No entanto, eu estou sendo informado de que as bibliotecas em OSX 10.5.x só suportam XSLT 1.0 operações. Quando eu olho para xsltproc, fico com esta:

hmasing $ xslproc --version Usando libxml 20616, 10112 e libxslt libexslt 810 xslproc foi compilado contra libxml 20616, 10112 e libxslt libexslt 810 libxslt 10112 foi compilado contra libxml 20616 libexslt 810 foi compilado contra libxml 20616

Alguém tem um guia conciso para instalar XSLT 2.0, as gemas de rubi XSLT para trabalhar contra os libs, e alguns bons fu passar por mim? Por favor supor que eu sou um idiota total em quaisquer instruções. Qualquer ajuda é muito apreciada!

  • Hans
Publicado 19/05/2009 em 21:04
fonte usuário
Em outras línguas...                            


1 respostas

votos
5

Infelizmente, Saxon é o único jogo na cidade com uma implementação livre XSLT 2.0. Saxon em si é brilhante, mas é Java ou .NET apenas, com tudo o que isso implica.

Invocá-lo a partir da linha de comando ou através de uma chamada de sistema terá um custo de inicialização JVM de cada vez, para que você provavelmente não quer fazer isso.

Algumas coisas que você pode tentar:

1) Você tem certeza que precisa XSLT 2.0? A menos que você estiver usando uma funcionalidade que não está em 1,0, o XSLT pode ser 1,0-compatível. Em seguida, você poderia usar xsltproc. Se o que você precisa está em EXSLT, xsltproc tem algum suporte para isso.

2) Se você definitivamente precisa de 2.0, então você vai querer criar algum tipo de invólucro para saxão. Depende muito de qual ambiente você quiser usar isso em, então isso pode ser um serviço web ou algo parecido. Para um projeto que eu trabalhar, usamos um pequeno programa ouvinte TCP que envolve saxão. Você pode vê-lo aqui: http://idp.atlantides.org/svn/idp/idp.contenttool/trunk/epiduke_saxon/ Ele funciona bem para transforma em lote de linha de comando, e é muito rápido.

Respondeu 17/07/2009 em 16:54
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more