我是一名职业类(class)的学生,我被告知要利用 XML 制作 HTML 网页。我需要将 JavaScript 与 XSLProcessor 以及 XSL 一起使用。当我需要在 foreach 上使用 xsl 参数时,问题就出现了。目的是根据 XSL 获取的参数制作一个包含 XML 信息的表。这是我的 XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="ciclo"/>
<xsl:template match="/">
<table>
<xsl:for-each select="/ies/modulos/modulo/[ciclo=$ciclo]">
<tr>
<td><xsl:value-of select="./nombre"/></td>
<td><xsl:value-of select="./horasSemanales"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
这是我正在使用的 XML 片段:
<ies>
<modulos>
<modulo id="0221">
<nombre>Montaje y Mantenimiento de equipos</nombre>
<curso>1</curso>
<horasSemanales>7</horasSemanales>
<ciclo>SMR</ciclo>
</modulo>
<modulo id="0225">
<nombre>Redes locales</nombre>
<curso>1</curso>
<horasSemanales>7</horasSemanales>
<ciclo>ASIR</ciclo>
</modulo>
</modulos>
</ies>
用于将参数加载到 XSL 中的 JavaScript 函数工作正常,我使用 xslProcessor.getParameter() 检查它并且所有 HTML id 都是正确的。
预先感谢您花时间帮助初学者。 :P
最佳答案
使用
select="/ies/modulos/modulo[ciclo=$ciclo]"
而不是
select="/ies/modulos/modulo/[ciclo=$ciclo]"
^
因为您的尝试不是正确的 XPath 语法。
关于javascript - 使用 <xsl : param> on <xsl: for-each> doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50671059/