在Eclipse 3.5中:在幕后重写xsl import / include位置,以便正确验证文件

时间:2009-07-14 15:44:30

标签: xml eclipse xslt

我正在使用Ubuntu

我正在使用具有import或include语句的xsl文件

<xsl:import href="/xsl/content/contentsecondary.xsl"/>

Eclipse无法找到此文件,因为/ xsl /实际上并不在项目的根目录下,但是从我的etc/xml/catalog文件中的这一行可以看到Web服务器的根目录:

<rewriteSystem systemIdStartString="/xsl/" 
    rewritePrefix="file:///home/someguy/workspace/someproject/include/xsl/"/>

因此,为了使eclipse内置的xsl验证有效,它需要知道/ xsl /的真实位置。有谁知道如何做到这一点?

现在我已经关闭了丢失的包含文件的错误报告,但仍然无法通过调用模板调用它找不到的模板。我从未体验过完全与日食xsl功能集成的模板。我认为它会提供一些非常好的错误检查/自动完成,我错过了。

任何帮助将不胜感激。感谢。

3 个答案:

答案 0 :(得分:1)

是否有任何理由无法复制项目目录中部署目录下的结构?如果您不想迁移现有结构,可以使用符号链接复制项目中的重写。

如果您不仅担心内容完成/验证,并且想要运行它,您可以编写一个简单的Java客户端,它提供自己的URIResolver来解析您获得正确引用的URL。

我还没有转向Eclipse 3.5,但是现在读了一下之后,我想我会做并下载。

答案 1 :(得分:1)

另一个镜头,但这并不容易:

  • 在“运行配置”下为您的方案创建新配置。
  • 在处理器选项卡下,将saxon安装为已安装的处理器
  • 添加名为http://saxon.sf.net/feature/styleParserClass的属性
    • 这是一个棘手的问题,你必须在java中提供一个知道如何查找文件的解析器类名。然后,您必须在saxon处理器配置下添加此jar。

这应该可以控制重载导入和包含样式表指令。

几乎可以肯定,这不会在eclipse中验证,但你应该能够运行它并找到你的导入。

答案 2 :(得分:1)

我知道这适用于XML架构,可能也适用于XSL,我现在无法测试它。

向Eclipse添加目录贡献。在窗口 - &gt; 偏好设置 - &gt; XML - &gt; XML目录下,选择用户指定的条目,然后是添加按钮。