xsd(複数のスキーマを持つ)に対して検証したいxmlがあります。 XMLは以下の通りである。xmlが名前空間接頭辞なしで検証されていない
<?xml version="1.0" encoding="utf-8"?>
<Interchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.abc.com.au/eApplications/Interchange/4.2">
<InterchangeID>19768</InterchangeID>......</Interchange>
このXMLが検証に合格しなかったと私は次のエラーを与えていた。
xmlns:ns="http://www.abc.com.au/eApplications/Interchange/4.2"
:私はこのようなXMLで名前空間を導入
The 'http://www.abc.com.au/eApplications/Interchange/4.2:Interchange' element is not declared.
のような名前空間接頭辞を導入しなかったとしても、エラーはなくなりました。 回の
私の調査結果: 私は紹介するいずれかの場合、XMLが検証に合格:定義されたすべての名前空間の参照を含むNS名前空間としてか(親インターチェンジタグの後に)完全に行を削除すると、そのようにそれを維持します:
明らかに良くない。
私は方法でこの問題を解決することができたものの前述したが、私は多くのリンクthisを経た後に、それを見つけることができなかったとして、この背後にある理由を知りたい、A Ten-Minute Guide to XML NamespacesとXML Namespaces Explained
編集 私はここでXSDを装着しています:
enter code here
<xs:schema xmlns:eapp="http://www.abc.com.au/eApps/iChange/4.2"
elementFormDefault="qualified"
targetNamespace="http://www.abc.com.au/eApps/iChange/4.2"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="abc_datatypes.xsd"/>
<xs:complexType name="abcType">
<xs:sequence> </xs:sequence>
</xs:complexType>
</xs:schema>
and the xml sample that passes validation is something like:
<soapenv:Envelope xmlns:soapenv="url"
xmlns:orig="url/OServices" xmlns:ns="http://url/eApps/IChange/4.2">
<soapenv:Header/>
<soapenv:Body>
<or:Originate>
<!--Optional:-->
<or:data>
<ns:InID>2229</ns:InID>
<ns:ReceiverID>CFS</ns:ReceiverID>
</or:data>
</or:Originate>
</soapenv:Body>
</soapenv:Envelope>
'Interchange'要素のXSD定義は何ですか? – kennyzx
デバッグヘルプ(「なぜこのコードは機能していませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:[mcve]を作成する方法。 – kjhughes
名前空間接頭辞を削除すると、ルートノードは完全に未知のノードになり、未知のノードはエラーではなく警告として扱われます。 「[XDocument.Validateは常に成功しました]」(http://stackoverflow.com/q/17232575/3744182)を参照してください。一般に、グローバルに定義された要素はすべてルート要素になります。[XML Schema:root element](http://stackoverflow.com/q/8854144/3744182)を参照してください。これは、エラーではない警告である可能性があります。 – dbc