Ich versuche, eine Webseite zu erstellen, die Benutzereingaben eine XML-Datei durchsuchen kann. Es gibt mehrere Eingänge, aber ich habe Probleme mit leeren Eingaben, wenn die Suche gesendet wird.Alle Elemente standardmäßig mit xsl: beim Test zurückgeben?
var date = rDateSearch.value;
if (date === "") {
var datein = "date=*";
}
else {
var datein = "date=" + date";
}
Die Variable 'Datum' wird dann an einen xsl:when
Test gesendet. Ich möchte die xsl:when
alle Datumswerte zurückgeben.
Gibt es eine Möglichkeit, dies zu tun? Meine derzeitigen Ideen funktionieren nicht.
Dies ist ein Beispiel meiner xml:
<record>
<name>John Smith</name>
<date>1972</date>
<rating>0.5</rating>
</record>
und das ist mein xsl. Ich bin mir nicht sicher, ob dieser Code geeignet ist.
<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>
Es wäre hilfreich, wenn Sie die XSL gepostet haben, um anzuzeigen, welcher Kontext vorliegt, wenn Ihre 'xsl: choose' angewendet wird. Auch hilfreich zu wissen, wie das XML aussieht. Ohne etwas darüber zu wissen, wie Sie das anwenden, was ist mit einem Ausdruck, der 'true()' zurückgibt, wenn es keinen Wert für 'date' gibt, so dass alles die @test-Kriterien für Ihr' xsl: when' erfüllt? –
Vielen Dank für Ihre Hilfe, ich habe Proben wie gewünscht hinzugefügt. – grainman
Also, konstruieren Sie dynamisch Ihre XSLT, ersetzen Sie das, was der Variablen "datein" zugewiesen wird, wo Sie derzeit 'xsl: wenn test =" date = * "'? –