XML ファイルの XSD 後の検証に XQuery を使用しています。「ab」タグが子要素「bc」を持つことができるように、ファイルに階層がありますが、「ab」タグの特定の属性値に対してのみです。「ab」の国属性が USA の場合、子要素「bc」が必要ですが、国が DE の場合、子要素「bc」は省略できます。これを XSD と XQuery のいずれか、または組み合わせて行うにはどうすればよいでしょうか?
以下は私が試したコードです:
私はxpathを使用します:
<Check id="1" type="XQuery" title="bc 0) 'bc must be provided for country USA and BE but not for for DE'"> <XQuery> <Errors> { for $ab in //XDATA/ab, $bc in $ab/bc where ($ab/@country = "USA" or $ab/@country = "BE") and (empty($bc)) return (: Query output :) <Error ln="{$ab/@ln}"> <Case> { data($ab/@countryid) } < </Error> } </Errors> </XQuery> </Check>
よろしくお願いしますBM