name example python api xquery

python - example - xquery function declaration



Biblioteca XQuery bajo Python (4)

¿Hay alguna manera de ejecutar XQuery bajo python? (no está empezando a construir un analizador usted mismo en otras palabras).

Tengo un montón de XQuery heredado que quiero trasladar a nuestro nuevo sistema, o más bien quiero trasladar el marco y no XQuery.

Por lo tanto: ¿Hay alguna biblioteca que me permita ejecutar XQuery bajo python?


Podría usar Jython para ejecutar el código Python, que le da acceso a algunos de los procesadores XQuery del mundo Java. Por ejemplo Saxon .


Tuve problemas como Ted y traté de usar la respuesta de vadim. Sin embargo, todavía tenía problemas para cargar zorba_api correctamente, quejándose de "Falló la carga de DLL ImportError" (no se indica cuál, usando% 1 como gran apodo).

Finalmente, tengo la solución:

Ambiente

  • Windows XP
  • Python 2.6 instalado en c: / Python26

Instalación

  • Zorba 1.2 o 1.4 instalado en una ubicación estándar
  • Ruta a Zorba bin como primer elemento en PATH
  • ambos archivos de Zorba bin / python ( zorba_api.py y _zorba_api.pyd ) se movieron a C:/Python26/LIB/site-packages

Como resultado, pude ejecutar C:/Program Files/Zorba XQuery Processor 1.4.0/share/doc/zorba-1.4.0/python/examples/python_test.py desde cualquier carpeta en mi computadora, incluso sin la línea python , modificando el PATH

NÓTESE BIEN:

  • El problema PATH podría estar relacionado con una cadena demasiado larga allí.
  • Process Monitor fue de gran ayuda para encontrar qué DLL no se puede cargar

Zorba 1.2 trabaja desde python. Después de la instalación obtendrá una carpeta de python en la carpeta zorba. Agréguelo a sys.path, con la carpeta zorba / bin también. Después de todas las manipulaciones, la importación "zorba_api" funcionará!


Tipo de ...

Mirando a través de la lista de implementaciones de W3C para XQuery hay:

  1. Fijaciones de pitón para zorba
  2. Sedna es una base de datos XML nativa gratuita con API para Python .

Unos cuantos ejemplos de Python con Zorba, desde here

import sys import zorba_api def example1(zorba): xquery = zorba.compileQuery("1+2") print xquery.printPlanAsXML() print xquery.execute() return def example2(zorba): xquery = zorba.compileQuery("(1,2,3,4,5)") iter = xquery.iterator() iter.open() item = zorba_api.Item_createEmptyItem() while iter.next(item): print item.getStringValue() iter.close() iter.destroy() return def example3(zorba): try: xquery = zorba.compileQuery("1 div 0") print xquery.execute() except RuntimeError, e: print e return

Puede haber una implementación de C en esa lista que puede vincularse fácilmente a Python. Espero que esto ayude, me sorprendió un poco ver tan pocas implementaciones. Aunque, XQuery no es la herramienta XML más deseada, supongo.