1
以下のXMLファイルには、ITEMS
とITEMTYPES
があります。 ITEMTYPES
は、指定された型の項目を記述します。ITEMS
は、これらの型のインスタンスです。 ITEMTYPE
との関係ITEM
はn:1
子ノードではないデータを取得できるXmlListModelのクエリ
ITEM
ある属性type
によってITEMTYPE
を参照:
<ROOT>
<ITEMS>
<ITEM type="Z"/>
<ITEM type="X"/>
<ITEM type="Y"/>
<ITEM type="X"/>
<ITEM type="Y"/>
<ITEM type="Z"/>
</ITEMS>
<ITEMTYPES>
<ITEMTYPE type="X">
<Color>Red</Color>
<Size>100</Size>
</ITEMTYPE>
<ITEMTYPE type="Y">
<Color>Green</Color>
<Size>200</Size>
</ITEMTYPE>
<ITEMTYPE type="Z">
<Color>Yellow</Color>
<Size>150</Size>
</ITEMTYPE>
</ITEMTYPES>
</ROOT>
にはどうすればITEMTYPE
に対応して定義された各ITEM
情報を提供XMLListModel
のクエリを、作成することができますか?
私の素朴な試みがあった。
XmlListModel {
id: xmlModel
source: "test.xml"
query: "/ROOT/ITEMS/ITEM"
XmlRole { name: "type"; query: "@type/string()" }
XmlRole { name: "size"; query: "../../ITEMTYPES/Size/string()" }
}
もちろん動作しません。私は兄弟を参照する方法も知らず、対応するノードを参照する方法も知らず、ITEM
とITEMTYPE
は同じ属性タイプを持っています。