共享相同值的两个元素之间的XSLT链接并打印链接的数据



我已经开始学习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>

相关内容

  • 没有找到相关文章

最新更新