我使用
xmllint
作为 ALE 中 linter 设置的一部分(Asynchronous Lint Engine
,Vim
的插件)。我正在处理的代码库有很多 XML 格式的 HTML 实体。我知道这不好,但他们目前并没有伤害任何人。所以我希望 xmllint 不要在每次打开或保存文件时提醒我。
这就是 xmllint 所说的:
page.xml:54: parser error : Entity 'nbsp' not defined
<Element label=" " value="{__t.Delete}" action="{#delete}"/>
^
有什么方法可以告诉 xmllint (直接或通过 ALE)不要给我实体错误吗?
作为解决方法,可以添加
--recover
选项。如果没有出现其他错误,则将解析该文档,但丢失的实体将被删除。
给定
<root>
<Data>
<colA>def </colA>
</Data>
</root>
结果来自
xmllint --recover tmp2.xml
tmp2.xml:5: parser error : Entity 'nbsp' not defined
<colA>def </colA>
^
<?xml version="1.0"?>
<root>
<Data>
<colA>def</colA>
</Data>
</root>