Calender
Sun Mon Tue Wed Thu Fri Sat
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< June 2019 >>
広告
SEARCH

SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
LINKS
PROFILE
OTHERS
SKYPE
PC: skype.jojo.jp
chat
iPad: iphone.jojo.jp
chat call
THANKS



本日:
昨日:
多言語
広告
 ▼▲ 作業日報 ▼△
    What's under the hood?
<< PHPのヒアドキュメント、$文字に注意 | main | クワッドモニタ仕様にしました (MARMGUS12W) >>
XSLでのXHTML出力時のSCRIPT、TEXTAREAタグ
 XSLでXHTML出力の際にJavaScriptやTextareaなどのタグを書く際、ついつい下のように書いてしまいますが動作しません
<script type="text/javascript" src="./lib/hogehoge.js"/>
     
<script Language="JavaScript" src="./hogehoge.js"/>
     
<textarea rows="10" cols="10"/>
 
 これはHTMLの仕様なのか調べていないので分かりませんが、IEでもFireFoxでもSCRIPTやTEXTAREAタグは明確なクローズ側のタグが必要でシングルノードでの利用はNGのようです
 HTMLでシングルノードの<textarea/>を書いてみると、以後の</textarea>が見つかるまでのHTMLをデータとして表示してしまいます

 又、XSL中にクローズタグとセットで書いたとしても、XSLをDOMにロードした時点で「<script></script>」→「<script/>」に変換され、結果的にシングルノードのタグにまとまってしまい問題が出ます

以下のようにすることで回避できます(SCRIPTタグの場合)
(1)XSLのコメントを記述
<script Language="JavaScript" src="./lib/configure.js"><xsl:comment /></script>
 
(2)ダミー文字を挿入(コメントや全角空白等)
<script Language="JavaScript" src="./lib/configure.js">//</script>
 
 XSLのコメントを入れたり、ダミー文字を入れてやったり、<noscript>タグを入れてやったりすることで回避できます
04/16追加:
 XSLのtemplate に xml:space="preserve"を入れてやってもいいかも・・(未検証)
| 開発関連 | 14:00 | comments(0) | trackbacks(0) |









http://blog.jojo.jp/trackback/879703