【发布时间】:2011-06-26 14:44:37
【问题描述】:
我正在尝试让 Eclipse 验证我创建的 XML 文件是否针对我也创建的架构,但它不起作用,我在上下文菜单中没有“验证”条目。
我正在使用带有 ADT 10.0.1 的 Eclipse 3.6.2,在帮助 -> 关于 -> 安装详细信息,插件选项卡中我有 Eclipse XML 编辑器和工具版本 1.1.103。
根据我在 Eclipse 的网站上找到的内容和关于 SO 的其他问题,我应该能够右键单击 XML 文件并单击“验证”。我的上下文菜单没有“验证”条目,我发现的所有内容都假定它在那里。我进入了 Eclipse Preferences -> XML -> XML Files -> Validation 并勾选了“启用标记验证”,但这并没有改变任何东西..
在保存 XML 文件时,将 noNamespaceSchemaLocation 值更改为不正确的值不会给我任何错误。我不知道我在这里错过了什么
这个想法是让 Eclipse 中的属性窗格显示一个显示有效值的元素“名称”属性的下拉列表,我希望一旦我可以针对 XSD 进行验证,就会发生这种情况。
类似问题
eclipse: validate xml with xsd 就像我一样,即使答案被接受,也没有找到解决方案。评论提到已安装的 Web Tools Platform。
XML validation and auto-complete in Eclipse我已经做了接受的答案提到的事情
文件
它们可能很糟糕,我以前没有做过太多 XML。
res/xml/magicks.xml:
<?xml version="1.0" encoding="utf-8"?>
<magicks xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="magicksschema.xsd">
<magick name="Haste" description="Increases the wizard's movement speed by up to double for 10 seconds.">
<combination>
<element name="Lightning"/>
<element name="Arcane" />
<element name="Fire" />
</combination>
</magick>
</magicks>
res/xml/magicksschema.xsd:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="magicks">
<xs:complexType>
<xs:sequence>
<xs:element name="magick" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="combination">
<xs:complexType>
<xs:sequence>
<xs:element name="element" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Water" />
<xs:enumeration value="Life" />
<xs:enumeration value="Shield" />
<xs:enumeration value="Cold" />
<xs:enumeration value="Lightning" />
<xs:enumeration value="Arcane" />
<xs:enumeration value="Earth" />
<xs:enumeration value="Fire" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="description" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
编辑
- 将架构更新为 @Per Normann 的版本
【问题讨论】:
标签: xml eclipse validation