Saxon XSLT - Saxon XSLT

Saxon é um processador XSLT e XQuery criado por Michael Kay e agora desenvolvido e mantido por sua empresa, Saxonica. Existem versões comerciais de código aberto e também de código fechado . Existem versões para Java , JavaScript e .NET .

A versão atual, em maio de 2020, é 10.1.

Versões

A linha de desenvolvimento original do Saxon terminou com a versão 6 da série. Esta é uma série de processadores XSLT 1.0. A versão atual, 6.5.5, não está passando por nenhum desenvolvimento além da manutenção. A série 6 está disponível apenas para a linguagem de programação Java.

A linha de desenvolvimento atual, Saxon 10, implementa as especificações XSLT 3.0 e XQuery 3.1. O Saxon 10 também é capaz de processar arquivos XSLT 1.0. (XSLT 2.0 é altamente compatível com versões anteriores do XSLT 1.0.)

De 2004 a 2009, o Saxon estava disponível em duas formas distintas: Saxon-B e Saxon-SA. Ambos foram construídos em bases de código semelhantes. Saxon-B era um software de código aberto lançado sob a Licença Pública Mozilla , enquanto o Saxon-SA era um produto comercial de código fechado.

A diferença entre Saxon-B e Saxon-SA era que B era "básico", enquanto SA era "ciente do esquema". Esses termos são referências aos termos da especificação XSLT 2.0 e XQuery 1.0. Um processador que "reconhece o esquema" é capaz de usar um esquema W3C XML para definir os tipos de dados dos vários elementos no (s) documento (s) XML de origem. Esses tipos de dados podem ser usados ​​em comandos XPath 2.0 e XSLT 2.0. Um processador XSLT 2.0 "básico" é incapaz de usar informações de digitação de dados.

Com o lançamento da versão 9.2 em agosto de 2009, o pacote mudou para criar três versões: edição doméstica (HE), edição profissional (PE) e edição empresarial (EE). A edição doméstica é de código aberto e gratuita, as outras versões estão disponíveis sob licenças comerciais. A renomeação de SA para EE foi feita para enfatizar que o produto comercial agora incluía muitos recursos adicionais além do reconhecimento de esquema, incluindo um otimizador mais avançado e a capacidade de processamento em fluxo de XSLT e XQuery, permitindo que documentos de origem muito grandes sejam processados ​​sem correspondentemente grandes quantidades de memória.

Saxon oferece conformidade estrita com as recomendações XSLT 2.0, XPath 2.0 e 3.0 e XQuery 1.0 e 3.0 W3C, e também implementa XML Schema 1.0 e 1.1. Em 2021, a versão atual (10.6) está em conformidade com as recomendações do W3C para XSLT 3.0, XPath 3.1 e XQuery 3.1.

O código-fonte do Saxon é escrito em Java. Durante 2005-6 M., David Peterson e outros demonstraram que o Saxon poderia ser compilado para rodar em .NET usando o compilador cruzado IKVM.NET , lançando o Saxon.NET como um produto separado independente do desenvolvedor original. Com o lançamento do Saxon 8.7, o Saxonica adotou essa tecnologia e, a partir desse lançamento, todas as versões foram lançadas simultaneamente para Java e .NET. A versão .NET do produto omite recursos específicos da plataforma Java (como integração com JDOM , Dom4j e XOM ) e, em vez disso, fornece recursos que se integram aos recursos de processamento XML da plataforma .NET.

Em 2012, após uma série de protótipos, a Saxonica lançou o Saxon Client Edition (Saxon-CE), uma versão do produto adaptada para rodar no ambiente do navegador. Isso é conseguido adaptando o código-fonte Java para que possa ser compilado para Javascript usando o compilador cruzado GWT produzido pelo Google . Saxon-CE fornece a primeira implementação de XSLT 2.0 em execução no navegador e também estende a linguagem para que, em vez de meramente gerar HTML, possa lidar diretamente com a interação do usuário. Com o lançamento do Saxon-CE 1.1 em fevereiro de 2013, o produto tornou-se open source. Em fevereiro de 2016, Michael Kay anunciou que a Saxonica estava trabalhando em uma substituição para o Saxon-CE escrito em Javascript puro e apelidado de Saxon-JS.

Michael Kay , o autor do Saxon, foi o editor da especificação do XSLT 2.0 e também é o editor do rascunho do XSLT 3.0.

Recursos

Esta tabela mostra quais recursos estão disponíveis nas versões atuais do Saxon. As versões Java e .NET são construídas a partir de uma única base de código, portanto, compartilham os mesmos recursos. Os sufixos * HE *, * PE *, * EE * e * CE * referem-se às edições Home, Professional, Enterprise e Client respectivamente: Saxon-HE e -CE são de código aberto, enquanto as versões -PE e -EE estão disponíveis sob uma licença comercial.

Uma matriz de recursos mais detalhada e atualizada pode ser encontrada no site da Saxonica .

Recurso Saxon
6.5.5
(apenas Java)

Saxon
HE 9.5
(Home Edition,
MPL -2.0)
Saxon
PE 9.5
(Professional Edition,
comercial)
Saxon
EE 9.5
(Enterprise Edition,
comercial)
Saxon
CE 1.1
(Client Edition,
JS apenas, MPL -2.0)
Suporte XSLT 1.0 sim Via comportamento compatível com versões anteriores Via comportamento compatível com versões anteriores Via comportamento compatível com versões anteriores Via comportamento compatível com versões anteriores
Suporte XSLT 2.0 - sim sim sim sim
Suporte XSLT 3.0 - - sim sim -
Suporte XPath 1.0 sim Via modo de compatibilidade XPath 1.0 Via modo de compatibilidade XPath 1.0 Via modo de compatibilidade XPath 1.0 Apenas em XSLT
Suporte XPath 2.0 - sim sim sim Apenas em XSLT
Suporte XPath 3.0 - - sim sim -
Suporte a XQuery 1.0 - sim sim sim -
Suporte XQuery 3.0 - - sim sim -
Suporte XQueryX - - - - -
Suporte para atualizações XQuery 1.0 - - sim sim -
Suporte a XQuery / XPath Full Text - - - - -
Suporte para esquema XML 1.0 - - - sim -
Suporte ao esquema XML 1.1 - - - sim -
Suporte para recurso de serialização sim sim sim sim -
Suporte ao recurso de digitação estática - - - - -
suporte xml: id 1.0 - sim sim sim sim
Suporte para instrução de processamento de folha de estilo XML sim sim sim sim via folha de estilo bootstrap XSLT 1.0
Funções de extensão avançadas - - sim sim -
Otimizador avançado - - - sim -
Transmissão - - - sim -
Geração de Bytecode - - - sim -

Veja também

Referências

  1. ^ "Saxon Client Edition 1.0" . Saxonica . Retirado em 14 de agosto de 2012 .
  2. ^ Site oficial do Saxon XSLT
  3. ^ Esta recomendação baseia-se no sucesso de [XSLT 1.0], que foi publicado em 16 de novembro de 1999. Muitos novos recursos foram adicionados à linguagem (consulte J.2 Nova Funcionalidade) enquanto mantém um alto nível de compatibilidade com versões anteriores. Transformações XSL (XSLT) Versão 2.0
  4. ^ http://dev.saxonica.com/blog/mike/2016/02/introducing-saxon-js.html

links externos