- - PR -
XMLSchemaについて質問
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-12-23 23:00
XMLSchemaについて質問です。
ex) <TAG1>aaa</TAG1> <TAG2>aaa</TAG2> ↓ 処理1 ex2) <TAG1>aaa</TAG1> <TAG2>bbb</TAG2> ↓ 処理2 上記のようにTAG1とTAG2の値を比較して同じなら処理1、 違っていたら処理2としたいのですが、そのようなことはできるのでしょうか? (処理1や処理2にはエラーにするという意味も含んでいます) XMLSchemaには変数のように値を保持するようなものがないようなので どのように比較していいのかわかりません。 わかる方がいらっしゃいましたら是非教えてください。 宜しくお願い致します。 |
|
投稿日時: 2003-12-23 23:18
データ(Infoset)の構造や値の制約条件を書けるが、
動作(アクション)は書けません。そういうものです 検証パーサーは条件の破れをアプリに報告だけします。 各種の動作はXMLSchemaを使うアプリの仕事です。 あるいは○○フレームワーク。 データの制約条件でXMLSchemaで記述できないのも あります。 XSLT をデータの検証に使うアプローチもあります。 |
|
投稿日時: 2003-12-24 10:20
ご回答ありがとうございます。
動作(アクション)を記述できない点、了解いたしました。 質問を変えます。 上記例のTAG1とTAG2の値が同じでなければならないという制約は作ることはできますか? もし出来るのなら方法を教えて頂けませんでしょうか。 宜しくお願い致します。 [ メッセージ編集済み 編集者: hana 編集日時 2003-12-24 10:22 ] |
|
投稿日時: 2003-12-24 14:37
型の制約を主体にしてますから
値どうしの制約(DBの項目間の関数依存性のようなもの) はほとんどできないのでは。記述例をみたことはありません XSLT では 形として <xsl:template match="/"> <xsl:if test="TAG1 != TAG2"> <xsl:comment>TAG1 ≠ TAG2 です ルールやXMLSchemaから検証のXSLTを生成するタイプは Beyond W3C XML Schema http://www.xml.com/lpt/a/2002/04/10/beyondwxs.html An Introduction to Schematron http://www.xml.com/lpt/a/2003/11/12/schematron.html Combining RELAX NG and Schematron http://www.xml.com/lpt/a/2004/02/11/relaxtron.html ここでは、共起関連を検査してます。 Topologi Schematron Validator http://www.topologi.com/products/validator/index.html Validation Language は RelaxNG も含めて今は熱いです。 先週の XML 2003 コンファレンスのニュースは翻訳サイトに投げて 読みましょう。(直近の仕事には使えませんが) XML 2003 session report: News from the world of DSDL http://www.xmlhack.com/read.php?item=2120 聴衆からの別の質問は、WXSがNRLの中のサブ木を有効にするために使用 される場合、ポスト図表確認Infoset(PSVI)がどのように扱われる かでした。クラークは答えました:「DSDL世界視界では、PSVIはありま せん。確認の出力は純粋にエラー情報です。」 [ メッセージ編集済み 編集者: MMX 編集日時 2004-02-17 17:29 ] |
|
投稿日時: 2003-12-24 20:57
ご回答ありがとうございます。
やはりそうですよね。 別の方法(Schema以外)を考えてみます。 ありがとうございました。 |
1