0

私は XSLT を初めて使用し、それを処理する方法がわかりません。私のXMLファイルは次のとおりです。

<?xml version="1.0"?>
<books>
  <book>
    <title type="fiction">CS115</title>
    <authors>Adams</authors>
    <price>12.0</price>
  </book>
  <book>
    <title type="fiction">CS205</title>
    <authors>Dykes</authors>
    <price>50.2</price>
  </book>
  <book>
    <title type="nonfiction">CS255</title>
    <authors>Brunner,Computer</authors>
    <price>11.5</price>
  </book>
   <book>
    <title type="nonfiction">CS118</title>
    <authors>Adams,Bououss</authors>    
    <price>20.0</price>
  </book>
   <book>
    <title type="fiction">The Hobbit</title>
    <authors>J.R.R. Tolkien</authors>    
    <price>25.99</price>
  </book>
</books>

価格が 30 未満で、title/@typeがフィクションである本の合計価格を計算したいと考えています。

4

1 に答える 1

3

いくつかの XPath を学習することから始めます。タイトルの type 属性がフィクションであるすべての要素/books/bookを選択し、価格に関する制約を追加し、最後に合計を計算します。book/books/book[title/@type = 'fiction']/books/book[title/@type = 'fiction' and price < 30]sum(/books/book[title/@type = 'fiction' and price < 30]/price)

<XSLT コード内では、 :をエスケープする必要があります<xsl:value-of select="sum(/books/book[title/@type = 'fiction' and price &lt; 30]/price)"/>

于 2013-10-16T09:43:52.427 に答える