- - PR -
GETされた値をXSQLからXSLへ渡す方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-05-10 22:04
つい最近xsqlとxslをはじめたものです。
http://sample/aaa.xsql?no=100&code=2000 上記にて、GETされたno=100とcode=2000をbbb.xsqlに投げて、結果no=100とcode=2000とsqlにて獲得されたnameの3つを表示させたいのですが、no=100とnameは表示できていますが、code=2000を表示させることができません。 bbb.xsqlにcode=2000のパラメータを受け入れて、そのままxslに引き渡す処理?をお教えください。もともと考え方が違っているかも知れませんので、ご指摘くだされば幸いです。よろしくお願いします。 【bbb.xsql】 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="bbb.xsl"?> <xsql:query connection="xml" xmlns:xsql="urn:oracle-xsql"> select name from dept where id = '{@no}' </xsql:query> |
|
投稿日時: 2002-05-13 19:33
手元に実行環境がないので、動作未確認ですが。
例えば次のように記述して 【bbb.xsql】 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="bbb.xsl"?> <result connection="xml" xmlns:xsql="urn:oracle-xsql"> <code>{@code}</code> <xsql:query> select name from dept where id = '{@no}' </xsql:query> </result> 実行結果はたぶん次のようになるので <result> <code>2000</code> <ROWSET> <ROW num="1"> <name>XXX</name> </ROW> </ROWSET> </result> スタイルシートで次のように書けばcodeの値を 処理できるのではと思うのですが。 <xsl:template match="/"> <xsl:value-of select="result/code"/> </xsl:template> |
|
投稿日時: 2002-05-14 12:42
回答ありがとうございました。
早速変更して実施してみました。 結論から、実行結果は下記のようになり、code=2000はパラメータとして受け渡っていない?ものとなりました。 <result> <code>{@code}</code>←値でなく、そのまま出力されている。 <ROWSET> <ROW num="1"> <name>XXX</name> </ROW> </ROWSET> </result> 【bbb.xsql】 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="bbb.xsl"?> <result connection="xml" xmlns:xsql="urn:oracle-xsql"> <code>{@code}</code> : : ちなみに、bbb.xsqlの<code>{@code}</code>を<code>123456</code>に時下に入力すると結果はうまく表示されます。 http://sample/demo/aaa.xsql?no=100&code=2000 からbbb.xsqlに渡す時、単純に変数として渡っていないのでしょうか? 回答を付けていただいて、ありがとうございました。 |
|
投稿日時: 2002-05-14 12:59
例えば次のようにすればいかがですか?
<xsql:query> select '{@code}' AS code from DUAL </xsql:query> |
|
投稿日時: 2002-05-14 13:04
次のようにすれば、XSQLに渡されたパラメータの一覧を
参照することができます。 <xsql:include-request-params/> |
|
投稿日時: 2002-05-14 22:55
再度書き込みありがとうございました。
ご指摘のとおり下記のアクションハンドラーを使用することで解消できました。 <xsql:include-request-params/> 助かりました。ありがとうございました。 |
1