29
A
答えて
29
もう一つの良い選択肢はlxml's validationです。私はこれを使うのがとても楽しいです。 libxml2ののPythonバインディングでexamplesディレクトリから
from StringIO import StringIO
from lxml import etree
dtd = etree.DTD(StringIO("""<!ELEMENT foo EMPTY>"""))
root = etree.XML("<foo/>")
print(dtd.validate(root))
# True
root = etree.XML("<foo>bar</foo>")
print(dtd.validate(root))
# False
print(dtd.error_log.filter_from_errors())
# <string>:1:0:ERROR:VALID:DTD_NOT_EMPTY: Element foo was declared EMPTY this one has content
7
:
lxmlのサイトから取得した簡単な例libxml2のバインディングはPythonの標準ライブラリの一部ではないことを
#!/usr/bin/python -u
import libxml2
import sys
# Memory debug specific
libxml2.debugMemory(1)
dtd="""<!ELEMENT foo EMPTY>"""
instance="""<?xml version="1.0"?>
<foo></foo>"""
dtd = libxml2.parseDTD(None, 'test.dtd')
ctxt = libxml2.newValidCtxt()
doc = libxml2.parseDoc(instance)
ret = doc.validateDtd(ctxt, dtd)
if ret != 1:
print "error doing DTD validation"
sys.exit(1)
doc.freeDoc()
dtd.freeDtd()
del dtd
del ctxt
関連する問題
- 1. DataSet.ReadXML()はDTDに対してXMLを検証します
- 2. Linq to XML - dtdに対してxmlを検証
- 3. PHPで指定されたDTDに対するXMLの検証
- 4. 文字列からdtdに対してXMLを検証します。
- 5. Java XML DTDの検証
- 6. 指定されたDTDに対してxhtmlファイルを検証する方法は?
- 7. JavaのxmlファイルにローカルDTDファイルの検証を適用する方法は?
- 8. DTD宣言がXMLファイルに含まれていないXMLファイルのJava DTD検証?
- 9. dtdを使用したXML検証
- 10. C#でDTDに対してXML文書を検証するにはどうすればよいですか?
- 11. XML DTDを使用してYAMLを検証する
- 12. MavenでのXML DTD /スキーマ検証
- 13. XML DTDここに...私は外部のDTDとXMLファイルを持っている
- 14. xsdファイルによるpython xml検証
- 15. XSDスキーマに対してXMLファイルを検証し、すべての検証エラーをリストする方法
- 16. xsdスキーマに対してbig xmlを検証する方法は?
- 17. java.net.ConnectException:XSDに対する検証のXml:ローカルマシン
- 18. 特定のXSDスキーマに対してXMLを検証する
- 19. 1つのメソッドでXSDに対してXMLを検証する
- 20. VB.NETはXSDファイルに対してXMLファイルを検証し、xmlを解析します
- 21. FireMonkeyのXSDに対するXMLファイルの検証
- 22. xsdファイルに対してjaxbを使用してxmlを検証しました
- 23. スキーマに対するXML(.xsd)フィード検証
- 24. 検証複数のスキーマ定義に対するXMLファイル
- 25. XSDに対してXMLを検証する
- 26. Grailsがxsd 1.1に対してxmlドキュメントを検証する
- 27. スキーマに対してXML要素を検証する
- 28. Apache Camel入力xmlをXSDに対して検証する
- 29. XMLスキーマに対してXPath式を検証できますか?
- 30. Xercesを使用してAndroidのスキーマに対してXMLを検証する
注意、すなわち内蔵されていない。 – ChuckB