我想将一些 XSD 文件添加到我的 Eclipse XML 目录中,以便它可以验证 XML 文件。不幸的是,XSD 包含并导入了其他 XSD,反过来它们也导入了其他 XSD 文件。
第一个 XSD,BPMN20.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
<xsd:import namespace="http://www.omg.org/spec/BPMN/20100524/DI" schemaLocation="BPMNDI.xsd"/>
<xsd:include schemaLocation="Semantic.xsd"/>
...
第二个 XSD,Semantic.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
<xsd:element name="activity" type="tActivity"/>
<xsd:complexType name="tActivity" abstract="true">
...
Eclipse 立即告诉我无法注册第二个 XSD,因为它使用的名称空间http://www.omg.org/spec/BPMN/20100524/MODEL
与我已经注册了第一个 XSD 的名称空间相同。
是否可以使用 Eclipse 解决 XSD 导入/包含其他 XSD 的问题?我看到很多 XSD 文件引用了其他文件,因此拆分类型或属性定义并将它们保存在不同的文件中似乎很常见。
谢谢乔伊森