アイテムが販売されていないタイプの製品を提供するクエリを考え出す必要があります。つまり、アイテムのタイプが衣料品であり、トランザクションのリストに衣料品が表示されない場合、それを表示する必要があります。
これは私の XML ファイルです (超カナダ的で申し訳ありません)。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE store [
<!ELEMENT store (product*, transaction*)>
<!ATTLIST store name CDATA #REQUIRED >
<!ELEMENT product EMPTY>
<!ATTLIST product
name ID #REQUIRED
type CDATA #REQUIRED
price CDATA #REQUIRED
>
<!ELEMENT transaction EMPTY>
<!ATTLIST transaction
products IDREFS #REQUIRED
sumPrice CDATA #REQUIRED
>
]>
<store name="Gordons">
<product name="beaverCoat" type="clothing" price="100"/>
<product name="hockeyStick" type="equipment" price="30"/>
<product name="hockeyPuck" type="equipment" price="5"/>
<product name="icePick" type="equipment" price="40"/>
<product name="mooseMeat" type="food" price="350"/>
<product name="salmon" type="food" price="15"/>
<transaction products="hockeyPuck hockeyStick" sumPrice="35"/>
<transaction products="hockeyStick mooseMeat" sumPrice="380"/>
<transaction products="salmon mooseMeat" sumPrice="365"/>
<transaction products="hockeyStick hockeyStick hockeyStick" sumPrice="30"/>
</store>
望ましい出力
<product name="beaverCoat" type="clothing"/>
何も購入していないカテゴリ(衣料品)の商品だからです。つまり、衣料品を含む取引はありません。
私の試みいくつかのクエリをいじっ てみましたが、うまくいきません。これは私が得た最も近いものです:
//product[@type != //transactions/@products/@type]
これはうまくいくようです - すべての のいずれとも等しくないすべての製品を見つけますが、type
多くのエラーが発生しています。type
transactions
誰かが少し説明して解決策を提供できれば、本当に感謝しています。