我有一个 XML 模式文档(由我处理的公司提供)来验证他们的系统所需的某个 XML 文件。
假设架构的前几行看起来像这样(我已经修改了 URI 以保护有罪的人!):
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="http://www.example.com/manifest-plugin"
xmlns="http://www.example.com/manifest-plugin">
XSD 中的 URI 在未修改的原始文件中无效,即您不能去那里获取此 XSD 文件的副本。我不知道他们为什么没有在 XSD 中定义的 URL 上发布它,但他们没有。
我有一个 XSD 的本地副本,我想用它来验证我使用 Eclipse 的 XML 目录的特性创建的 XML 文件。显然,由于 URI 无效,因此没有必要让系统尝试从 Web 检索 XSD。
假设本地 XSD 文件位于我的本地驱动器上:
C:\xml_schemas\manifest-plugin.xsd
XML 文件的开头两行如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
谁能举例说明如何做到这一点?
具体来说:
- 根据我上面提供的值,我在 Eclipse 的 XML 目录对话框中设置了哪些值?
- 我应该在 XML 文件中放入什么来使其针对本地 XSD 进行验证,而不会混淆我读取我的 XML 文件的其他系统?
我在 Eclipse wiki 上找到了这个页面,但我个人觉得说明不是很清楚:-
我已经尝试设置 XML 目录参数:
- 位置:C:\xml_schemas\manifest-plugin.xsd
- 键类型:命名空间名称
- 关键:http ://www.example.com/manifest-plugin
然后添加
<manifest xmlns:targetNamespace="http://www.example.com/manifest-plugin">
到 XML 文件,但它似乎不起作用。
顺便说一句,如果您的 Eclipse 版本没有 XML 目录,那么您可能还没有安装“Web 工具平台 (WTP)”特性。它们带有 Eclipse 的 Java EE 版本,但可以单独安装。