3

XML ファイルを検証できるように、いくつかの XSD ファイルを Eclipse 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"/>
...

2 番目の 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">
...

http://www.omg.org/spec/BPMN/20100524/MODELEclipse は、最初の XSD を既に登録したのと同じ名前空間を使用しているため、2 番目の XSD を登録できないことをすぐに教えてくれます。

Eclipse で他の XSD をインポート/インクルードする XSD の問題を解決することは可能ですか? 多くの XSD ファイルが他のファイルを参照しているのを目にするので、タイプまたは属性の定義を分割し、それらを別のファイルに保持することは非常に一般的なようです。

ありがとう

4

1 に答える 1

1

異なる xsd ファイルで同じ名前空間を宣言することは避けてください。名前空間は URI であるため、単一のリソースを識別する必要があります。

名前空間を使用/定義する方法については、このチュートリアルを確認してください: http://www.liquid-technologies.com/Tutorials/XmlSchemas/XsdTutorial_04.aspx

于 2012-07-31T07:31:31.770 に答える