1

我有带有 XSD 文件的模块,并希望在模块 B (egbxsd) 中包含模块 A (egaxsd) 的 XSD,在导入语句中不使用相对或绝对路径,而只使用要包含的文件的名称。就我而言:

<import namespace="..." schemaLocation="a.xsd"/>

为此,我在 .project 中添加了指向原始文件的链接,以便两个文件看起来彼此相邻。现在的问题是错误

src-resolve: Cannot resolve the name 'a:Some' to a(n) 'type definition' component.

如果我从 a.xsd 中引用了 Some 类型。

是否有修复程序不会出现此错误,或者这是编辑器中的错误?

如果我在编辑器中输入“a:”,它会建议我输入 Some,如果我在 a:Some 处按 F3,则会打开文件 a.xsd 并标记输入 Some。所以链接被识别...

4

1 回答 1

0

您不能避免在 schemaLocation 属性中使用相对路径或绝对路径:该属性采用 URI,并且所有 URI 要么是绝对的,要么是相对的。您显示的 ( a.xsd) 是相对的。

除非您更改其配置,否则某些 HTTP 服务器会避免遵循符号链接;某些 URI 解析库在解析文件时拒绝遵循符号链接:URI。如果我理解正确,他们正试图保护您免受某种形式的跨站点脚本攻击。看起来好像你被他们的这种谨慎所困扰。您可以尝试硬链接,或者可能有一种方便的方法来更改相应模块的配置。

于 2013-04-24T21:47:50.357 回答