Xml XSLT包含函数

Xml XSLT包含函数,xml,xslt,average,contains,Xml,Xslt,Average,Contains,我想做三件事,显示比1999年更老和更年轻的汽车数量,显示汽车之间的平均价格范围(年份)。并在XML的adtext参数中提取包含文本自动的汽车数量。我已经走了这么远了 我的XML结构: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Uppgift3.xsl"?> <autoads> <ad> <type>

我想做三件事,显示比1999年更老和更年轻的汽车数量,显示汽车之间的平均价格范围(年份)。并在XML的adtext参数中提取包含文本自动的汽车数量。我已经走了这么远了

我的XML结构:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Uppgift3.xsl"?>
<autoads>
    <ad>
        <type>1</type>
        <name>Honda</name>
        <model>XL 1000 V</model>
        <regyear>2001</regyear>
        <price>129900</price>
        <adtext>2001 Honda XL 1000 V, 8.900 km. hög vindruta. Pris 129.900kr,-.  </adtext>
        <addate>20020115</addate>
        <volume>1000</volume>
        <category></category>
    </ad>
    <ad>
        <type>2</type>
        <name>Nissan</name>
        <model>Almera 1.4S</model>
        <regyear>1997</regyear>
        <price>119000</price>
        <adtext>1997 Nissan Almera 1.4S, 5 dörrar, met, 70.000 km. el.spegel/fönster, galv. kaross, c.lås, startspärr, airbag, nedfällb. baks. ABS, ute temp. R/CD, alarm, d.fäste, v.säten, s/v-hj.  EU-godk. full service, servo. Pris 119.000 kr,-.  </adtext>
        <addate>20020118</addate>
        <volume>0</volume>
        <category>5 dörrar</category>
    </ad>
    <ad>
        <type>2</type>
        <name>Mercedes-Benz</name>
        <model>C220 Elegance</model>
        <regyear>1995</regyear>
        <price>209000</price>
        <adtext>1995 Mercedes-Benz C220 Elegance, 4 dörrar, 88.000 km. skinn, klima/automatic, cruise, el.spegel/fönster, alu.fälgar, c.lås, airbag, antispinn,  ABS, ute temp, radio, s/v-hjul, servo, creme skinn. automat. Pris 209.000 kr,-.  </adtext>
        <addate>20020118</addate>
        <volume>0</volume>
        <category>4 dörrar</category>
    </ad>
    <ad>
        <type>2</type>
        <name>Audi</name>
        <model>S8</model>
        <regyear>2000</regyear>
        <price>850000</price>
        <adtext>2000 Audi S8, 4 dörrar, 40.000 km. 4x4, Tiptronic-aut., klimataut., ABS, el.fönster/speglar/säten, soltak, c.lås, servo, airbag, startspärr, antispinn, cruise., alu., träinred., sort skinn, mitttarmstöd., sportssäten, stereo, alarm, s/v-hjul, dragkrok, 17"+18"alu. Pris 850.000 kr,-.  </adtext>
        <addate>20020118</addate>
        <volume>0</volume>
        <category>4 dörrar</category>
    </ad>
    <ad>
        <type>1</type>
        <name>Yamaha</name>
        <model>Thunderace 1000</model>
        <regyear>2000</regyear>
        <price>130000</price>
        <adtext>2000 Yamaha Thunderace 1000, 11.500 km. Röd/Silver,tankväska medföljer. 146hk Pris kan diskuteras vid snabb affär. Pris 130.000 kr,-.  </adtext>
        <addate>20020116</addate>
        <volume>1000</volume>
        <category></category>
    </ad>
    <ad>
        <type>2</type>
        <name>Audi</name>
        <model>A4 1.6</model>
        <regyear>2000</regyear>
        <price>260000</price>
        <adtext>2000 Audi A4 1.6, 4 dörrar, 78.000 km. el.fönster, ABS, alu. airbag, , klima, ESP, navig. plus, TV, evt. inbyte, power box (+30 HK) medföljer. Pris 260.000 kr,-.  </adtext>
        <addate>20020117</addate>
        <volume>0</volume>
        <category>4 dörrar</category>
    </ad>
    <ad>
        <type>2</type>
        <name>Jeep</name>
        <model>Grand Cherokee 2.5TD</model>
        <regyear>0</regyear>
        <price>359000</price>
        <adtext>0 Jeep Grand Cherokee 2.5TD, Stv., 38.000 km. A/C, el.fönster/spegel, 8xalu., c.lås, airbag, R/CD, s/v-hjul, servo. Pris 359.000 kr,-.  </adtext>
    </ad>
    <ad>
        <type>1</type>
        <name>Suzuki</name>
        <model>TL 1000 R</model>
        <regyear>1998</regyear>
        <price>110000</price>
        <adtext>1998 Suzuki TL 1000 R, 8400 km. Pris 110.000 kr,-.  </adtext>
        <addate>20020116</addate>
        <volume>1000</volume>
        <category></category>
    </ad>
    <ad>
        <type>2</type>
        <name>Volkswagen</name>
        <model>Golf 1.8 Pink Floyd</model>
        <regyear>1994</regyear>
        <price>85000</price>
        <adtext>1994 Volkswagen Golf 1.8 Pink Floyd, 4 dörrar, 135.600 km. Eu-godkänd, airbag, el.taklucka, just ratt, metallic, radio/CD/Kass, s/v-hjul, servicebok, servo, stereo. Fullständig service, 1 ägare, 6 högtalare. Pris 85.000 kr,-.  </adtext>
        <addate>20020115</addate>
        <volume>0</volume>
        <category>4 dörrar</category>
    </ad>
    <ad>
        <type>2</type>
        <name>Volvo</name>
        <model>850 2.0 LT</model>
        <regyear>1997</regyear>
        <price>245490</price>
        <adtext>1997 Volvo 850 2.0 LT, Stv., 122785 km. halvskinn, el.spegel/fönster/soltak, fj.c.lås, st.spärr, airbag, just.ratt, rails, nedf.baksäte, m.armstöd, ABS, rad/kass, alarm, dragkrok, s/v-hjul, f.glass, met, garanti, servo. Pris 245.490 kr,-.  </adtext>
    </ad>
    <ad>
        <type>2</type>
        <name>Audi</name>
        <model>A3 1.6 Ambition</model>
        <regyear>1998</regyear>
        <price>180000</price>
        <adtext>1998 Audi A3 1.6 Ambition, 3 dörrar, 88.000 km. s/v-hj. el.fönster, ABS, f.glass, alu. c.lås, servo, airbag, rökfri, stilig bil. Pris 180.000 kr,-.  </adtext>
        <addate>20020117</addate>
        <volume>0</volume>
        <category>3 dörrar</category>
    </ad>
    <ad>
        <type>1</type>
        <name>BMW</name>
        <model>K 1200 RS</model>
        <regyear>2000</regyear>
        <price>195000</price>
        <adtext>2000 BMW K 1200 RS, 4.000 km. sidoväskor, bagagefästen. Pris 195.000 kr,-.  </adtext>
        <addate>20020116</addate>
        <volume>1200</volume>
        <category></category>
    </ad>
    <ad>
        <type>2</type>
        <name>Suzuki</name>
        <model>Baleno 1.6 GLX</model>
        <regyear>1999</regyear>
        <price>175000</price>
        <adtext>1999 Suzuki Baleno 1.6 GLX, Stv., 49.500 km. A/C, el.fönster/speil, c.lås, airbag, rails, ABS, stereo, , servo. Pris 175.000 kr,-.  </adtext>
    </ad>
    <ad>
        <type>1</type>
        <name>Suzuki</name>
        <model>LS 650 Savage</model>
        <regyear>1987</regyear>
        <price>29000</price>
        <adtext>1987 Suzuki LS 650 Savage, röd. Pris 29.000 kr,-.  </adtext>
        <addate>20020116</addate>
        <volume>650</volume>
        <category></category>
    </ad>
    <ad>
        <type>1</type>
        <name>Suzuki</name>
        <model>GS 500 E</model>
        <regyear>1993</regyear>
        <price>31900</price>
        <adtext>1993 Suzuki GS 500 E. Pris 31.900,-.  </adtext>
        <addate>20020117</addate>
        <volume>500</volume>
        <category></category>
    </ad>
    <ad>
        <type>2</type>
        <name>BMW</name>
        <model>520 i</model>
        <regyear>2000</regyear>
        <price>387000</price>
        <adtext>2000 BMW 520 i, Stv., 52.600 km. Skinn, klima, m.f.ratt, el.spegel/fönster, alu.fälgar, c.lås, airbag x 6, antispinn, rails, träint, ABS, rad/cd, alarm, dragkrok, met, servo, Pris 387.000 kr,-.  </adtext>
    </ad>
    <ad>
        <type>1</type>
        <name>Triumph</name>
        <model>Daytona T 595</model>
        <regyear>1997</regyear>
        <price>115000</price>
        <adtext>1997 Triumph Daytona T 595, 13.000 km. Är som ny, karbon anlägg, nya däck, extra tank. Pris 115.000 kr,-.  </adtext>
        <addate>20020115</addate>
        <volume>955</volume>
        <category></category>
    </ad>
    <ad>
        <type>2</type>
        <name>Mitsubishi</name>
        <model>Pajero 2.5 TD</model>
        <regyear>1987</regyear>
        <price>59000</price>
        <adtext>1987 Mitsubishi Pajero 2.5 TD, Stv. 4x4, dragkrok, servo, mycket utr., ingen rost. Pris 59.000 kr,-.  </adtext>
    </ad>
