这个XSLT片段能更简洁吗?
在下面的代码片段中,我有3个用于每个的,但在我看来,它们应该能够组合成一个。它按原样工作,但我想知道是否有人知道一种更优雅的书写方式这个XSLT片段能更简洁吗?,xslt,xpath,xslt-1.0,Xslt,Xpath,Xslt 1.0,在下面的代码片段中,我有3个用于每个的,但在我看来,它们应该能够组合成一个。它按原样工作,但我想知道是否有人知道一种更优雅的书写方式 <xsl:for-each select="/essentials/webservice"> <xsl:for-each select="document(@filename)/productSearchResponse/products/product"> <xsl:sort sele
<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>
是的,我试过了。在我看来,它应该像您所做的那样简单,就像组合一样,但只有当我将它分解为单独的xml时,它才似乎起作用。我没有提供输入xml,因为我认为它在语法方面是显而易见的。如果这是一个问题,我可以制定一个简化的案件,并重新提交。是的,请这样做。根据哪些项目是重复结构,可能需要考虑一些因素。另外,请告诉我们预期的结果。谢谢@JLRishe-对我来说,将每个结果减少到两个就足够了。
<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>