2つのスキーマがあります。
まず:2つのスキーマを使用する場合、1つのxmlルート要素のみを許可します。
<?xml version="1.0" encoding="utf-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="ns1"
elementFormDefault="qualified">
<element name="A" type="string"/>
</schema>
第二:
<?xml version="1.0" encoding="utf-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="ns2"
xmlns:ns1="ns1"
elementFormDefault="qualified">
<element name="B">
<complexType>
<sequence>
<element ref="ns1:A"/>
</sequence>
</complexType>
</element>
</schema>
だから、インスタンスXMLに私は2つのルート要素を使用することができます。
例1:
<?xml version="1.0" encoding="utf-8" ?>
<A xmlns="ns1">sdfdfd</A>
例2:
のみ例2を許可する方法<?xml version="1.0" encoding="utf-8" ?>
<B xmlns="ns2"><A xmlns="ns1">sdfdfd</A></B>
?
? –
これは、デジタル署名付きXMLを検証するスキーマが必要なためです。だから私は常にルート要素として 'A'が必要です。もちろん、スキーマなしで検証することはできますが、スキーマの検証中にそれを実行できるかどうかは疑問です。 – Stanislav