Eclipse:使用XSD验证XML

29

有没有人知道在我正在使用 Eclipse 编辑 XML 时是否可以使用 XSD 验证 XML 的方法?

以下是我的 XML 开始方式:

<root 
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="../definitions.xsd">

alt text

3个回答

24

右击并验证。如果未通过验证,则Eclipse无法访问XSD文件。definitions.xsd是否在XML的父目录中?您还可以为您的XSD定义XML目录条目。无论如何,在保存时,它应该会验证XML。验证通常与元素和属性的代码完成一起出现。它们通常同时工作或同时不工作。

更新:

图片以使验证操作更加清晰: alt text


这个“validate”在哪里需要我点击呢? - clamp
谢谢提供图片。看起来我安装的Eclipse版本有误,因为我没有看到那个菜单项。 - clamp
我已经发布了我的上下文菜单的截图。 - clamp
我不确定这是否符合许多人的想法。我可以故意更改“schemaLocation”标签中的XSD文件名为错误的内容,但在Eclipse中仍然可以获得有效的响应。它似乎只检查格式是否正确,而不尝试或失败于XSD验证。 - 8bitjunkie
@8bitjunkie 如果 XSD 文件未找到,Eclipse 仅检查格式是否正确。但是您肯定会在问题视图中收到警告。 - Gábor Lipták
显示剩余2条评论

5
我找到了为什么“validate”选项没有显示的原因。这种情况通常发生在您在本地文件系统中浏览文件时。您应该将文件夹升级为项目,或者只是将XML和XSD文件添加到某个临时项目中。然后,在上下文菜单中,验证以及许多其他选项应该出现。

我在Ubuntu上使用Eclipse 3.5.2。


2
最好将此内容放入您编辑过的答案中,这样人们就能看到它。 - Stabledog
你如何将一个文件夹提升为项目? - hotshot309

1

如果你在顶部声明了XSD文件,它应该会自动地“即时”生成。


谢谢,是的,我已经定义了它,请看我的编辑。但似乎它没有进行任何验证。 - clamp
请参见http://zh.wikipedia.org/wiki/XML_Schema_(W3C)。我已经将这两个文件放入eclipse中,将英国的条目更改为其他内容,例如RU,保存文件 - 结果出现了错误。 - Doron
你甚至不需要保存文件。在你保存之前,它就会显示错误。 - Doron
嗯,你用的是哪个版本的Eclipse?我有Java版的Eclipse。 - clamp
我有PDT(PHP的Eclipse),但XML支持应该在大多数(如果不是全部)版本中都有。 你用哪个版本? 试着下载最新的版本。 - Doron
如果使用schemaLocation https://metamug.com/article/auto-complete-xml-editor-with-xsd-and-validations.html声明xsd,则此代码可行。 - Sorter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接