<xsl:variable name="map">
<map>
<item key="Name" value="John"/>
<item key="Address" value="Un_Known"/>
<item key="Phone" value="(878)876678"/>
<item key="Last Name" value="Verner"/>
</map>
</xsl:variable>
<xsl:for-each select "$map/map/item">
<xsl:if test="./@key = $input">
<!-- cool user is asking for something know .. do something fancy -->
</xsl:if>
<xsl:for-each>
我想在 XSLT 中声明一个类似映射的结构,然后访问它。显然,我不想使用额外的 namespace ,因此使用 exsl:node-set 不是我现在正在寻找的解决方案。
我正在使用 XSLT 1.0 Saxon。
有更好的方法来完成我想做的事情吗?
谢谢 卡雷菲尔
下面提到的所有答案都是正确且有效的。我们最终决定使用“exsl:node-set”
感谢您的建议..
最佳答案
如果您正在使用 Saxon,那么很难理解为什么您仍在使用 XSLT 1.0。这种事情(以及许多其他事情)在 XSLT 2.0 中要容易得多 - 现在是您前进的时候了。
关于xml - 在 XSLT 中创建 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12146687/