gpt4 book ai didi

Eclipse WTP : How do you reference a standalone XML schema 中的 XML 目录

转载 作者:行者123 更新时间:2023-12-04 05:59:30 25 4
gpt4 key购买 nike

我有一个 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 上找到了这个页面,但我个人觉得说明不是很清楚:-

    Using the XML catalog in Eclipse

    我已经尝试设置 XML 目录参数:
  • 位置:C:\xml_schemas\manifest-plugin.xsd
  • key 类型:命名空间名称
  • key :http://www.example.com/manifest-plugin

  • 然后添加
    <manifest xmlns:targetNamespace="http://www.example.com/manifest-plugin">

    到 XML 文件,但它似乎不起作用。

    顺便说一句,如果您的 Eclipse 版本没有 XML 目录,那么您可能没有安装“Web 工具平台 (WTP)”特性。它们带有 Eclipse 的 Java EE 版本,但可以单独安装。

    最佳答案

    这应该很简单。从 XML 目录首选项页面单击“添加”以获取“添加 XML 目录元素”对话框。您想在此处添加具有以下属性的目录条目:

  • 位置:
  • key 类型:命名空间名称
  • key :http://www.example.com/manifest-plugin

  • 本地 XSD 可以在您的工作空间中(使用 Eclipse 路径变量),也可以在工作空间外部的文件系统上。添加条目后,Eclipse 应该能够验证工作空间中的 XML 文档。

    请注意,XML 目录与您的应用程序运行时验证 XML 文档没有任何关系。

    更新:XML 文件应包含以下内容:
    <?xml version="1.0" encoding="UTF-8"?>
    <manifest xmlns="http://www.example.com/manifest-plugin">
    ...

    在 Eclipse 3.6 或 3.7 中,您应该会看到如下对话框:
    enter image description here

    关于Eclipse WTP : How do you reference a standalone XML schema 中的 XML 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9096628/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com