- - PR -
XMLスキーマの書き方
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-10-10 22:22
お世話になっております。
XMLスキーマの書き方について教えてください。 NGの場合 <Result type="NG"> </Result> OKの場合 <Result type="OK"> <DATA1>100</DATA1> <DATA2>100</DATA2> </Result> 上記のようなXMLが存在した場合、 typeがNGならDATA1 DATA2があればNG typeOKならDATA1 DATA2がなければNGと したいのですが、そういったスキーマを記述できるのでしょうか? よろしくお願いします。 |
|
投稿日時: 2008-10-10 22:30
追加でもう一点教えてください。
OK <Result> </Result> OK <Result> <DATA1>100</DATA1> <DATA2>100</DATA2> <DATA3>100</DATA3> </Result> NG <Result> <DATA1>100</DATA1> <DATA3>100</DATA3> </Result> すべての要素がなければスキーマチェックOK すべての要素があればスキーマチェックOK ひとつでも要素がそろっていなければスキーマチェックNG こういったスキーマはかけるのでしょうか? |
|
投稿日時: 2008-10-13 20:05
茶ぴおと申します。
私自身、勉強中の身なのでご参考までに。 1つ目の方は,W3C XML Schema で書けるかどうかはよく知りませんが, Relax NG なら書けると思います。 以下のところの「付録 B.2.2 属性に依存する内容モデル」あたりが 参考になると思います。 http://www.kohsuke.org/relaxng/tutorial.ja.html もう一つの方は、内容モデルをDTD風に書くと <!ELEMENT Result (Data1, Data2, Data3)? > で良いでしょうか? これで良いなら,W3C XML SchemaやRelaxNGでも書けると思います。 |
|
投稿日時: 2008-10-14 09:34
勉強不足ですいません。
現在スキーマチェックにはxsdをつかっているのですが、 教えていただきましたRelaxNGに置き換えようとすると、 スキーマファイル全体を修正する必要がでてくるのでしょうか? お願いします。 |
|
投稿日時: 2008-10-14 18:54
書き込んだ後に気づいたのですが,W3C XML Schema で書けるかという
話だったんですね。 W3C XML Schema と RelaxNG はどちらもXMLのスキーマ記述言語ですが, 違う言語ですのでスキーマ全体を書き換える必要があります。ただ, そもそも.NET Frameworkのスキーマ定義ツール(xsd.exe?)は RelaxNG を 対象にしていないように見えます。(違っていたらすみません。) RelaxNG も対象とするような代替ツールがあるのかどうかは,すみませんが よく知りません。このあたりについては私自身勉強不足です。 あんまり役に立てなくてすみません。 |
1