コメントで XSD を投稿できないと述べているため、まだ問題が発生している最も単純なケースを作成する必要があります。QT が何をするのかはわかりませんが、コメントで質問に答えてください。実際、Xerces ベースのパーサーはそれを行います。
問題の構造を示す簡単なケースをお手伝いします。
スキーマ.xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
<xs:include schemaLocation="ComplexTypes.xsd"/>
<xs:element name="a" type="aType"/>
</xs:schema>
ComplexTypes.xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
<xs:include schemaLocation="SimpleTypes.xsd"/>
<xs:complexType name="aType">
<xs:sequence>
<xs:element name="b" type="bType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
SimpleTypes.xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
<xs:simpleType name="bType">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
a.xml:
<?xml version="1.0" encoding="utf-8"?>
<a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="SCHEMA.xsd"><b>1</b></a>
Xerces ベースのパーサーは、上記がそのまま有効であると報告しますが、を;a.xml
に変更すると無効になります。必要なすべての XSD が正常に検出されます。1
2
ただし、XSD ファイル名、ディレクトリ、URL、名前空間などの仕様に関して、単純なミスステップが頻繁に行われていることに注意してください。そのため、実際の XSD (または、まだ問題が発生している簡素化されたバージョン) を投稿することをお勧めします。 . 上記のファイルを試して、QT がこれらの XSD をすべて見つけられるかどうかを確認することをお勧めします。xs:include
可能であれば、 orxs:import
ステートメントの特定の使用法に焦点を当てる必要があることがわかります。フォローアップがあればコメントしてください。お役に立てれば。