首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用xslt和xml制作下拉菜单?

如何使用xslt和xml制作下拉菜单?
EN

Stack Overflow用户
提问于 2014-11-23 06:00:27
回答 1查看 3.6K关注 0票数 0

问题是,当我在.xsl文件中保存下拉列表的代码时,在浏览器中打开我的.xml文件后,我得到了屏幕上显示的.xml文件的所有文本的输出。我在处理下拉列表之前的所有输出都消失了,取而代之的是一个巨大的文本块。我需要出现包含我使用xsl编辑的所有内容的下拉列表。

下拉列表的XML代码:

代码语言:javascript
复制
<selectlist>
    <selectName num="1">
        <memberName>Slash</memberName>
    </selectName>
    <selectName num="2">
        <memberName>Axl</memberName>
    </selectName>
    <selectName num="3">    
       <memberName>Duff</memberName>
    </selectName>
    <selectName num="4">
       <memberName>Izzy</memberName>
    </selectName>
    <selectName num="5">
        <memberName>Steven</memberName>
    </selectName>
    <selectName num="6">
        <memberName>Matt</memberName>
    </selectName>
    <selectName num="7">    
        <memberName>Gilby</memberName>
    </selectName>
    <selectName num="8">
        <memberName>Ashba</memberName>
    </selectName>
    <selectName num="9">
        <memberName>Josh</memberName>
    </selectName>
    <selectName num="10">
        <memberName>Buckethead</memberName>
    </selectName>
</selectlist>

XSL代码(粗体部分负责下拉菜单):

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="*">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="text()">
    <xsl:apply-templates/>
</xsl:template>


<xsl:for-each select="/selectlist/selectName">
    <option VALUE="{memberName}">
        <xsl:value-of select="memberName"/>
    </option>
</xsl:for-each>

</xsl:stylesheet> `

如果我实际上没有注意到一些明显的东西,请原谅,我只是web开发的初学者,xslt给我带来了很大的困难。我们将非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-11-23 06:30:11

您不能仅仅将for-each放在样式表中,它需要是模板的一部分。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/selectlist">
    <xsl:for-each select="selectName">
        <option VALUE="{memberName}">
            <xsl:value-of select="memberName"/>
        </option>
    </xsl:for-each>
</xsl:template>

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

https://stackoverflow.com/questions/27083031

复制
相关文章

相似问题

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