- PR -

妥当性チェックについて

1
投稿者投稿内容
サンダル
会議室デビュー日: 2007/08/09
投稿数: 5
投稿日時: 2007-08-09 17:33
こんにちは。よろしくお願いします。

XMLをスキーマで妥当性チェックをしております。フリーで配布されているソフトやサンプルソースでチェックを通してみたところ、結果が異なり、困っております。

フリーで配布されているソフト → 妥当性エラーなし
C#のサンプルソース     → エラー(型 'XXXXXXXX' は宣言されていないか、simple 型ではありません。)

フリーで配布されいるソフトはJAVAでXercesパーサーを使用してるような感じです。
C#のサンプルソースはMSXMLパーサーのようです。
パーサーによって妥当性チェック結果がことなることがあるのでしょうか?

また、C#のサンプルソースでMSXMLパーサのバージョンを得る術はあるのでしょうか。
(バージョンいくつが動いているのかを知りたい)

よろしくお願いします。

-----------------------------------------------以下C#のソース
String schemaPath1 = "スキーマファイル";
String documentPath = "XMLファイル";

XmlValidatingReader reader = new XmlValidatingReader( new XmlTextReader(documentPath) );

reader.Schemas.Add(null, schemaPath1);

reader.ValidationType = ValidationType.Schema;

XmlDocument doc= new XmlDocument();

doc.Load(reader);
だっちょ
大ベテラン
会議室デビュー日: 2006/12/05
投稿数: 115
投稿日時: 2007-08-10 13:03
基本的に
http://www.w3.org/TR/2006/REC-xml-20060816/
の規約でconstraintとして規定されているものはoptionalでないものは同じように検証されるはずです。
気をつけることとしては、JavaのパーサはDefaultのエラーハンドラはfatalエラーしか例外を投げないので、妥当性エラーを認識する場合は自分でエラーハンドラを作るのだったと思います。
サンダル
会議室デビュー日: 2007/08/09
投稿数: 5
投稿日時: 2007-08-10 15:09
だっちょ さん こんにちは。回答ありがとうございます。

頂いたヒントを元に調べてみます。

ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)