HTMLフォームに埋め込まれたjavascriptを使用して、主にXSLTスタイルシートのfor eachおよびvalue-ofセクションで、xpath式をXSLTスタイルシートに適用しています。テーブル データ (HTML フォームの領域に HTML テーブルとして表示されている複数の XML 要素データ) をフィルター処理したいと考えています。DVD のタイトルと価格の要素がある場合、すべての DVD のタイトルと価格の情報 (両方の要素) を、価格が 2.00 を超えるものだけを示す表に表示できる述語を含む XPATH 式は何でしょうか? 現時点では、述語を処理してテーブル データをフィルター処理し、2 つの要素のすべての行データを表示することに関して、多くの問題が発生しています。2 つではなく 1 つの要素のみをフィルター処理して表示できる xpath 式があります。
助けてくれてありがとう。
私はxmlファイルで更新しました
<?xml version="1.0"?>
<catalog>
<dvd>
<title>Gone with the wind</title><price>2.00</price>
</dvd>
<dvd>
<title>Independence Day</title><price>3.00</price>
</award>
</catalog>
上記のように、HTML テーブルにタイトルと価格の出力を出力したいと思います。行の出力は、価格 > 2.00 を満たすものです。
XML のコンテンツは単純化されており、さらに多くの DVD 要素が含まれています。XPATH 式を for each の XSLT テンプレートに文字列として渡し、XSLT スタイルシートの select 部分の値を渡しています。
XSLT スニペットを以下に示します。JavaScript では、for each の "*" を、価格 > 2.00 を示す XPATH 式文字列 "price[.>2.00]" に置き換えています。HTMLテーブルの行として、その価格のタイトルも表示できるようにしたい
<xsl:template match="/*/*">
<tr>
<xsl:for-each select="*">
<td><xsl:value-of select="."/></td>
</xsl:for-each>
</tr>
</xsl:template>