首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态处理xslt时将数据保存到地图

动态处理xslt时将数据保存到地图
EN

Stack Overflow用户
提问于 2021-06-09 18:09:00
回答 1查看 30关注 0票数 0

我想在xslt中创建动态映射,并根据xslt中的一些条件填充动态映射,我该怎么做呢?我可以看到像下面这样的硬编码映射示例,并将其存储在变量中,但我不希望这样

代码语言:javascript
复制
<xsl:variable name="map">
            <map>
                <entry key="key-1">value1</entry>
                <entry key="key-2">value2</entry>
                <entry key="key-3">value3</entry>
            </map>
        </xsl:variable>
EN

回答 1

Stack Overflow用户

发布于 2021-06-09 19:08:53

直接来自https://www.w3.org/TR/xslt-30/#element-map中的XSLT3规范的是示例

代码语言:javascript
复制
<xsl:variable name="index" as="map(xs:string, element(employee))">
  <xsl:map>
    <xsl:for-each select="//employee">
      <xsl:map-entry key="@empNr" select="."/>
    </xsl:for-each>
  </xsl:map>
</xsl:variable> 

但是,这似乎给出了一个类型错误,除非输入是模式验证的,因此对于非类型化的XML或不支持模式的XSLT,您需要重新定义映射类型或稍微更改一下代码,第二个选项如下所示:

代码语言:javascript
复制
    <xsl:variable name="index" as="map(xs:string, element(employee))">
      <xsl:map>
        <xsl:for-each select="//employee">
          <xsl:map-entry key="string(@empNr)" select="."/>
        </xsl:for-each>
      </xsl:map>
    </xsl:variable>

https://xsltfiddle.liberty-development.net/3MP42MS是小提琴的例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67902000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档