将XSLT属性解析为一个数组。

我正在使用XSLT从XML创建HTML表单。表格是动态创建的。没有现成的团队模板。用户想要多少输入就有多少输入。我想让它尽可能的短,所以我使用属性来创建例如选择标签中的选项。问题是,我不知道如何将这个XML。

<input mapTo="dropdown" nameId="sampleId" inputDomain="[a, b, c, d, e]" />

变成:

<select id="sampleId">
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
    <option value="d">d</option>
    <option value="e">e</option>
</select>

我的问题正是 inputDomain 属性。我可以修改一个简单的方法,但我想把它保留在一个属性中(像一个数组)。这可能吗?或者你有更方便的想法?

解决方案:

考虑下面的例子。

XML

<input mapTo="dropdown" nameId="sampleId" inputDomain="a,b,c,d,e" />

XSLT 2.0

<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="input">
    <select id="sampleId">
        <xsl:for-each select="tokenize(@inputDomain, ',')">
            <option value="{.}">
                <xsl:value-of select="." />
            </option>
        </xsl:for-each>
    </select>
</xsl:template>

</xsl:stylesheet>

结果

<?xml version="1.0" encoding="UTF-8"?>
<select id="sampleId">
   <option value="a">a</option>
   <option value="b">b</option>
   <option value="c">c</option>
   <option value="d">d</option>
   <option value="e">e</option>
</select>

演示: http:/xsltfiddle.liberty-development.net3MvmXiL

给TA打赏
共{{data.count}}人
人已打赏
解决方案

SQL CTE性能是否取决于声明顺序?

2022-4-21 4:00:11

解决方案

iOS支持Swift包管理器吗?[已关闭]

2022-4-21 4:00:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索