Библиотека XQuery под Python

Существует ли какой-либо существующий способ запуска XQuery под python? (не начинать самостоятельно составлять парсер) другими словами.

У меня есть тонна XQuery, которую я хочу передать в нашу новую систему, или, скорее, хочу порт рамки, а не XQuery.

Поэтому: Есть ли библиотека, которая позволяет мне запускать XQuery под python?

Ответы

Ответ 1

Сорт...

Просматривая список реализаций W3C для XQuery, есть:

Несколько примеров Python с Zorba, от здесь

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

В этом списке может быть реализация C, которая может быть легко связана с Python. Надеюсь, что это поможет, я был несколько удивлен, увидев так мало реализаций. Хотя XQuery не самый желательный из инструментов XML, я полагаю.

Ответ 2

Вы можете использовать Jython для запуска кода Python - это дает вам доступ к некоторым из процессоров XQuery из мира Java. Например Saxon.

Ответ 3

Zorba 1.2 работает с python. После установки вы получите папку python под папкой zorba. Добавьте его в sys.path, также с помощью zorba\bin. После всех манипуляций импорт "zorba_api" будет работать!

Ответ 4

У меня были проблемы, подобные Теду, и пытались использовать ответ от вадима. Однако у меня были проблемы с загрузкой zorba_api должным образом, жалуясь, что "Ошибка загрузки DLL ImportError не удалось" (не указывая, какой из них, используя% 1 как отличный псевдоним).

Наконец, я получил решение:

Окружающая среда

  • WindowsXP
  • Python 2.6, установленный в c:\Python26

Установка

  • Zorba 1.2 или 1.4 установлен в стандартное расположение
  • Путь к Zorba bin как первый элемент в PATH
  • оба файла из Zorba bin\python (zorba_api.py и _zorba_api.pyd) переместились на C:\Python26\LIB\site-packages

В результате я смог запустить C:\Program Files\Zorba XQuery Processor 1.4.0\share\doc\zorba-1.4.0\python\examples\python_test.py из любой папки на моем компьютере, даже без строки python, изменяя PATH

Примечание:

  • Проблема PATH может быть связана с слишком длинной строкой.
  • Process Monitor помог найти, какая DLL не может быть загружена