私はXmlDに対してXmlを検証するためにXmlReaderを使用しています。XmlSchemaValidationException: 'B'要素が宣言されていません
私は、このXMLにこのスキーマに対して
<?xml version="1.0" encoding="utf-8" ?>
<A><B>sdf</B></A>
を検証:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="B" type="xs:string" />
<xs:element name="A">
<xs:complexType>
<xs:sequence>
<xs:element ref="B"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
検証はOKです。
しかし、私は、名前空間追加した場合:
<?xml version="1.0" encoding="utf-8" ?>
<A xmlns="myns"><B>sdf</B></A>
と対応するスキーマ:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="myns">
<xs:element name="B" type="xs:string" />
<xs:element name="A">
<xs:complexType>
<xs:sequence>
<xs:element ref="B"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
を私はSystem.Xml.Schema.XmlSchemaValidationExceptionを受け入れる 'B' 要素が宣言されていません。 これはなぜ発生するのですか?名前空間を追加するにはどうしたらいいですか?
+1は、スキーマBからスキーマAを抽出することを示唆しています。それは私を助けました! :) – Learner