xml - 在 XSLT 中创建 map

标签 xml xslt xslt-1.0 saxon

<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/

相关文章:

xml - XPath、平面层次结构和停止条件

xml - 从引用元素中,获取祖先中前面元素出现的次数

c# - 通过 XSLT 显示 C# 控件

xml - 如何创建 boolean 值?

Python:xml.etree.ElementTree.ParseError:格式不正确(无效 token )

xml - 选择两个节点之间的所有 sibling (不包括 sibling )

找不到 XML 注释文件 - Swagger

xml - 是否可以使用 UPnP 和 SOAP 映射端口,以绑定(bind)到我的 http 服务器正在监听的本地端口?

xml - XSLT:获取最新日期

xslt - 将大表拆分为几个小表