0

ASP.Net (VB.Net) を使用して Web ページにレンダリングされた一連のデータがあります。そのデータを XML にエクスポートしたいと考えています。スキーマを生成するコードをいくつか作成しましたが、次に何をすればよいかわかりません。スキーマを XML データと一致させたいと考えています。また、XML コンテンツ用に入力したデータが含まれているスキーマに対して検証されることをコンパイラに確認させたいと考えています。これを行う方法を知っている人はいますか?アイデアは、結果のファイルを Excel で正しいタイプのフィールドで開くことができるようにすることです。

以前に XML ドキュメントを作成したことがありますが、これがプログラムで作成した最初のスキーマ ドキュメントです。ただし、インライン スキーマを使用したことはなく、ドキュメントに追加される XML を厳密に型指定するためにインライン スキーマを使用したことはほとんどありません。

以下を読みましたが、非常に役に立ちましたが、どちらも上記の問題に対処していません。

http://www.aspfree.com/c/a/XML/Generating-XML-Schema-Dynamically-Using-VBNET-2005-Essentials/

http://blogs.msdn.com/b/kaevans/archive/2007/06/05/inline-an-xml-schema-into-your-xml-document.aspx

4

1 に答える 1

0

「... XML コンテンツ用に入力しているデータが、含まれているスキーマに対して検証されることを確認するために、コンパイラーにチェックしてもらいたい」という言葉の意味がわかりません。

コンパイラはそれをチェックしません。プログラムでスキーマに対して XML ドキュメントを検証する場合は、おそらくhttp://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschemavalidator.aspxを使用する必要があります。

しかし、ドキュメントでスキーマをインライン化するために、あなたは一種のあなた自身の質問に答えました。http://blogs.msdn.com/b/kaevans/archive/2007/06/05/inline-an-xml-schema-into-your-xml-document.aspxへの質問の2番目のリンクは、まさにあなたがやろうとしていること。

インライン XML スキーマは、ドキュメント内のドキュメントと考えることができます。Kirk の例を使用すると、最も外側のドキュメントは、未定義の名前空間 (スキーマなし) を使用するコンテナーのようなものです。彼の例では、未定義の名前空間に属する "DerekDoc" のドキュメント ルートを使用しています。好きな名前を付けることができます。

そのルート内には、基本的に2 つのドキュメントがあります。1 つはインライン XML スキーマです。ルートの子要素として追加するだけです。もう 1 つは、XML スキーマに準拠する予定の XML ドキュメントです。xmlns属性を使用して、この要素を XML スキーマで定義された名前空間 (スキーマのターゲット名前空間) に設定する必要があります。

ルート要素をスキーマのターゲット名前空間に設定することはうまくいくかもしれませんが(私は試していません)、クライアントがドキュメントを検証するのは前方参照であるため難しいかもしれません。

于 2012-06-21T19:40:19.343 に答える