<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>スクリプト・マクロ (HTML)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor>の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" xml:lang="en">スクリプト・マクロ<rt xmlns="http://www.w3.org/1999/xhtml">script macro</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>の中に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">式</anchor>を埋め込むことができる機能です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> この機能を導入した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>は、
<dfn>JavaScript<ruby>実体<rt>じったい</rt><rt xml:lang="en">entity</rt></ruby></dfn>あるいは<dfn><ruby>動的実体<rt>どうてきじったい</rt><rt xml:lang="en">dynamic entity</rt></ruby></dfn>と呼んでいました。
<q>予約</q>機能として附属書 (参考) にこれを取り込んだ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>では、
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" xml:lang="en">スクリプト・マクロ<rt xmlns="http://www.w3.org/1999/xhtml">script macro</rt></rubyb></dfn>としています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 仕様書:<ul><li><cite>Welcome to Netscape Navigator Beta Release 5</cite> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.0b5.html#Layout">http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.0b5.html#Layout</anchor-external></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor><ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">B.7.1 Reserved syntax for future script macros</csection>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="HTML4:&quot;appendix/notes.html#idx-script-1&quot;">IW:HTML4:&quot;appendix/notes.html#idx-script-1&quot;</anchor-external></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT 1</anchor><ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">16.2 HTML Output Method</csection>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="XSLT1:&quot;#section-HTML-Output-Method&quot;">IW:XSLT1:&quot;#section-HTML-Output-Method&quot;</anchor-external></li></ul></li></ul></p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end><pre>   attribute = &quot;... &amp;{ <var>macro body</var> }; ... &quot;</pre>のように、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">値</anchor>の中で<code class="HTML">&amp;{</code>からはじまり、
<code class="HTML">};</code>で終わる部分が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>として解釈されます。
囲まれた部分を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>は<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マクロ本体<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">macro body</rt></rubyb></dfn>と呼んでいます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字実体参照</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>に展開されるように、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript実体</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">式</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">評価</anchor>結果に展開されるとしています。
1文字目の<code class="HTML" xml:lang="en">&amp;</code>を<code class="HTML" xml:lang="en">&amp;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">amp</anchor>;</code>に置き返ると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript実体</anchor>では<em>なく</em>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>とみなされます。</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>のような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値指定</anchor>の区別
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用符</anchor>の有無による差異) はない?</ed><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end>
一方で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>は<q xml:lang="en">Current Practice</q>をこう説明しています。<ol><li>まず、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析器</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体参照</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">展開</anchor>します。</li><li>次に、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マクロ本体</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト機関</anchor>が1つ以上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">評価</anchor>します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト言語</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内在事象属性</anchor>と同じです。</li><li>得られた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>を以後の処理に使います。</li></ol></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end>
無理に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>として処理しようとしている点、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マクロ本体</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">式</anchor>ではなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文</anchor>としている点、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マクロ本体</anchor>の言語を<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Script-Type</anchor></code>によって変更可能にしている点が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>の説明と食い違っており、
いったいどこの<q xml:lang="en">Current Practice</q>なのかが気になるところです。</p><p>特に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>としての処理の部分は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字実体参照</anchor>の扱いが<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>の実装と大きく異なっており、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>の通りに処理されるなら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>と同じように見える文字列を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor>として記述することができなくなってしまいます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><code xmlns="http://www.w3.org/1999/xhtml" class="example JS" xml:lang="en">&amp;{'&amp;{}'+';'};</code>という方法がありますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト</anchor>が無効だと機能しません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>が有効なのを<code class="SGML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>のみとしています。
一方<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>の説明と実装にはそのような制限は見当たりません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end>
この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">評価</anchor>される時機について、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>は<q><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>が計算される時</q>としています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>は更に明確に、<q><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>が読込まれる時で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再描画</anchor>の時には<em>しない</em></q>としています。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>XSLTとの関係</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT 1.0</anchor>および<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT 1.1</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML出力方式</anchor>では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">値</anchor>において<code class="HTML">&amp;{</code>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">逃避</anchor>するべきではないとされています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>を見よとは書かれていますが、
閉じ<code xmlns="http://www.w3.org/1999/xhtml" class="HTML">};</code>との対応や<code xmlns="http://www.w3.org/1999/xhtml" class="SGML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>か否かのチェックをせよという規定は<em xmlns="http://www.w3.org/1999/xhtml">ありません</em>。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べき</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">should</anchor>) の定義はありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end></p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XPath 2.0/XQuery 1.0/XSLT 2.0: 現在の案では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT 1</anchor>と同じ、ただし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUST NOT</anchor> </ed></section></section><section><h1>保安性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> 現在の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>などでは、現存する 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザ</anchor>で依然<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>を実装しているものは無いので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ユーザー入力</anchor>などに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>として解釈し得る文字列が含まれていてもそのまま出力することが多々あります。
古い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>でそのような <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>を利用すると
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSS</anchor> の類の攻撃が成功することもあります。</p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <strong>SGMLとの関係</strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>であるために<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>としての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">値</anchor>を更に処理するとしています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>が説明・実装している<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">動的実体</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>に相当するものがなく苦肉の策なのでしょうが、
実装と乖離したものを標準化しようとしても意味がありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <strong>DOMとの関係</strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>との関係は明らかではありません。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM水準0</anchor>では、評価後の値が使われているものと思われます。
(ただし、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Classic Mozilla</anchor>には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書木</anchor>そのものの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>表現が存在していません。)</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要確認</ed><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>仕様には言及がありませんが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>の読込み時に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">評価</anchor>される (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal>) ことから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>内には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">評価</anchor>結果の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">値</anchor>として残ると思われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <strong>XHTMLとの関係</strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1</anchor>の関係は全体的に不明瞭ですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1</anchor>では使えないとする積極的な根拠はありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <code>expression()</code></p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> この機能は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape Navigator</anchor> 3.0β5 で実装されたようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> 
<cite>Welcome to Netscape Navigator 3.0</cite>, <time>2024-08-16T11:46:39.000Z</time>, <time>2002-06-30T20:10:08.695Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20020630200918/http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.0.html#Layout">https://web.archive.org/web/20020630200918/http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.0.html#Layout</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite>null</cite>, <time>2024-08-16T09:30:36.000Z</time>, <time>2001-02-08T10:34:31.827Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20010208103254/http://home.netscape.com/eng/mozilla/3.0/handbook/javascript/getstart.htm#996824">https://web.archive.org/web/20010208103254/http://home.netscape.com/eng/mozilla/3.0/handbook/javascript/getstart.htm#996824</anchor-external></p><p>JS 1.1</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>では標準の機能としては取り込まれませんでしたが、
附属書B (参考) で<q><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">予約</anchor></q>の機能として紹介されています。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor>の拡張の<code class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">data<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>群が<q><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">予約</anchor></q>として取り込まれているので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Microsoft</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor>の政治的取引の結果かもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Classic Mozilla</anchor>に代わる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gecko</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>は実装されていません。
他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザ</anchor>で実装したものも存在しないようです。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 5</anchor>にも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト・マクロ</anchor>が入ることはないでしょう。
ゾンビが1匹生まれようとしている (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;20</anchor-internal>) のを除いては、
このまま忘れ去られていくのでしょう。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1>例</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">Netscape</src><pre class="HTML obsoleted example code">&quot;&amp;{10 * 10};%&quot;</pre></p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">評価</anchor>されて<code class="HTML">100%</code>になります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <strong>背景色を無作為に選ぶ</strong> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">HTML 4</src><pre class="HTML deprecated obsoleted example code">&lt;BODY bgcolor='&amp;{randomrgb};'&gt;</pre></p><p>既に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">変数</anchor><var class="JS">randomrgb</var>に値が入れられているものと思われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <strong>背景色を時刻で変化</strong> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">HTML 4</src><pre class="HTML deprecated obsoleted example code">&lt;BODY bgcolor='&amp;{if(Date.getHours &gt; 18)...};'&gt;</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <strong>クライアント側画像写像の範囲とリンク先</strong> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>)
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">HTML 4</src><pre class="HTML deprecated obsoleted example code">&lt;MAP NAME=foo&gt;
  &lt;AREA shape=&quot;rect&quot; coords=&quot;&amp;{myrect(imageuri)};&quot; href=&quot;&amp;{myuri};&quot; alt=&quot;&quot;&gt;
