Проверка XML в Python без не-python зависимостей - PullRequest
3 голосов
/ 07 августа 2009

Я пишу небольшое приложение на Python для распространения. Мне нужно включить простую валидацию XML (это инструмент отладки), но я хочу избежать любых зависимостей от скомпилированных библиотек C, таких как lxml или pyxml, так как они значительно затруднят распространение получившегося приложения. Я не могу найти ничего, что, кажется, отвечает всем требованиям - для DTD, Relax NG или XML Schema. Есть предложения?

Ответы [ 4 ]

4 голосов
/ 07 августа 2009

Вы имеете в виду что-то вроде MiniXsv ? Я никогда не использовал его, но с сайта мы можем прочитать, что

minixsv - легкая XML-схема пакет валидатора, написанный на чистом Python (по крайней мере, Python 2.4 является требуется).

так, это должно работать для вас.

Я считаю, что ElementTree также может быть использовано для этой цели, но я не уверен на 100%.

1 голос
/ 07 августа 2009

Я давно не смотрел на него, поэтому он мог бы измениться, но 4Suite ( Community Edition ) компании Fourthought все еще может быть чистым Python.

Редактировать: просто просматривал документы, и это в основном Python, который, вероятно, вам не достаточно.

1 голос
/ 07 августа 2009

Почему бы вам не попробовать вызвать онлайновый валидатор XML и проанализировать результаты?

Я не смог найти никаких бесплатных служб на основе REST или SOAP, но было бы достаточно легко использовать обычную HTML-форму, такую ​​как , эту или , эту . Вам просто нужно составить правильный запрос и проанализировать результаты ( httplib может помочь здесь, если вы не хотите использовать стороннюю библиотеку, такую ​​как mechanize , чтобы облегчить боль ).

0 голосов
/ 07 августа 2009

Модуль beautifulsoup - это чистый Python (и один файл .py), но я не знаю, будет ли он соответствовать вашим требованиям проверки, я использовал его только для быстрого извлечения некоторых полей в больших XML-файлах.

http://www.crummy.com/software/BeautifulSoup/

...