eXPLoit: um Sistema de Processamento em Pipeline de XML
Nuno Teixeira (FCUP, Universidade do Porto)
José Paulo Leal (DCC-FC & LIACC, Universidade do Porto)
Um pipeline de processamento XML é uma sequência de transformações de documentos em que a saída de uma transformação alimenta a entrada da transformação seguinte. A vantagem da utilização de pipelines é a flexibilização do uso das transformações de XML, permitindo a sua reutilização em diferentes pipelines.
As linguagens de pipeline de processamento XML permitem definir e controlar o encadeamento das transformações. Têm sido propostas várias linguagens deste tipo, entre as quais o XPL - XML Pipeline Language - submetido ao W3C para discussão pela Orbeon Inc..
Este artigo descreve o eXPLoit, um sistema de processamento em pipeline de dados XML, que inclui um interpretador da linguagem XPL e um conjunto de adaptadores que facilitam a sua ligação a diferentes contextos, nomeadamente: a linha de comandos, aplicações web e webservices.
Os adaptadores existentes no eXPLoit convertem os dados relativos a cada ambiente em fluxos de XML que são processados pelo interpretador. Exemplos desses dados são a informação contida num pedido HTTP para uma aplicação web ou a mensagem SOAP enviada para um Web Service.
O interpretador do eXPLoit avalia um documento XPL que controla a invocação de um conjunto de processadores XML. O eXPLoit inclui um biblioteca básica de processadores, tais como transformações XSL, conversões de CSV em XML, consultas a webservices, entre outros. É também possível a adição de processadores ao eXPLoit. O interpretador possibilita o uso das estratégias de avaliação lazy e greedy.