如何使用visualstudio2017对引用的公共XSD架构验证XML?
在VisualStudio2017中,首先在“工具”->“选项”->“文本编辑器”->“XML”->“杂项”下启用“DTD和架构的自动下载”。然后,当我指定一个包含和的XML文档时xsi:模式定位,Visual Studio无法加载引用的架构,我无法利用Visual Studio的功能(如XML验证和intellisense编辑)。
下面是一个例子,从
VXML 2.1
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/vxml
http://www.w3.org/TR/2007/REC-voicexml21-20070619/vxml.xsd">
<form>
<block>hello</block>
</form>
</vxml>
The operation has timed out
The schema referenced from this location in your document contains errors
我认为来自@Petru Gardea的答案与我的问题类似-
https://stackoverflow.com/a/21562249/90236
-W3C显然限制了他们的服务器和工具,比如visualstudio将超时。上述答案中的建议是将XSD文件置于本地并更新XSD路径。不幸的是,另一个模式可能会带来复杂的模式xsd:include或xsd:导入。我还没有能够正确地下载所有包含的模式以使其正常工作。
XML Validation with XSD in Visual Studio IDE
?
其他工具,尤其是XMLSpy,只需做正确的事情,验证就可以很好地工作。我能让它在visualstudio中工作吗?
我找到了这个帖子
W3Câs Excessive DTD Traffic
. 但我不清楚接受的解决方案是什么。visualstudio不应该管理模式的XML目录吗?我还被告知,如果没有有效的用户代理头,w3.org将不会响应XSD请求。这就是我手术超时的原因吗?