gpt4 book ai didi

xslt - 这个XSLT代码段可以更简洁吗?

转载 作者:行者123 更新时间:2023-12-03 16:19:17 25 4
gpt4 key购买 nike

在下面的代码段中,我有3个for-for,但在我看来,它们应该能够合并为一个。它按原样工作,但是我想知道是否有人知道一种更优雅的编写方式?

    <xsl:for-each select="/essentials/webservice">
<xsl:for-each select="document(@filename)/productSearchResponse/products/product">
<xsl:sort select="producingRegion" order="ascending"/>
<xsl:for-each select="producingRegion[not(preceding::producingRegion=.)]">
<xsl:value-of select="."/>
<br/>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>

最佳答案

在不知道输入XML的预期结果和结构的情况下很难给出答案,但是我认为这应该可行。

<xsl:for-each select="/essentials/webservice">
<xsl:for-each select="document(@filename)/productSearchResponse/products/product/producingRegion[not(preceding::producingRegion=.)]">
<xsl:value-of select="."/>
<br/>
</xsl:for-each>
</xsl:for-each>


编辑:我只是注意到document(@filename)是一个函数调用,而不是节点测试。在这种情况下,我认为您需要两个 for-each

您可以通过在XPath表达式中使用双斜杠来使其更加简洁,尽管我倾向于认为这不是一个很好的做法:

<xsl:for-each select="/essentials/webservice">
<xsl:for-each select="document(@filename)//producingRegion[not(preceding::producingRegion=.)]">
<xsl:value-of select="."/>
<br/>
</xsl:for-each>
</xsl:for-each>

关于xslt - 这个XSLT代码段可以更简洁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com