我正在尝试从 xml 文件开始动态生成问卷。问题是某些问题可能会根据其他答案显示或不显示。我不知道如何在html文件中插入这个依赖。我虽然在点击时插入一个 javascript 函数就足够了,但实际上我无法检索在这种情况下必须显示的问题。
这是我到目前为止的代码:
XML:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<questions>
<question>
<number/>
<title>Which description best suits</title>
<options>
<option>
<checkbox> String 1</checkbox>
<questions/>
</option>
<option>
<checkbox> string 2 </checkbox>
<questions>
<question>
<number/>
<title> Hidden question ?</title>
<options>
<option>
<checkbox> Hidden string 1</checkbox>
<questions/>
</option>
<option>
<checkbox> Hidden string 2 </checkbox>
</option>
</options>
</question>
</questions>
</option>
</options>
</question>
</questions>
XSLT:
<xsl:stylesheet version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/questions/question">
<div id="question">
<h6> <xsl:value-of select="//title"/> </h6>
<xsl:apply-templates select="child::options"/>
</div>
</xsl:template>
<xsl:template match="*/questions/question">
<div id="question" style="visibility:hidden;">
<h6> <xsl:value-of select="child::title"/> </h6>
<xsl:apply-templates select="child::options"/>
</div>
</xsl:template>
<xsl:template match="options">
<div id="options">
<xsl:apply-templates select="child::option" />
</div>
</xsl:template>
<xsl:template match="checkbox">
<input type="checkbox">
<xsl:value-of select="."/>
</input>
</xsl:template>
<xsl:template match="textinput">
<p> <xsl:value-of select="."/> </p>
<input type="input">
</input>
</xsl:template>
<xsl:template match="checkboxInput">
<input type="checkbox"><xsl:value-of select="."/></input>
<input type="input"></input>
</xsl:template>
</xsl:stylesheet>