我对 XML 和 XSLT 还很陌生。我有一个家庭作业要求我们根据一些 XML 数据生成一个页面。它非常简单,所以这里是:
我的 XML 数据如下所示:
<convention>
<title>ABC Web Development Conference</title>
<location>ABC College, San Diego, CA</location>
<date> March 25, 2011 - March 27, 2011</date>
<exhibitor>
<name>John Smith</name>
<address1>1234 2nd Avenue</address1>
<address2></address2>
<city>San Diego</city>
<state>CA</state>
<email>john@john.com</email>
<specialization>
<subject>Web Development</subject>
<subject>Software Design</subject>
</specialization>
</exhibitor>
<exhibitor>
<name>Jane Smith</name>
<address1>1234 First Avenue</address1>
<address2>Ste 123</address2>
<city>San Diego</city>
<state>CA</state>
<email>jane@jane.com</email>
<specialization>
<subject>Web Development</subject>
</specialization>
</exhibitor>
</convention>
基本上,我已将其设置为很好地输出到表格中。当我输出地址 2 时,我的问题出现了。我想这样做,如果地址 2 的字符串长度大于 0,则输出一个逗号。
这是我的 XSL 数据的样子:
<table width="600" border="1" cellspacing="3" cellpadding="5">
<tr>
<td colspan="3" align="center"><xsl:value-of select="convention/title"/></td>
</tr>
<tr>
<td colspan="3" align="center"><xsl:value-of select="convention/location"/></td>
</tr>
<tr>
<td colspan="3" align="center"><xsl:value-of select="convention/date"/></td>
</tr>
<tr>
<th>Exhibitor</th>
<th>Address</th>
<th>Specialization</th>
</tr>
<xsl:for-each select="convention/exhibitor">
<tr>
<td><xsl:value-of select="name"/><br /><xsl:value-of select="email"/></td>
<td><xsl:value-of select="address1"/>, <xsl:value-of select="address2"/> <xsl:value-of select="city"/>, <xsl:value-of select="state"/></td>
<td><xsl:for-each select="specialization/subject"><xsl:value-of select="."/><br /></xsl:for-each></td>
</tr>
</xsl:for-each>
<tr>
<td colspan="3">Total Number of Exhibitors: <xsl:value-of select="count(convention/exhibitor)"/></td>
</tr>
</table>
非常感谢任何帮助:)
最佳答案
你有课本吗?我会给你一些提示,帮助你找到你需要的信息:
xsl:if)如果您不熟悉这些概念,我建议您从您的类(class) Material 中查看更多信息。
祝你好运!
关于xml - XSLT:如果值存在,添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275202/
当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/
我正在使用ruby1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
我希望我的UserPrice模型的属性在它们为空或不验证数值时默认为0。这些属性是tax_rate、shipping_cost和price。classCreateUserPrices8,:scale=>2t.decimal:tax_rate,:precision=>8,:scale=>2t.decimal:shipping_cost,:precision=>8,:scale=>2endendend起初,我将所有3列的:default=>0放在表格中,但我不想要这样,因为它已经填充了字段,我想使用占位符。这是我的UserPrice模型:classUserPrice回答before_val
我有一个ModularSinatra应用程序,我正在尝试将Bootstrap添加到应用程序中。get'/bootstrap/application.css'doless:"bootstrap/bootstrap"end我在views/bootstrap中有所有less文件,包括bootstrap.less。我收到这个错误:Less::ParseErrorat/bootstrap/application.css'reset.less'wasn'tfound.Bootstrap.less的第一行是://CSSReset@import"reset.less";我尝试了所有不同的路径格式,但它
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
我有一个这样的哈希数组:[{:foo=>2,:date=>Sat,01Sep2014},{:foo2=>2,:date=>Sat,02Sep2014},{:foo3=>3,:date=>Sat,01Sep2014},{:foo4=>4,:date=>Sat,03Sep2014},{:foo5=>5,:date=>Sat,02Sep2014}]如果:date相同,我想合并哈希值。我对上面数组的期望是:[{:foo=>2,:foo3=>3,:date=>Sat,01Sep2014},{:foo2=>2,:foo5=>5:date=>Sat,02Sep2014},{:foo4=>4,:dat
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
当谈到运行时自省(introspection)和动态代码生成时,我认为ruby没有任何竞争对手,可能除了一些lisp方言。前几天,我正在做一些代码练习来探索ruby的动态功能,我开始想知道如何向现有对象添加方法。以下是我能想到的3种方法:obj=Object.new#addamethoddirectlydefobj.new_method...end#addamethodindirectlywiththesingletonclassclass这只是冰山一角,因为我还没有探索instance_eval、module_eval和define_method的各种组合。是否有在线/离线资