0

xsl contains 関数は文字列値を使用します...しかし、searchedforstring の値を動的に割り当てるにはどうすればよいでしょうか? html フォームのテキスト入力フィールドの値を変数に割り当て、これを xsl ドキュメントで検索された文字列の値として使用できるようにする必要があります。

次のスクリプト スニペットは、入力されたテキストの値を取得し、それをグローバル変数 strName* に割り当てます。問題は、検索された文字列の代わりに strName の値を使用することです。

<script language="text/javascript">
var strName;
function nameDetails()
{var strName = getElementById("txtField1").value;}
</script>
4

3 に答える 3

0

あなたの質問は完全に明確ではありませんが、これで十分だと思います。

XML ドキュメント内のノードに値を割り当て、XSL からそれを取得できます (XSL 変数などに割り当てることができます)。その後、XSL で XSL 変数を使用できます。

私が誤解していない限り、その場合は、さらに詳しく説明していただけますか。

于 2009-12-24T11:38:02.443 に答える
0

あなたの質問の内容は、XSL とは何の関係もないようです。XSL の処理にパラメーターを渡す方法を探していると思います。この質問に対する私の答えは、いくつかの手がかりを提供する可能性があります。質問をより詳細に明確にすることができれば、おそらくより具体的な例を定式化できます。

于 2009-12-24T11:57:52.500 に答える
0

アンソニーが指摘したように、スタイルシートでパラメーターを使用して、一致する値を渡すことができるようにしたいと思います。

スタイルシートを使用して、任意の値を渡すことができるパラメーター「作成者」を追加しました。

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="author"/>
  <xsl:output method="html"
     omit-xml-declaration="yes"/>

  <xsl:template match="/">
    <html>
       <head>
       <title>books example</title>
       </head>

    <body>
       <xsl:apply-templates select="//book"/>
    </body>
    </html>
  </xsl:template>


  <xsl:template match="book">
       <xsl:if test="contains(author, $author)">

       <DIV>
         <I><xsl:value-of select="title"/></I> by
         <J><xsl:value-of select="author"/></J> genre
         <B><xsl:value-of select="book_genre"/></B>

       </DIV>
     </xsl:if>
  </xsl:template>
  </xsl:stylesheet>

スタイルシートをどのように呼び出すかはわかりませんが、パラメーターを渡すと次のようになります。

xslProc.addParameter("author", strName);
于 2009-12-25T15:42:02.613 に答える