2009-09-10 16 views
13

これをXSDで表現できますか?XMLスキーマ(XSD) - ある要素に特定の値がある場合は、別の要素が存在する必要があります。逆の場合は

例: 1つの要素がEmployedMoreThanThirteenWeeksという名前の必須bool要素です。値がfalseに設定されている場合、スキーマでEmploymentDateという名前の別の要素が必要になります。そして値が真であれば、理想的にはEmploymentDate要素は拒否されるべきですが、オプションであると受け入れることができます。

答えて

7

いいえXSDは、構造とデータ型を定義するだけで、リレーションシップは定義しません。要素間にキー参照を追加することは可能ですが、無効なノードを防ぐことはできません。無効な値だけです。

XMLファイルを検証してエラーのレポートを生成するXSLTファイル(XMLスタイルシート)を作成できます。

+2

「いいえ」はスキーマ1.0の正解です。 SchematronまたはXML Schema 1.1はソリューションを提供します。http://www.xfront.com/ExtendingSchemas.html http://www.ibm.com/developerworks/library/x-xml11pt2/ –

0

スキーマは構造体(ツリー)のみを検証し、VALUESは検証しないので(値形式をチェックすることはできますが)、XSD CANTがそうすると思います。 他の検証方法を検討する必要があります。

関連する問題