私は、ユーザーの入力がXMLファイルを検索できるようにするWebページを作成しようとしています。複数の入力がありますが、検索が実行されると空の入力に対応できません。デフォルトですべての要素をxsl:で返す?
var date = rDateSearch.value;
if (date === "") {
var datein = "date=*";
}
else {
var datein = "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を動的に構築して、現在 'xsl:when test =" date = * "'という変数を 'datein'変数に代入していますか? –