2010-06-30 26 views
9

Üçüncü bir tarafın yaptığı bir şema ile çalışıyorum ve bunu lxml ile doğrulamak istiyorum. Sorun, böyle bir şemanın kendilerini referans alan farklı xsd dosyalarına bölünmesidir.Python - lxml kullanarak birden çok şema ile doğrulama

<redefine schemaLocation="master.xsd"> 

I lxml (ayrıştırma ile doğrulamaya çalışır, sonra kullanarak: Örneğin

, "extension.xsd" ("ana" şema üzerine inşa olan) adlı bir dosya gibi bir satır XMLSchema sonra zaten geçerli olduğunu biliyorum başka bir belgeyi doğrulayın), yalnızca "uzantı" kullanarak değil, yalnızca "ana" kullanarak doğrulama alırsınız: başka bir deyişle, doğrulama başarısız olur (çünkü XML dosyasında "master" içinde yalnızca öğeler bulunur ve "uzantı" değil).

Bu sorunu nasıl çözebilirim (veya bu konuda çalışırım)? Teşekkürler!

cevap

1

Eğer lxml "yeniden tanımlamayı" desteklemiyorsa, en iyi seçenek onu düzeltmek ve bir yama göndermek olacaktır. :)

Bu geçici çözüm, master.xsd dosyasını kendiniz ayrıştırmak ve sonra değişiklikleri, extension.xsd'den uygulamak ve birleşik bir şema ile tek bir xsd dosyası çıktılamak olacaktır.

İlgili konular