Подтвердить с помощью трех XML-схем как одной объединенной схемы в lxml?

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

Файлы XSD не ссылаются друг на друга. Имеются следующие схемы:

  1. http://xmlgw.companieshouse.gov.uk/v2-1/schema/Egov_ch-v2-0.xsd
  2. http: / /xmlgw.companieshouse.gov.uk/v1-1/schema/forms/FormSubmission-v1-1.xsd
  3. http://xmlgw.companieshouse.gov.uk/v1-1/schema/forms/CompanyIncorporation-v1 -2.xsd

Есть ли способ проверить документ по всем схемам с помощью lxml?

Решение здесь , а не , просто проверять индивидуально по каждой схеме, потому что проблема во мне Хавин g заключается в том, что проверка не выполняется из-за элементов, не указанных в XSD. Например, при проверке по http://xmlgw.companieshouse.gov.uk/v2-1/schema/Egov_ch-v2-0.xsd я получаю сообщение об ошибке:

  File "lxml.etree.pyx", line 3006, in lxml.etree._Validator.assertValid (src/lxml/lxml.etree.c:125415)
DocumentInvalid: Element '{http://xmlgw.companieshouse.gov.uk}CompanyIncorporation': No matching global element declaration available, but demanded by the strict wildcard., line 9

Поскольку документ в question содержит элемент {http://xmlgw.companieshouse.gov.uk} CompanyIncorporation , который не указан в проверяемом XSD, а в одном из других файлов XSD.

5
задан Marcin 2 March 2012 в 15:58
поделиться