0

ファイル全体ではなく、特定のノードに対する検証を求めていることに注意してください。例えば

<somexmldoc>
    <someNode>
        <UserDefinedNode> </>
        <UserDefinedNode> </>
    </someNode>
</somexmldoc>

この XML ドキュメントには、"UserDefinedNode" を除くドキュメント全体を検証するために使用できる wholeDoc.XSD があります (このノードは xsd で "any" タグで指定され、ユーザーはそのノードの下に何でも定義できます)。

「UserDefinedNode」を検証するために別個の userdefined.XSD ファイルを用意することは可能ですか? これを検証するために MSXML for C++ (IXMLDomDocument) を使用することは可能ですか?

ありがとう!

4

3 に答える 3

1

XSD は DOM ドキュメント全体に適用されますが、DOM フラグメントには適用されません。ただし、フラグメントも有効な XML であるため、それをルートとして別の DOM オブジェクトにコピーしてみませんか? appendChild または cloneNode を活用してこれを実現し、新しい DOM を検証できます。

ところで、指定した DOM フラグメントを検証したい場合は、validateNodeメソッドが役に立ちます。

于 2010-06-10T23:42:03.470 に答える
0

はい、可能です。Microsoft Core XML Services (MSXML) 6.0 SDKをダウンロードすることをお勧めします。この SDKには、その方法を示す C++ サンプル コードが含まれています。

于 2010-06-10T18:35:05.733 に答える
0

可能なはずです。HOW TO: Validate XML Fragments Against an XML Schema in Visual C#.NETというドキュメントを見つけました(こちらを参照)。これは C# ですが、これを翻訳できるはずです :-)

于 2010-06-10T18:40:59.720 に答える