- PR -

XMLとjavascriptの変数指定

1
投稿者投稿内容
buriki8
会議室デビュー日: 2005/02/03
投稿数: 5
投稿日時: 2005-03-01 13:51
XMLを使って用語集を作成しようと思っています。

実現したいことは、

XMLに用語と用語の意味を記述しておき、(glossary.xml)
XSLを使って縦にズラッと長いHTML表示をする(glossary.xsl)
親ウィンドウから用語(例えば「ブラウザ」)のリンクをクリックすると
子ウィンドウとして『glossary.xml』のページが開く、
そのときテキストリンクにアンカータグを埋めておき、
縦に長い用語集の「ブラウザ」の場所が表示される。

というものです。
<script type="text/javascript" version="1.3">

function win_open(url,name,features) {
window.open(url,name,features);
}

</script>

<a href="javascript:;" onclick="win_open('../../misc/glo.xml#(ここに変数を使いたい)','glo','width=505,height=400,scrollbars=yes');">ブラウザ</a>


親のテキストリンクをクリックすると固定サイズの
別ウィンドウで用語集が開くようにするために
javascriptを使いました。
onClick内にリンク先とアンカー名を指定したいのですが、
アンカー名を#のあとに変数で指定することができません。

技術にこだわりがあるわけではありません。実現したいことが
できればどのような方法でも良いのでお教え願えませんでしょうか。

[ メッセージ編集済み 編集者: buriki8 編集日時 2005-03-01 13:52 ]
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-03-01 15:29
このHTMLはXSLで出力するものですよね? であれば、XSLでそこに該当するアンカーを出力
すればよいと思うのですが。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2005-03-01 15:52
7.6.2 アトリビュート値テンプレート
http://www.infoteria.com/jp/contents/xml-data/REC-xslt-19991116-jpn.htm#dt-attribute-value-template
中括弧 ({}) で囲むことによって式を使用できる。
buriki8
会議室デビュー日: 2005/02/03
投稿数: 5
投稿日時: 2005-03-03 19:33
UK様 MMX様ご回答有難うございました。

子ウィンドウのXMLはXSL出力でアンカーを指定できたのですが、親ウィンドウに使うXSLがいくつかのファイルに共通して使うものでして、そのまま書き込むと共有化の意味がなくなってしまうためjavascript内で変数を使おうとしました。説明が足りず申し訳ございませんでした。

中括弧を使っての方法で、用語集ページの動作がうまくいきました。
しかしjavascript内のアンカーに変数を指定することができませんでした。
変数を使おうとすると、XMLの構造としてエラーが出てしまいます。

XMLやXSLの知識が未熟であるため、どのような方法があるのかもわかっておりません。
こうすれば良いかもしれないというような書き込みでも、調べる取っ掛かりになりますので非常にありがたいです。よろしくお願い致します。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2005-03-07 11:47
変数といっても色々
XPath式で使えるのは、元が xsl:variable や ドキュメントから引き出せる
XSLTの変数です、たいていはこれでOK、
JavaScriptの変数は 作用する 「時点」が違うからドーでしょう
UNIXシェルスクリプトのように 動的に毎回、文字列展開+解釈実行
ではないですから。
1

スキルアップ/キャリアアップ(JOB@IT)