XSLT link 共享相同值并打印 linked 数据的两个元素之间
XSLT link between two elements that share the same value and print the linked data
我已经开始学习 xml/xslt 和 xsl-fo,在做一些基本练习时我遇到了一个小问题。
我正在尝试使用 <category>
和 <priceCategory>
将图书 link 调整到它们的类别价格。不知道要搜索什么,在浏览 Whosebug 时我发现我可以使用一个键,就像这样。
<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>
但到目前为止我没有成功,任何人都可以帮助我提供一些文档或 example/explanation,我想我没有在寻找正确的东西,我找不到适合这种类型的词问题。
这是一个例子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>
我已经开始学习 xml/xslt 和 xsl-fo,在做一些基本练习时我遇到了一个小问题。
我正在尝试使用 <category>
和 <priceCategory>
将图书 link 调整到它们的类别价格。不知道要搜索什么,在浏览 Whosebug 时我发现我可以使用一个键,就像这样。
<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>
但到目前为止我没有成功,任何人都可以帮助我提供一些文档或 example/explanation,我想我没有在寻找正确的东西,我找不到适合这种类型的词问题。
这是一个例子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>