即使包含 DTD,XML 内容辅助也无法工作

问题描述 投票:0回答:2

在 Eclipse 中

struts.xml
内容辅助甚至无法与 XML 中包含的 DTD 一起使用。但是,似乎我在这里缺少一些东西。我在 lib 和构建路径中也有所有必需的 jar。

struts.xml
:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
.....
java xml eclipse struts2 xml-configuration
2个回答
0
投票

您可以使用 XML 文件与 DTD 关联。

当 XML 文件与 DTD 关联时,它受到 DTD 中包含的任何结构规则的约束。要被视为有效的 XML 文件,文档必须附有 DTD,并且符合 DTD 中的所有声明。

您可以使用 XML 模式而不是 DTD 来与 XML 文档建立关联,但没有提供 XML 模式。

将 XML 文件与 DTD 或 XML 关联有两种不同的方法 模式。

  • 直接关联 - XML 文件包含 其文档类型声明中的 DTD(例如 ,其中 dtdfile.dtd 是 DTD 文件的名称) 或者它包含 schemaLocation 中 XML 模式的路径 XML 文件根元素的属性(例如, ,其中 schema.xsd 是 XML 模式的名称。
  • XML 目录条目 - 您可以 在 XML 目录中注册 DTD 和 XML 模式文件并关联 他们有一个代表他们的钥匙。然后您可以参考 DTD 或 XML 模式文件 Key 来自 XML 文件而不是直接引用 DTD 或 XML 架构文件。 XML 目录条目包含两部分 - 键(代表 DTD 或 XML 模式)和 URI( 包含有关 DTD 或 XML 架构位置的信息)。

编辑 XML 目录设置

可以通过 Eclipse 首选项访问 XML 目录:

  1. 选择 Window -> Preferences 以启动“首选项”对话框。
  2. 在导航树中展开Web 和 XML 组并选择XML 目录

下图展示了如何更改设置

enter image description here


参考资料:


0
投票

我找到了内容辅助 dtd 问题的解决方案,

我已经从 struts2-core-2.0.1.jar 中提取了 struts-2.0-dtd 并 在 WEB-INF 中创建一个文件夹作为 dtds 并将其放置在提取的 dtd 上方 dtds 文件夹。在 struts.xml 中,我将 dtd 位置更改为

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "/WEB-INF/dtds/struts-2.0.dtd">

它现在正在工作..我能够看到我的 struts.xml 的内容辅助

© www.soinside.com 2019 - 2024. All rights reserved.