【发布时间】:2014-03-18 03:34:30
【问题描述】:
我手动将xsd添加到eclipse目录(Window > Preferences > XML > XML Catalog > add)
或通过 WST 使用 catalogContribution
这是 XSD:
<xs:include schemaLocation="xmlCommon.xsd" />
<xs:include schemaLocation="xmlStateProvider.xsd" />
<xs:element name="tmfxml">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element maxOccurs="unbounded" minOccurs="0" name="stateProvider" type="stateProvider" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
从这个 XSD 生成的 xml 是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="xmlDefinition">
</tmfxml>
当我尝试验证下面显示的 XML 时,它给了我这个警告:
文档中没有引用语法约束(DTD 或 XML 模式)
形成我放入 XML 文件中的任何符合 XML 标准的内容,除了下面引用的警告(意味着它与 XSD 无关)之外,没有错误得到验证
当我将 xsi:noNamespaceSchemaLocation 中指定的路径更改为这样的绝对路径时:
<?xml version="1.0" encoding="UTF-8"?>
<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/home/l3727/workspace/linuxtools2/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd">
</tmfxml>
完美运行。 没有更多警告,当我尝试放置一个随机 XML 标记然后尝试验证 XML 文件时,它给了我一些错误。
有没有办法自动生成一个没有此警告的 XML,以便正确验证它?
【问题讨论】:
标签: xml eclipse eclipse-plugin eclipse-rcp xml-validation