我已经开始学习xml/xslt和xsl-fo,在做一些基本练习时,我遇到了一个小问题。
我正试图使用<category>
和<priceCategory>
将这些书与它们的分类价格联系起来。不知道该搜索什么,在浏览stackoverflow时,我发现我可以使用这样的键。
<xsl:key name="link" match="priceCategory" use="priceCategory"/>
并使用打印值
<xsl:for-each select="bookstore/books/mybook">
<xsl:value-of select="name"/>
<xsl:value-of select="key('link', money/prices/price)/priceCategory"/>
</xsl:for-each>
但到目前为止,我还没有成功,任何人都可以帮助我提供一些文档或示例/解释,我认为我没有找到合适的东西,我找不到适合这类问题的词。
这是一个XML:示例
<bookstore>
<books>
<mybook>
<name>bookname1</name>
<pages>350</pages>
<category>A</category>
</book>
<mybook>
<name>bookname2</name>
<pages>150</pages>
<category>B</category>
</book>
<mybook>
<name>bookname3</name>
<pages>450</pages>
<category>B</category>
</book>
<mybook>
<name>bookname4</name>
<pages>550</pages>
<category>C</category>
</book>
<books>
<money>
<prices>
<price>50</price>
<priceCategory> A </priceCategory>
</prices>
<prices>
<price>100</price>
<priceCategory> B </priceCategory>
</prices>
<prices>
<price>150</price>
<priceCategory> C </priceCategory>
</prices>
</money>
</bookstore>
谢谢:(
我想你想显示该类别的价格吗?如果是,你可以使用这个:
<xsl:key name="link" match="prices" use="priceCategory"/>
当将密钥调用为"时,该密钥将使用priceCategory在价格上匹配;过滤器"。
<xsl:for-each select="bookstore/books/mybook">
<xsl:value-of select="name"/>
<xsl:value-of select="key('link', category)/price"/>
</xsl:for-each>