XML中的条件组合框

XML中的条件组合框,xml,xslt,xpath,xhtml,Xml,Xslt,Xpath,Xhtml,我正在使用XML格式的cd目录,我必须用cd的一些属性制作一个组合框,比如发行年份或国家 我怎么做 我尝试在选项上添加[],如下所示: <select name="Cds"> <option value="catalog/cd[country='USA']"</option> </select> <select name="Cds"> <!-- iterate over the relevant input elements

我正在使用XML格式的cd目录,我必须用cd的一些属性制作一个组合框,比如发行年份或国家

我怎么做

我尝试在选项上添加[],如下所示:

<select name="Cds">
<option value="catalog/cd[country='USA']"</option>
</select>
<select name="Cds">
    <!-- iterate over the relevant input elements -->
    <xsl:for-each select="CATALOG/CD[COUNTRY = 'USA']">
        <!-- for each one, build an option element -->
        <option value="{TITLE}">
            <xsl:value-of select="TITLE"/>
        </option>
    </xsl:for-each>
</select>


XML区分大小写
是不同的标签。

您可能需要这样的标签:

<select name="Cds">
<option value="catalog/cd[country='USA']"</option>
</select>
<select name="Cds">
    <!-- iterate over the relevant input elements -->
    <xsl:for-each select="CATALOG/CD[COUNTRY = 'USA']">
        <!-- for each one, build an option element -->
        <option value="{TITLE}">
            <xsl:value-of select="TITLE"/>
        </option>
    </xsl:for-each>
</select>


请注意,在构建
value
属性时,表达式必须位于花括号内
{}

请发布您的XML输入(一个最小化但完整的示例)和预期的输出。感谢您的观察,但这不是它不起作用的原因。我认为它与“option value”的语法有关,好吧,然后向我们展示真正的XSLT代码。我再做一次“观察”。如果要使用XSLT将值插入属性,则必须使用属性值模板,即大括号。