Eclipse的WTP怎么开发XML应用

WTP不提供XML运行时,仅支持编辑、验证及Web集成;需用XML Editor打开文件,配置Catalog解决引用错误,XSLT调试需外部工具或Maven插件。

WTP(Web Tools Platform)本身不提供专门的“XML应用”运行时或部署模型——它把 XML 当作文本资源处理,不是可执行程序。你要开发的是 XML 相关工具链:比如 XML 编辑、XSD 验证、XSLT 转换、或嵌入在 Web 应用中的 XML 接口(如 REST 返回 XML)。直接在 WTP 里“运行 XML 文件”会失败,因为没有对应的 launch configuration 类型。

XML 文件怎么在 Eclipse/WTP 里正确打开和编辑

WTP 自带 XML Editor,但默认可能被系统关联覆盖(比如被普通文本编辑器抢注)。确保你双击 .xml 文件时触发的是 WTP 的编辑器:

  • 右键文件 → Open With → 选择 XML Editor(不是 Text Editor
  • 若没看到,进入 Window → Preferences → General → Editors → File Associations,添加 *.xml 并设 XML Editor 为默认
  • 编辑时注意左下角状态栏是否显示 XML(而非 Plain Text),否则语法高亮、自动补全、验证都不会生效

为什么 XML 文件保存后报错 “Referenced file contains error”

这是 WTP 的 XML Catalog 或外部 DTD/XSD 引用导致的典型问题,尤其当你有 DOCTYPExsi:schemaLocation 且网络不通或路径错误时:

  • 检查 Window → Preferences → XML → XML Catalog,确认本地 XSD/DTD 是否已映射(例如把 http://www.springframework.org/schema/beans/spring-beans.xsd 映射到你本地的 spring-beans.xsd
  • 临时禁用验证:右键项目 → Properties → Validation → 取消勾选 XML Validator
  • 如果只是编辑不用验证,可在 XML 文件顶部加注释 (部分版本支持)

如何调试 XSLT 转换(WTP 自带支持有限)

WTP 提供基础 XSLT 支持,但不包含内置调试器。想真正调试 .xsl 文件,需手动配置外部工具:

  • 确保已安装 JRE(XSLT 处理依赖 Java)
  • 右键 XSL 文件 → Run As → Run Configurations… → 新建 Java Application,主类填 com.sun.org.apache.xalan.internal.xslt.Process(JDK 8)或改用 net.sf.saxon.Transform(推荐 Saxon-HE)
  • Program arguments 填:-s: -xsl: -o:
  • 更可靠的方式是用 Maven + maven-xslt-plugin,然后在 WTP 项目中右键 Run As → Maven build…
mvn xslt:transform -Dxslt.input=input.xml -Dxslt.stylesheet=transform.xsl -Dxslt.output=output.xml

WTP 对 XML 的核心价值是编辑、验证、与 Web 项目集成(比如 web.xmlapplicationContext.xml 的上下文感知),而不是把它当独立应用运行。最容易被忽略的一点:XML 文件必须放在 src/main/resourcesWebContent/WEB-INF 等受 WTP 管理的目录下,放在随意新建的文件夹里,验证和引用解析大概率失效。