</autoads>

1.
本田
XL 1000 V
2001
129900
2001本田XL 1000 V,8.900公里。hög vindruta。Pris 129.900kr,-。
20020115
1000
2.
日产
阿尔梅拉1.4S
1997
119000
1997年尼桑阿尔梅拉1.4S,5德拉尔,大都会,70000公里。斯佩格尔/芬斯特,加尔文。卡罗斯,c.lås,startspärr,airbag,nedfällb。巴克斯。ABS,ute温度。R/CD、警报、d.fäste、v.säten、s/v-hj。欧盟戈德。全方位服务,伺服。价格为119.000克朗。
20020118
0
5德拉尔
2.
梅赛德斯奔驰
C220优雅
1995
209000
1995年梅赛德斯-奔驰C220雅致,4德拉尔,88.000公里。蒙皮、klima/自动、巡航、el.spegel/fönster、alu.fälgar、c.lås、安全气囊、防自旋、ABS、ute temp、无线电、s/v-hjul、伺服、creme蒙皮。自动装置。普里斯209.000克朗。
20020118
0
4德拉尔
2.
奥迪
S8
2000
850000
2000奥迪S8,4德拉尔,40000公里。4x4,Tiptronic aut,klimataut,ABS,el.fönster/speglar/säten,soltak,c.lås,伺服,安全气囊,startspärr,防旋,巡航,alu,träinred,分类紧身,Mittarmstöd,运动紧身,立体声,警报,s/v-hjul,dragkrok,17“+18”alu。Pris 850.000 kr,-。
20020118
0
4德拉尔
1.
雅马哈
迅雷1000
2000
130000
2000雅马哈迅雷1000,11.500公里。Röd/Silver,tankväska medföljer。146hk磁盘价格见snabb affär。普里斯130.000克朗。
20020116
1000
2.
奥迪
A4 1.6
2000
260000
2000奥迪A4 1.6,4德拉尔,78.000公里。埃尔芬斯特,ABS,alu。安全气囊,klima,ESP,导航。另外,电视,evt。内字节,电源盒(+30 HK)medföljer。Pris 260.000 kr,-。
20020117
0
4德拉尔
2.
吉普车
大切诺基2.5TD
0
359000
吉普大切诺基2.5TD,Stv.,38.000公里。A/C,el.fönster/spegel,8xalu,C.lås,安全气囊,R/CD,s/v-hjul,伺服。普里斯359.000克朗。
1.
铃木
TL 1000 R
1998
110000
1998年铃木TL 1000R,8400公里。普里斯110.000克朗。
20020116
1000
2.
大众
高尔夫1.8粉红色弗洛伊德
1994
85000
1994年大众高尔夫1.8平克·弗洛伊德,4德拉尔,135.600公里。Eu godkänd、安全气囊、el.taklucka、just ratt、金属、收音机/CD/Kass、s/v-hjul、servicebok、伺服、立体声。全勤服务,1ägare,6 högtalare。普里斯85.000克朗。
20020115
0
4德拉尔
2.
沃尔沃汽车
850 2.0升
1997
245490
1997年沃尔沃850 2.0 LT,Stv.,122785公里。halvskinn,el.spegel/fönster/soltak,fj.c.lås,st.spärr,安全气囊,just.ratt,rails,nedf.baksäte,m.armstöd,ABS,rad/kass,alarm,dragkrok,s/v-hjul,f.glass,met,garanti,servo。Pris 245.490 kr,-。
2.
奥迪
A3 1.6抱负
1998
180000
1998年奥迪A3 1.6雄心,3德拉尔,88.000公里。s/v-hj。埃尔芬斯特,ABS,f玻璃,alu。c、 lås,伺服,安全气囊,rökfri,stilig bil。Pris 180.000 kr,-。
20020117
0
3德拉尔
1.
宝马
K1200卢比
2000
195000
2000宝马K 1200 RS,4000公里。西多夫斯科尔,巴加杰夫斯滕。普里斯195.000克朗。
20020116
1200
2.
铃木
Baleno 1.6 GLX
1999
175000
1999年铃木巴莱诺1.6 GLX,Stv.,49.500公里。A/C、el.fönster/speil、C.lås、安全气囊、导轨、ABS、立体声、伺服。Pris 175.000 kr,-。
1.
铃木
你是野蛮人吗
1987
29000
1987年铃木LS650萨维奇,röd。普里斯29.000克朗。
20020116
650
1.
铃木
GS 500 E
1993
31900
1993年铃木GS 500 E.Pris 31.900,-。
20020117
500
2.
宝马
520 i
2000
387000
2000宝马520 i,Stv.,52.600公里。Skinn、klima、m.f.ratt、el.spegel/fönster、alu.fälgar、c.lås、安全气囊x 6、防旋、导轨、träint、ABS、rad/cd、报警、dragkrok、met、伺服、Pris 387.000 kr、。
1.
胜利
代托纳T 595
1997
115000
1997年凯旋代托纳T 595,13000公里。Är som ny,karbon anlägg,nya däck,额外坦克。Pris 115.000 kr,-。
20020115
955
2.
三菱
帕杰罗2.5 TD
1987
59000
1987年三菱帕杰罗2.5TD,Stv。4x4,dragkrok,伺服,乌得拉邦麦科特,英根罗斯特。普里斯59.000克朗。
自动驾驶汽车的总量实际上是一个空白,让我有点困惑,我相信我已经正确地使用了“包含”功能,如果没有,有人能帮我找到正确的方向吗? 这就是我的XSLT目前的样子:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/autoads">
 <html>
  <body>
    <h2>Bilar</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Antal Äldre än 1999</th>
        <th>Antal Yngre än 1999</th>
        <th>Antal Automat</th>
        <th>Genomsnitts pris för bilar äldre än 19999</th>
        <th>Genomsnitts pris för bilar ungre än 19999</th>
      </tr>
      <tr>
         <td><xsl:value-of select="format-number(sum(ad[regyear &lt;= '1999']/volume), '0')"/> </td>
         <td><xsl:value-of select="format-number(sum(ad[regyear &gt;= '1999']/volume), '0')"/></td>
         <td><xsl:if test="contains(ad/adtext, 'automatic')">
         <xsl:value-of select="format-number(sum(ad/volume))"/>
         </xsl:if></td>
         <td><xsl:value-of select="format-number(sum(ad[regyear &lt;= '1999']/price), '0.00')"/></td>
        <td><xsl:value-of select="format-number(sum(ad[regyear &gt;= '1999']/price), '0.00')"/></td>
       </tr>
      </table>
  </body>
  </html>
  </xsl:template>
</xsl:stylesheet>

比拉尔
安塔尔德雷恩1999
安塔尔·恩格雷恩,1999年
安塔尔自动机
基诺姆斯尼茨普里斯弗尔·比拉尔德伦19999
19999年的《基诺主义者》杂志(Genomnits pris för bilar ungreän)

其他人对我如何对上面的代码进行不同的思考有什么意见吗

而不是

     <td>
       <xsl:value-of select=
                     "format-number(sum(ad[contains(adtext, 'automatic')]/volume), '0')"/>
     </td>

产生所需结果的一种方法
     <td>
       <xsl:value-of select=
                     "format-number(sum(ad[contains(adtext, 'automatic')]/volume), '0')"/>
     </td>