Xqueryを使用して書籍IDとともに<xref>
データのみを抽出しようとしています(これは初めてです)。ここでXQueryを使用して特定のXMLレコードを抽出し、コンマ区切りの形式で出力するにはどうすればよいですか?
は、入力データである:
出力フォーマット期待<book id="6636551">
<master_information>
<book_xref>
<xref type="Fiction" type_id="1">72771KAM3</xref>
<xref type="Non_Fiction" type_id="2">US72771KAM36</xref>
</book_xref>
</master_information>
<book_details>
<price>24.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML.</description>
</book_details>
</book>
<book id="119818569">
<master_information>
<book_xref>
<xref type="Fiction" type_id="1">070185UL5</xref>
<xref type="Non_Fiction" type_id="2">US070185UL50</xref>
</book_xref>
</master_information>
<book_details>
<price>19.25</price>
<publish_date>2002-11-01</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book_details>
</book>
<book id="119818568">
<master_information>
<book_xref>
<xref type="Fiction" type_id="1">070185UK7</xref>
<xref type="Non_Fiction" type_id="2">US070185UK77</xref>
</book_xref>
</master_information>
<book_details>
<price>5.95</price>
<publish_date>2004-05-01</publish_date>
<description>After the collapse of a nanotechnology
society in England, the young survivors lay the
foundation for a new society.</description>
</book_details>
</book>
<book id="119818567">
<master_information>
<book_xref>
<xref type="Fiction" type_id="1">070185UJ0</xref>
<xref type="Non_Fiction" type_id="2">US070185UJ05</xref>
</book_xref>
</master_information>
<book_details>
<price>4.95</price>
<publish_date>2000-09-02</publish_date>
<description>When Carla meets Paul at an ornithology
conference, tempers fly as feathers get ruffled.</description>
</book_details>
</book>
:私はフォーマット1のために使用してい
<book id="6636551">
<master_information>
<book_xref>
<xref type="Fiction" type_id="1">72771KAM3</xref>
<xref type="Non_Fiction" type_id="2">US72771KAM36</xref>
</book_xref>
</master_information>
</book>
は、XQuery:
for$x in //book_xref/xref
return $x
foの質問rmat 1:ブックIDを別に入力しようとしましたが、これは出力に含まれていますが、上記のフォーマットと一致しません。どのようにフォーマットごとの出力でブックIDを取得するのですか?フォーマット2のための
book_id, xref_type, xref_type_id, xref
6636551, Fiction, 1, 72771KAM3
6636551, Non_Fiction, 2, US72771KAM36
119818569, Fiction, 1, 070185UL5
119818569, Non_Fiction, 2, US070185UL50
etc.
は質問:どのように私は、XQueryを通じて、カンマ区切り形式で出力を得ることができますか?出力フォーマットを(カンマ区切り)期待
そのためにXSLTに固執する必要がありますか?
ご回答いただきありがとうございます。
'book_xref/xref'は' xref'要素を選択します。もし 'book'要素が必要ならば、それらを選択する必要があります。 '// book [.// book_xref/xref]'となります。 –
@MartinHonnenは応答してくれてありがとう。私がそれを行うなら、私は省略しなければならない ''ノードをまだ示しています。私は単に、の中にいくつの他のノードが存在するかにかかわらず、書籍番号とともに「」データを、「」の外側に入れたいだけです。私の質問が理にかなってほしい! –
Fenil
CSV用。 '// book // book_xref/xref/string-join((ancestor :: book/@ id、@type、@type_id、。)、 '、')'となります。 –