XML ファイルと XML スキーマがあります。そのスキーマに対してファイルを検証し、それに準拠しているかどうかを確認したいと思います。私はPythonを使用していますが、Pythonにそのような便利なライブラリがない場合は、どの言語にも対応しています。
ここで私の最良の選択肢は何ですか?これをどれだけ早く起動して実行できるかが心配です。
XML ファイルと XML スキーマがあります。そのスキーマに対してファイルを検証し、それに準拠しているかどうかを確認したいと思います。私はPythonを使用していますが、Pythonにそのような便利なライブラリがない場合は、どの言語にも対応しています。
ここで私の最良の選択肢は何ですか?これをどれだけ早く起動して実行できるかが心配です。
Python のスニペットも良いですが、代わりに xmllint を使用することもできます。
xmllint -schema sample.xsd --noout sample.xml
import xmlschema
def get_validation_errors(xml_file, xsd_file):
schema = xmlschema.XMLSchema(xsd_file)
validation_error_iterator = schema.iter_errors(xml_file)
errors = list()
for idx, validation_error in enumerate(validation_error_iterator, start=1):
err = validation_error.__str__()
errors.append(err)
print(err)
return errors