我想做三件事,显示比 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>
自动驾驶汽车的总数实际上是一个空白,让我有点困惑我相信我已经正确使用了“包含”功能,如果没有,有人可以告诉我正确的方向吗? 这是我的 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 <= '1999']/volume), '0')"/> </td>
<td><xsl:value-of select="format-number(sum(ad[regyear >= '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 <= '1999']/price), '0.00')"/></td>
<td><xsl:value-of select="format-number(sum(ad[regyear >= '1999']/price), '0.00')"/></td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
对于我如何以不同的方式思考上面的代码,还有其他人有任何意见吗?
最佳答案
代替:
<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[contains(adtext, 'automatic')]/volume), '0')"/>
</td>
关于xml - XSLT 包含函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40703116/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我正在尝试用ruby中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了
我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案
我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin
如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只
说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时
我需要一个通过输入字符串进行计算的方法,像这样function="(a/b)*100"a=25b=50function.something>>50有什么方法吗? 最佳答案 您可以使用instance_eval:function="(a/b)*100"a=25.0b=50instance_evalfunction#=>50.0请注意,使用eval本质上是不安全的,尤其是当您使用外部输入时,因为它可能包含注入(inject)的恶意代码。另请注意,a设置为25.0而不是25,因为如果它是整数a/b将导致0(整数)。
我的Gallery模型中有以下查询:media_items.includes(:photo,:video).rank(:position_in_gallery)我的图库模型有_许多媒体项,每个都有一个照片或视频关联。到目前为止,一切正常。它返回所有media_items包括它们的photo或video关联,由media_item的position_in_gallery属性排序。但是我现在需要将此查询返回的照片限制为仅具有is_processing属性的照片,即nil。是否可以进行相同的查询,但条件是返回的照片等同于:.where(photo:'photo.is_processingIS