1
我有描述汽車集市的XML文檔。汽車城是停車場的集合地。在每個停車場, 有很多車。每輛車屬於一個類別 - 新/舊/租。該文檔如下所示:使用XQuery處理XML - 輸出不正確
<car_mart>
<parking>
<cars>
<car cat="new">
<licence>1PYV582</licence>
<price>1000</price>
</car>
<car cat="new">
<licence>6GD5489</licence>
<price>2200</price>
</car>
<car cat="rent">
<rental>20</rental>
</car>
<car cat="new">
<licence>5FN1254</licence>
<price>1500</price>
</car>
<car cat="rent">
<rental>25</rental>
</car>
<car cat="new">
<licence>6HB4524</licence>
<price>5800</price>
</car>
<car cat="rent">
<rental>10</rental>
</car>
</cars>
</parking>
<parking>
<cars>
<car cat="used">
<licence>8UA1294</licence>
<price>800</price>
</car>
</cars>
</parking>
<!--<parking>
...
<parking>-->
<cat tag="new">
<cat_name>New</cat_name>
</cat>
<cat tag="used">
<cat_name>Used</cat_name>
</cat>
<cat tag="rent">
<cat_name>Rent</cat_name>
</cat>
</car_mart>
我想使用XQuery提取信息。結果應該是這樣的:
<cat id="new" total_cost="10500">
<cat_name>New</cat_name>
<car price="1000"/>
<car price="2200"/>
<car price="1500"/>
<car price="5800"/>
</cat>
<cat id="used" total_cost="800">
<cat_name>Used</cat_name>
<car price="800"/>
</cat>
<cat id="rent" total_cost="55">
<cat_name>Rent</cat_name>
</cat>
到現在爲止,我來到了這片XQuery(3.0)。輸出顯然不正確。
<car_list>{
for $cat in /car_mart/cat
return
<cat id="{$cat/@tag}" total_cost="{sum(/car_mart/parking/cars/car/cost)}">
{$cat/cat_name}
{for $car in /car_mart/parking/cars/car
return
if($car/[@cat=$cat/@tag])
then <car price="{$car/price}"></car>
else()
}
</cat>
}</car_list>
我看到2個主要的問題,我不知道如何解決:
在一個類中,僅該類別的汽車應列出(現在,所有的人都)
該類別
的計數total_sum非常感謝你
非常感謝。第三個問題有幫助(這樣的小事情,它可以改變很多...)。 – arcus