XProc
lenguaje de programación
From Wikipedia, the free encyclopedia
XProc Es una Recomendación de W3C para definir un lenguaje de transformación de XML para definir #XML Pipelines.
.xplapplication/xproc+xml| XProc | ||
|---|---|---|
| Desarrollador | ||
| World Wide Web Consortium | ||
| Información general | ||
| Extensión de archivo |
.xpl | |
| Tipo de MIME |
application/xproc+xml | |
| Tipo de formato | Stylesheet language | |
| Extendido de | XML | |
| Estándar(es) | 1.0 (Recommendation) | |
| Formato abierto | ? | |
A continuación se muestra un ejemplo abreviado de un archivo XProc:
<p:pipeline name="pipeline" xmlns:p="http://www.w3.org/ns/xproc" version="1.0">
<p:input port="schemas" sequence="true"/>
<p:xinclude/>
<p:validate-with-xml-schema>
<p:input port="schema">
<p:pipe step="pipeline" port="schemas"/>
</p:input>
</p:validate-with-xml-schema>
</p:pipeline>
Esta es una tubería que consta de dos pasos atómicos, XInclude y Validar. La tubería tiene tres entradas, “fuente” (un documento de fuente), “schemas” (una lista de W3C XML Schemas) y “parámetros” (para pasar parámetros). El paso XInclude lee la fuente de entrada “de la tubería” y produce un documento de resultado. El paso Validar lee la entrada del paso “schemas” y el resultado del psao XInclude y produce un documento como resultado. El resultado de la validación, “resultado”, es el resultado de la tubería.
Bajo estas líneas se muestra un equivalente menos abreviado de Pipeline XProc:
<p:pipeline name="pipeline" xmlns:p="http://www.w3.org/ns/xproc"
version="1.0">
<p:input port="schemas" sequence="true"/>
<p:xinclude name="included">
<p:input port="source">
<p:pipe step="pipeline" port="source"/>
</p:input>
</p:xinclude>
<p:validate-with-xml-schema name="validated">
<p:input port="source">
<p:pipe step="included" port="result"/>
</p:input>
<p:input port="schema">
<p:pipe step="pipeline" port="schemas"/>
</p:input>
</p:validate-with-xml-schema>
</p:pipeline>
Implementaciones
- Calabash Mantenido por Norman Walsh
- Calumet, Implementación de XProc de EMC
- MorganaXProc, desarrollado por xml-project[1]
- QuiXProc, Implementación en Java de Innovimax (GPL) incluyendo Streaming y procesamiento Paralelo
- Tubular (LGPL) mantenido por Herve Quiroz
- xprocxq, XQuery vieja implementación sobre eXist eXist DB
- xproc.xq, XQuery implementación sobre MarkLogic[2]