0
我正在嘗試製作一個允許用戶輸入搜索xml文件的網頁。有多個輸入,但是當提交搜索時我無法容納空輸入。默認情況下用xsl:when測試時返回所有元素?
var date = rDateSearch.value;
if (date === "") {
var datein = "date=*";
}
else {
var datein = "date=" + date";
}
'date'變量然後被髮送到xsl:when
測試。我想xsl:when
返回所有日期值。
有沒有辦法做到這一點?我目前的想法不起作用。
這是我的xml樣本:
<record>
<name>John Smith</name>
<date>1972</date>
<rating>0.5</rating>
</record>
,這是我的XSL。我不確定這段代碼是否合適。
<xsl:for-each select="records/record">
<xsl:choose>
<xsl:when test ="name=*">
<xsl:choose>
<xsl:when test ="date=*">
<xsl:choose>
<xsl:when test ="rating=*">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="date"/></td>
<td><xsl:value-of select="rating"/></td>
</tr>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:for-each>
如果您發佈了XSL,以顯示正在應用'xsl:choose'時的上下文將會有所幫助。瞭解XML的外觀也很有幫助。如果不知道如何應用這個,那麼當沒有'date'的值時,返回'true()'的表達式怎麼樣,以便所有東西都通過'xsl:when'的@test標準呢? –
感謝您的幫助,我已根據要求添加了樣品。 – grainman
那麼,你動態地構造你的XSLT,代替什麼被分配給變量'datein',你現在有'xsl:when test =「date = *」'? –