我需要设置一个测试方法来验证作为Python字符串提供的标记是否有效。你知道吗
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
由于这将在内部CI上运行,因此它必须能够在不将内容发送到任何外部服务的情况下进行处理(我不希望使用像https://validator.w3.org/这样的在线验证器,但会得到类似的结果)。你知道吗
我看到的是https://lxml.de/validation.html#id1,看起来很有希望。问题是,我在获得有效的DTD卡。你知道吗
from lxml.etree import DTD
dtd = DTD(external_id = "-//W3C//DTD XHTML 1.1//EN")
这对我不起作用:(
---------------------------------------------------------------------------
DTDParseError Traceback (most recent call last)
<ipython-input-13-c6bf8522a141> in <module>()
----> 1 dtd = DTD(external_id = "-//W3C//DTD XHTML 1.1//EN")
/tmp/tmp.dWRxTnmLqz/venv/lib/python2.7/site-packages/lxml/etree.so in lxml.etree.DTD.__init__()
DTDParseError: error parsing DTD
我发现
w3c-sgml-lib
包提供了缺少的DTD,因此在安装后DTDParseError
不再出现:现在我使用Python2代码进行xHtml1.1验证,类似于下面的验证:
…不管怎样,这是开放的任何建议或改进。你知道吗
相关问题 更多 >
编程相关推荐