&lt;/MAP&gt;</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <strong>環境依存の画像幅</strong> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">HTML 4</src><pre class="HTML deprecated obsoleted example code">&lt;IMG src=&quot;bar.gif&quot; width='&amp;{document.banner.width/2};' height='50%' alt=&quot;banner&quot;&gt;</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">HTML 4</src><pre class="HTML deprecated obsoleted example code"> &lt;SCRIPT type=&quot;text/javascript&quot;&gt;
   function manufacturer(widget) {
       ...
   }
   function location(manufacturer) {
       ...
   }
   function logo(manufacturer) {
       ...
   }
 &lt;/SCRIPT&gt;
  &lt;A href='&amp;{location(manufacturer(&quot;widget&quot;))};'&gt;widget&lt;/A&gt;
  &lt;IMG src='&amp;{logo(manufacturer(&quot;widget&quot;))};' alt=&quot;logo&quot;&gt;</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <strong>文字実体参照を含む例</strong> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">HTML 4</src><pre class="HTML deprecated obsoleted example code">&lt;IMG src=&quot;&amp;{logo(manufacturer(&amp;quot;widget&amp;quot;))};&quot; alt=&quot;logo&quot;&gt;</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <strong>XSLTの変換例</strong> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">XSLT 1.0, 1.1</src></p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイル・シート</anchor>で<pre class="XSLT example code">&lt;BODY bgcolor='&amp;amp;{{randomrbg}};'&gt;</pre>とあるものを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML出力方式</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">直列化</anchor>すると、<pre class="HTML example code">&lt;BODY bgcolor='&amp;{randomrbg};'&gt;</pre>になります。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">テストが必要:<ul xmlns="http://www.w3.org/1999/xhtml"><li>引用符 &quot;, ', なし</li><li>&amp;amp;{ };</li><li>マクロ本体中の文字参照</li><li>Content-Script-Type</li><li>文; 文; </li><li>非 CDATA 属性</li></ul></ed><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en">XSLT and XQuery Serialization 3.1</cite>
(<time>2017-03-20 12:35:18 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/TR/2017/REC-xslt-xquery-serialization-31-20170321/#HTML_ATTRIBS">https://www.w3.org/TR/2017/REC-xslt-xquery-serialization-31-20170321/#HTML_ATTRIBS</anchor-external></p></section></body></html>