Как проверить XML с помощью SCH (схемы) и XSD в Python?Python

Программы на Python
Ответить
Anonymous
 Как проверить XML с помощью SCH (схемы) и XSD в Python?

Сообщение Anonymous »

Я создаю XML-файлы электронных счетов-фактур (CII D16B) с помощью Python. Эти файлы соответствуют стандарту EN16931 (https://github.com/ConnectingEurope/eInvoicing-EN16931).
Мне нужно проверить сгенерированный XML на соответствие правилам Schematron, представленным в репозитории ConnectingEurope. (eInvoicing-EN16931).
У меня возникли проблемы с поиском информации о выполнении проверки Schematron в Python.
Я пробовал использовать такие библиотеки, как lxml, xmlschema и saxonc (потенциально требующие лицензии) вместе со встроенной библиотекой xml, но безуспешно.
Сложность заключается в структуре XML: он использует четыре разных пространства имен со сложными вложенными правилами, определенными в глобальном файле схемы. (https://github.com/ConnectingEurope/eIn ... dation.sch).
Хотя существуют онлайн-инструменты проверки (например, , https://ecosio.com/en/peppol-and-xml-do ... validator/, https://invoice-portal.de/en/peppol-bis ... validator/), я бы предпочел интегрировать проверку в свой скрипт Python перед генерацией окончательного XML.
Есть ли у кого-нибудь опыт проверки схемы в Python? Существуют ли специальные библиотеки или подходы, рекомендуемые для этого сценария, особенно с учетом нескольких пространств имен и вложенных правил?
Будем очень признательны за любые рекомендации или примеры кода!
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/781 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»