0

私は、Excel スプレッドシートを、スキーマに対して検証する必要がある xml ドキュメントに変換することに取り組んでいます。現在、DOM API を使用して xml ドキュメントを構築しており、最後に SAX とカスタム エラー ハンドラを使用して検証しています。ただし、Excelドキュメントを解析するときに各セルから生成されたxmlを検証できるようにして、問題のあるセルをよりわかりやすい方法で示すことができるようにしたいと考えています。

私が現在直面している問題は、単純型の xml を検証した後、それらが複合型に組み込まれると、すべての子ノードが再度検証され、冗長なエラーが発生することです。

SO でこの質問を見つけましたが、C# と Microsoft API を使用しています。

考え?ありがとう!

4

4 に答える 4

2

申し訳ありませんが、問題は発生していません。XMLを作成しているので、作成中にXMLを検証する意味は何ですか?

セルの内容を検証しようとしていますか?はいの場合は、検証ロジックをコードに記述します。この検証ロジックはスキーマを複製する可能性がありますが、実際にはスキーマよりもはるかに詳細になると思います。

プログラムの出力を検証しようとしていますか?はいの場合は、単体テストを記述します。

于 2010-01-05T13:11:58.743 に答える
1

したがって、私が採用することに決め、ほぼ実装が完了した解決策は、XSD を解析するために XSOM を使用することでした。Excel ファイルを解析するときよりも、解析された XSD で列名を検索して制限を引き出し (列ヘッダーは XSD の単純な型にマップされるため)、制限に対して手動で検証を行いました。セル レベルでキャッチできないものがいくつかあるため、ツリーの最後に XSD に対して XML ツリー全体を検証できるように、まだツリーを構築しています。

ご意見をお寄せいただきありがとうございます。

于 2010-01-06T00:55:12.707 に答える
0

複数レベルの粒度でスキーマを構築してみてください。単純な (セル) ものを最も粒度の高いものに対してテストし、複雑なもの (行?) を複雑な型を分解しないより粒度の低いスキーマに対してテストします。

于 2010-01-04T22:22:49.750 に答える