訳注: この文書は "XML Events", W3C Recommendation, S. McCarron, et al., eds., 14 October 2003 を TAKI が訳したものです。訳の正しさについては一切保証しませんので、ご利用は自己責任でお願いします。
本文書の正誤表を参照すること。標準情報の訂正が含まれることがある。
本文書は次の非公式形式でも入手可能: PostScript 版, PDF 版, ZIP アーカイブ, Gzip'd TAR アーカイブ.
本仕様の英語版のみが標準情報である。非標準情報の 翻訳版 も利用可能かもしれない。
Copyright © 2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
本文書で定義される XML Events モジュールは、ドキュメントオブジェクトモデル (DOM) レベル 2 のイベントインターフェイス [DOM2EVENTS] を持つイベントリスナと関連イベントハンドラを一律に統合できる XML 言語を提供する。振る舞いを文書レベルのマークアップに関連付ける相互運用的な手法の提供する。
本セクションは、発行時におけるこの文書の状態について述べる。他の文書がこの文書を上書きすることがある。現在のW3C発行物のリストとこの技術情報の最新版は、 http://www.w3.org/TR/ の W3C技術情報索引 で見られる。
この文書はW3Cの 勧告 である。W3Cメンバーと他の関係団体により批評され、編者によりW3C勧告として承認された。安定した文書であり、参考資料として利用、また他の文書から標準参考文献として引用してよい。勧告作成におけるW3Cの役割は、仕様に注目を集め広範な普及を促進することである。これはWebの機能性と相互運用性を向上させる。XML Events 用のテストスイートは、公式な XForms 1.0 テストスイート の一部として実装報告に従い開発される。
この文書は HTML Activity の一部会としての W3C HTML ワーキンググループ (会員のみ) により発行された。 HTML ワーキンググループの目標はHTML Working Group charterにおいて議論される。この仕様に関連する特許開示は Working Group's patent disclosure page で見られる。
本仕様のエラーは www-html-editor@w3.org (archive) に報告すること。議論のメールをこのアドレスに送るのは不適である。公式な議論は www-html@w3.org (archive) で行ってよい。
本項は参考情報である。
イベント とは、XML文書内の要素に(それをターゲットにして)付随する非同期の出来事(要素の表現上のマウスクリックや要素の属性の値の計算エラー、また想像できない他の多くの可能性など)の表現である。
イベントのDOMモデル [DOM2EVENTS] では、一般的な振る舞いは、イベントが発生すると キャプチャ と呼ばれるフェイズでイベントが発生した要素 (その ターゲット と呼ばれる) へと文書ツリーを伝い下りるように 送信 され、 バブリング と呼ばれるフェイズで再びツリーを上に伝い戻る。一般に、経路内の任意の要素(オブザーバ(observer))は、一方のフェイズで、アクションの実行・イベントの停止・イベントのデフォルトアクションのキャンセルなど、イベントに反応することができる。次の図はこれを示す:
DOM2 のイベントフロー: イベントはツリー内の要素(ターゲットという)を目標として、「キャプチャ」というフェイズでルートから下にターゲットまで渡される。イベントの型が許せば、「バブリング」というフェイズでイベントはツリーの同じ道を上に戻っていく。ルート要素とターゲットを含めた経路上のどの要素も「オブザーバ」になれる: つまり、一方のフェイズでイベントが通過していくときに有効になるハンドラをつけることができる。ハンドラは一フェイズのみ監視できる。両フェイズを監視するにはハンドラを2つつけなければならない。
アクション とはイベントへの反応の仕方である; ハンドラ とはそのアクションについて詳述したもので、例えばスクリプティングや他の手法を用いる。 リスナー とは、文書中の要素をターゲットにするイベントにそのハンドラを結びつけるものである。
HTML [HTML4] では、イベント名を属性名に符号化し、その属性の値が要素でのイベントのアクションになるようにすることでイベントを要素に結びつける。この方法には不具合が2つある: まずイベントを言語に硬く縛り付け、その結果新規イベントの追加に言語を変更しなければならない。そしてスクリプティングとイベントハンドリングの詳細を外部に分離できず、文書内容に混在させることを強制する。 SVG [SVG] は同様の手法を用いる。
HTML の新しい版を定義する過程で、拡張可能なイベント詳述法の需要を確認した。設計の必要条件は以下であった:
DOM は、次の機能を提供するイベントモデルを規定する:
本仕様に定義される listener
要素及びその属性は、要素での DOM Level 2 イベントをイベントハンドラに結びつける手段である。それは DOM Level 2 イベントインターフェイスの様々な側面を包括し、それによってイベント伝播の様々なフェイズ間にとられるアクションのマークアップレベルでの記述を提供する。
本仕様は特定のイベントについて規定するものではなく、またアクションを指定する特定の方法を強制するものでもない。それらの定義は、ここに述べる機能を用いる任意のマークアップ言語に残されている。
本項は 標準情報 (normative) である。
本文書中のキーワード "しなければならない(MUST)", "してはならない(MUST NOT)", "必須である(REQUIRED)", "することになっている(SHALL)", "することになっていない(SHALL NOT)", "すべきである(SHOULD)", "推奨する(RECOMMENDED)", "してもよい(MAY)", "任意である(OPTIONAL)" は、 [RFC2119] で述べるとおりに解釈するものとする。
XML Events は、独立した文書型ではない。 XHTML のような他のホスト言語への統合を意図される。適合 XML Events 文書は、本仕様で強制するとされる機能とホスト言語で強制するとされる機能だけを要求する文書である。そのような文書は、次に挙げる基準を全て満たさなければならない:
文書は、そのホスト言語実装に表される制約に合成される 附属書 B - スキーマ実装 或いは 附属書 A - DTD 実装 で表される制約を満たさなければならない。
文書は XML Events 名前空間 [XMLNAMES] のための xmlns
宣言を含まなければならない。 XML Events のための名前空間は http://www.w3.org/2001/xml-events
と定義される。ルート要素の開始タグの例ではこのようになるだろう:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:ev="http://www.w3.org/2001/xml-events" >
XML Events がホスト言語に内包されるとき、本仕様に要求される機能の全てがホスト言語に内包されなければならない。さらに、ホスト言語の内容モデル中に、本仕様に定める要素と属性が内包されなければならない。
適合ユーザーエージェントは、本仕様に要求される機能全てをサポートしなければならない。
本項は標準情報である。
本仕様は XML Events と呼ばれるモジュールを定める。 XML Events モジュールは XML 名前空間 [XMLNAMES] 識別子 http://www.w3.org/2001/xml-events
を用いる。
本仕様で名前空間接頭辞 "ev
" を用いる例は全て、文書内の適切な場所に xmlns
宣言 xmlns:ev="http://www.w3.org/2001/xml-events"
があるものとする。用例は全て参考情報である。
本項ではあとこのモジュールの要素と属性、意味論について述べ、 [XHTMLMOD] で要求される抽象モジュール定義を提供する。
XML Events モジュールは次の要素と属性をサポートする:
要素 | 属性 | 最小内容モデル |
---|---|---|
listener | event (NMTOKEN), observer (IDREF), target (IDREF), handler (URI), phase ("capture" | "default"*), propagate ("stop" | "continue"*), defaultAction ("cancel" | "perform"*), id (ID) |
EMPTY |
実装: DTD, XML Schema
listener
要素は、 DOM の EventListener
インターフェイスの部分集合をサポートする。これを用いてイベントリスナーを宣言し DOM 中の特定のノードに登録する。次の属性を持つ:
event
属性は必須で、リスナーが登録されているイベント型を指定する。 [DOM2EVENTS] で規定されるように、属性値は XML Name [XML] であるべきである。observer
属性は任意で、イベントリスナーを登録する要素の id
を指定する。この属性がない場合、オブザーバは event
属性が乗っている要素 (後述「オブザーバ要素に属性を直接つける」を参照)、またはその要素の親 (後述「ハンドラ要素に属性を直接つける」を参照) になる。target
属性は任意で、イベントのターゲット要素(つまりイベントが発生する要素)の id
を指定する。この属性がある場合、 event
属性と target
属性の両方にマッチするイベントだけが、関連付けられたイベントハンドラで処理される。明らかにイベントが伝わる道のため、ターゲット要素はオブザーバ要素の子孫であるか、あるいはオブザーバ要素自身であるべきである。
この属性の使用は注意を要する; 例えば、次のように指定し
<listener event="click" observer="para1" target="link1" handler="#clicker"/>
'para1' を次のノードの祖先とすると
<a id="link1" href="doc.html">The <em>draft</em> document</a>
ユーザが単語 "draft" 上をクリックすると、 <a>
ではなく <em>
要素がターゲットとなるためハンドラが有効にならない; <a>
要素とその子供全ての上でのマウスクリックを受け取るには、 target
属性ではなく observer="link1"
を用いる。
handler
属性は任意で、イベントがオブザーバに到着した際に行われるべきアクションを定義するリソースの URI 参照を指定する (本仕様は要素がとるべき形式を強制しない:「イベントハンドラ」を参照)。 この属性がない場合は、ハンドラは event
属性の乗っている要素である (後述「ハンドラ要素に属性を直接つける」を参照).phase
属性は任意で、要求するイベントが (DOM 2 イベント伝達フェイズの中で) いつリスナーを有効にするかを指定する。
capture
default
デフォルトの振る舞いは phase="default"
である。
全てのイベントがバブルするわけではなく、その場合 phase="default" ではイベントのターゲットをオブザーバにするイベント処理しかできないことに注意。
propagate
属性は任意で、現在のノードの全てのリスナを処理した後に(キャプチャまたはバブルフェイズの)経路上でイベントが継続するかどうかを指定する.
stop
continue
デフォルトの振る舞いは propagate="continue"
である。
defaultAction
属性は任意で、イベントについての全てのリスナーを処理した後に、そのイベントのデフォルトのアクション(存在する場合)を実行するべきか否かを指定する。例えば、XHTMLでは <a>
要素やその子孫の上でのマウスクリックのデフォルトアクションは、リンクの探索である。
cancel
perform
デフォルトの値は defaultAction="perform"
である。
全てのイベントが取り消し可能なわけではなく、その場合この属性は無視されることに注意。
id
属性は任意で、文書内で一意的な識別子である。この識別子の値は DOM インターフェイスを通した要素操作にしばしば用いられる。observer = "<element-id>"
と event = "<event-type>"
は SMIL EventTiming [SMIL20] の begin = "<element-id>.<event-type>"
属性と同様であることに注意。
この例では、 "#doit"
の要素内のハンドラを取り付け、そのハンドラは id="button1"
である要素かその子の上での activate
というイベントの発生時に有効になる。この有効化はバブリング中に発生し、オブザーバ要素自身の上でイベントが発生した場合はイベントの要素への到着時 (ターゲット フェイズ) に発生する。
<listener event="activate" observer="button1" handler="#doit"/>
これは #overflow-handler
のハンドラを取り付け、 id="expr1"
である要素上でのイベント overflow
の発生時に有効になり、 id="prog1"
である要素までバブルする。
<listener event="overflow" observer="prog1" target="expr1" handler="#overflow-handler"/>
これは #popup
のハンドラをつけ、 id="embargo"
である要素かその子供で activate
イベントが発生するといつでも有効になる。キャプチャフェイズ間に有効になり伝達が停止するので、embargo
要素の子要素の activate
イベント監視を(このハンドラの行動に関係なく)遮る効果がある。
<listener event="activate" observer="embargo" handler="#popup" phase="capture" propagate="stop"/>
これは他の文書からハンドラをつける。
<listener event="activate" observer="image1" handler="/handlers/events.xml#activate"/>
listener
要素の属性は、id
属性を除いて全て Namespaces in XML [XMLNAMES] に定義されるグローバルな属性として用いてよく、属性を他の要素につけられる。
つまり厳密にいうと <listener>
要素は冗長なものだということに注意。というのは次の:
<anyelement ev:event="click" ev:observer="button1" ev:handler="#clicker"/>
これは次と同等である:
<ev:listener event="click" observer="button1" handler="#clicker"/>
にもかかわらず、 <listener>
要素の有用性についてはなお維持される。
observer
属性を省略すると(handler
属性は省略せずに)、 他の属性のついた要素がオブザーバ要素になる。
この最初の例は "#popper"
と識別されるハンドラを <a>
要素につけ、イベントのデフォルトアクションを取り消す。
<a href="doc.html" ev:event="activate" ev:handler="#popper" ev:defaultAction="cancel">文書</a>
これは イベント overflow
に関する #handle-overflow
のハンドラを現在の要素につける。
<div ev:event="overflow" ev:handler="#handle-overflow"> ... </div>
要素にグローバルな属性をつける時、 handler
属性が省略されると他の属性のついた要素がハンドラ要素になる。
observer
属性と target
属性は IDREF であるから、この場合ハンドラ要素及びオブザーバ/ターゲット要素は同じ文書中に存在しなければならないことに注意(一方他のケースでは、 handler
属性は URI であるのでハンドラ要素が別文書中にあってもよい)。
observer
属性も省略されている場合、ハンドラ要素の親要素がオブザーバ要素となる。
このケースでは、要素は id="form1"
である要素の submit
イベントのためのハンドラとなる。
<script type="application/x-javascript" ev:event="submit" ev:observer="form1"> return docheck(event); </script>
このケースでは <action>
要素は q-submit
イベントのハンドラであり、オブザーバは questionnaire
要素である。
<questionnaire submissionURL="/q/tally"> <action ev:event="q-submit"> ... </action> ... </questionnaire>
<script>
要素は click
イベントのハンドラである; <img>
要素がオブザーバである。
<img src="button.gif" alt="OK"> <script ev:event="activate" type="application/x-javascript"> doactivate(event); </script> </img>
<onevent>
要素はイベント enterforward
のハンドラである。 <card>
要素がオブザーバである。
<card> <onevent ev:event="enterforward"> <go href="/url"/> </onevent> <p> こんにちわ! </p> </card>
<catch>
要素は nomatch
イベントのハンドラである。オブザーバは <field>
要素である。
<form id="launch_missiles"> <field name="password"> <prompt>コード名は何ですか?</prompt> <grammar> <rule id="root" scope="public">カブハボタン</rule> </grammar> <help>あまり知られていない野菜の名前です。</help> <catch ev:event="nomatch"> <prompt>セキュリティ違反!</prompt> <submit next="apprehend_felon" namelist="user_id"/> </catch> </field> <block> <goto next="#get_city"/> </block> </form>
この例は異なるイベントのための3つのハンドラを示す。オブザーバは3つとも <secret>
要素である。
<secret ref="/login/password"> <caption>パスワードを入力してください。</caption> <info ev:event="help"> 質問は help@example.com まで。 </info> <info ev:event="hint"> ペットの名前 </info> <info ev:event="alert"> この欄は必須です。 </info> </secret>
下表は、関連属性が省略された場合に要素がオブザーバ或いはハンドラの役割を果たすことを要約するものである。
Handler あり | Handler なし | |
---|---|---|
Observer あり | (宣言されるとおり) | 要素はハンドラである |
Observer なし | 要素はオブザーバである | 要素はハンドラで 親がオブザーバである |
本仕様は、 XML Events を用いる XML アプリケーションに対してハンドラ記述の特定の手法を用いることを要求しない。しかしながら、特にハンドラに属性を直接つける項の用例では、それが指定されうる方法の例示を意図した。
ただ2つの手法がよく使われるだろうと思われる: スクリプト (XHTML の <script> 要素など) と XML 要素 (WML の <onevent> 要素など) を用いたマークアップ。対になる仕様がこれらの手法をサポートするマークアップを提供するだろう。
基本 XML Events プロファイルは、小型デバイス上における処理の簡易化を目的とした XML Events モジュールの使用制限を許可する。
基本プロファイルは、 listener
要素とその属性の使用、およびグローバル属性としての listener
要素由来属性の使用に、次の制限を課す。
外部イベントハンドラ
外部イベントハンドラ処理能力は必須ではない。 listener
要素上の 'handler' 属性の使用時、またグローバル 'handler' 属性の使用時、その属性値に指定されるハンドラは現在の文書内にあるべきである。
例えば、次の例は許されるが:
<listener event="click" target="#button1" handler="#clicker"/>
一方次の例の処理は必須ではない:
<listener event="click" target="#button1" handler="doc2.html#clicker"/>
オブザーバへのイベントハンドラのバインディングは、オブザーバ要素の終了の前の位置を必須としてよい。言い換えると、オブザーバにバインディングする <listener> はオブザーバ要素の終了タグより後には出現しないだろうし、オブザーバにバインドする属性を負うイベントハンドラもオブザーバ要素の終了タグの後には出現しないだろう。
本項は参考情報である。
本仕様は、言語設計者がイベントをどう命名すべきか(つまり event
属性内で用いられる値)について公式には規定しない。
しかしながら、将来の版の DOM Events では名前空間を指定したイベント名を許可されそうなので、したがって言語設計者にはイベント名にコロン文字 ":" を用いないように助言する。
数々のイベント型が DOM2 [DOM2EVENTS] で規定されており、それらの名前と意味論について参照しておくべきである。
この附属書は 標準情報 である。
XML Events の DTD 実装は [XHTMLMOD] に定める必要条件に適合する。したがって、それは Qualified Names サブモジュールと、本勧告案に定める XML Events のためのモジュールファイルを提供する。
このモジュールは引数実体 %xml-events-attrs.qname;
を定義することに注意。この実体は、任意のホスト言語内の要素の属性リスト中での使用が意図され、言語自身の名前空間内の要素上でのイベント属性の使用を許可する。この場合ホスト言語ドライバは引数実体 %XML-EVENTS.prefixed;
を INCLUDE
に、そして引数実体 %XML-EVENTS.prefix;
を XML Events 属性の接頭辞である値に設定するべきである。
<!-- ....................................................................... --> <!-- XML Events Qname モジュール ............................................ --> <!-- file: xml-events-qname-1.mod これは、 XML Events - XML のためのイベントモジュールであり、 DOM イベントモデルへのアクセスの定義である。 Copyright 2000-2003 W3C (MIT, ERCIM, Keio), All Rights Reserved. この DTD モジュールは、次の PUBLIC また SYSTEM 識別子で識別される: PUBLIC "-//W3C//ENTITIES XML Events Qnames 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xml-events-qname-1.mod" 改訂: (なし) ....................................................................... --> <!-- XML Events Qname (修飾名) モジュール 本モジュールは、セクション 'A', 'B' と題した2パートで構成される: セクション A は、名前空間-修飾名、名前空間宣言、 XML Events と 拡張のための接頭辞つき名前をサポートする引数実体を宣言する。 セクション B は XML Events 要素型全てについての名前空間-修飾名 の提供に用いる引数実体を宣言する。 %listener.qname; <listener> のための xmlns-修飾名 ... XML Events 拡張はこれと同様のモジュールを生成するだろう。 この目的に適したテンプレートモジュール('template-qname-1.mod')が XML ディストリビューションに含まれている。 --> <!-- セクション A: XML Events XML 名前空間フレームワーク ::::::::::::::: --> <!-- 1. 名前空間接頭辞の有効化に使う %XML-EVENTS.prefixed; 条件区間キーワー ドを宣言する。オーバーライドされない場合、デフォルトの振る舞いが DTD 全般の接頭辞体系に沿うように、デフォルト値は DTD ドライバから '%NS.prefixed;' を継承すべきである。 --> <!ENTITY % NS.prefixed "IGNORE" > <!ENTITY % XML-EVENTS.prefixed "%NS.prefixed;" > <!-- 2. XML Events 名前空間の識別に使う URI 参照を含む引数実体(例, %XML-EVENTS.xmlns;)を宣言する。 --> <!ENTITY % XML-EVENTS.xmlns "http://www.w3.org/2001/xml-events" > <!-- 3. 接頭辞が有効であるときに用いるデフォルトの名前空間接頭辞文字列を持 つ引数実体(例, %XML.prefix;)を宣言する。これは DTD ドライバや文書実体 の内部部分集合においてオーバーライドされてよい。要求するデフォルトの 接頭辞がなければ、これを空文字列として宣言してよい。 NOTE: [XMLNAMES] にあるように、名前空間接頭辞は URI 参照の代用を果たすも ので、それ自身が重要というわけではない。 --> <!ENTITY % XML-EVENTS.prefix "" > <!-- 4. 接頭辞が有効なときに用いるコロン付き接頭辞を持つ引数実体(例, %XML-EVENTS.pfx;)を宣言する。無効なときは空文字列。 --> <![%XML-EVENTS.prefixed;[ <!ENTITY % XML-EVENTS.pfx "%XML-EVENTS.prefix;:" > ]]> <!ENTITY % XML-EVENTS.pfx "" > <!-- 修飾名拡張をここで宣言する ................................ --> <!ENTITY % xml-events-qname-extra.mod "" > %xml-events-qname-extra.mod; <!-- 5. XML 中に埋め込まれる名前空間について XML Events でない名前空間宣言 属性を含めるため、引数実体 %XML-EVENTS.xmlns.extra.attrib; を再度宣言 してよい。デフォルトは空文字列である。 DTD 内部で用いるならばここに XLink を入れておくべきである。 --> <!ENTITY % XML-EVENTS.xmlns.extra.attrib "" > <!-- セクション B: XML 修飾名 ::::::::::::::::::::::::::::::::::::::: --> <!-- 6. このセクションでは、 XML Events の全要素型のための名前空間-修飾名 の提供に使用する引数実体を宣言する。 --> <!ENTITY % xml-events.listener.qname "%XML-EVENTS.pfx;listener" > <!-- 次は、 XML Event 属性の組み込みを望む他の名前空間の要素の属性集合内で 用いるための引数実体を宣言する。この場合 XML-EVENTS.pfx が常に定義されて いるべきであることに注意。 --> <!ENTITY % xml-events.attrs.qname "%XML-EVENTS.pfx;event NMTOKEN #IMPLIED %XML-EVENTS.pfx;observer IDREF #IMPLIED %XML-EVENTS.pfx;target IDREF #IMPLIED %XML-EVENTS.pfx;handler %URI.datatype; #IMPLIED %XML-EVENTS.pfx;phase (capture|default) #IMPLIED %XML-EVENTS.pfx;propagate (stop|continue) #IMPLIED %XML-EVENTS.pfx;defaultAction (cancel|perform) #IMPLIED" > <!-- xml-events-qname-1.mod の終わり -->
<!-- ...................................................................... --> <!-- XML Events モジュール .............................................. --> <!-- file: xml-events-1.mod これは XML Events - XML のための Events モジュール、である。 DOM イベントモデルへのアクセスの再定義である。 Copyright 2000-2003 W3C (MIT, ERCIM, Keio), All Rights Reserved. この DTD モジュールは次の PUBLIC 及び SYSTEM 識別子で識別される: PUBLIC "-//W3C//ENTITIES XML Events 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xml-events-1.mod" 改訂: (なし) ....................................................................... --> <!-- XML Events は listener 要素とその属性を定義する --> <!ENTITY % xml-events.listener.content "EMPTY" > <!ELEMENT %xml-events.listener.qname; %xml-events.listener.content;> <!ATTLIST %xml-events.listener.qname; id ID #IMPLIED event NMTOKEN #REQUIRED observer IDREF #IMPLIED target IDREF #IMPLIED handler %anyURI.datatype; #IMPLIED phase (capture|default) #IMPLIED propagate (stop|continue) #IMPLIED defaultAction (cancel|perform) #IMPLIED > <!-- xml-events-1.mod の終わり -->
この附属書は 標準情報 である。
XML Events のスキーマ実装は、 [XHTMLSCHEMAMOD] に定められる必要要件に適合する。この勧告案に定められる XML Events モジュールについて、それは属性モジュールと要素モジュールに分割される。
<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.w3.org/2001/xml-events" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd" elementFormDefault="unqualified" blockDefault="#all" finalDefault="#all" attributeFormDefault="unqualified"> <xs:annotation> <xs:documentation> これは XML Events グローバル属性のための XML Schema である。 URI: http://www.w3.org/MarkUp/SCHEMA/xml-events-attribs-1.xsd $Id: xml-events-attribs-1.xsd,v 1.5 2003/08/02 09:36:54 mimasa Exp $ </xs:documentation> <xs:documentation source="xml-events-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> XML Event 属性 これらの「グローバルな」イベント属性は XML Events 仕様の 「オブザーバ要素に属性を直接つける」において定義される。 </xs:documentation> </xs:annotation> <xs:attribute name="event" type="xs:NMTOKEN"/> <xs:attribute name="observer" type="xs:IDREF"/> <xs:attribute name="target" type="xs:IDREF"/> <xs:attribute name="handler" type="xs:anyURI"/> <xs:attribute name="phase" default="default"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="capture"/> <xs:enumeration value="default"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="propagate" default="continue"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="stop"/> <xs:enumeration value="continue"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="defaultAction" default="perform"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="cancel"/> <xs:enumeration value="perform"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attributeGroup name="XmlEvents.attlist"> <xs:attribute ref="ev:event"/> <xs:attribute ref="ev:observer"/> <xs:attribute ref="ev:target"/> <xs:attribute ref="ev:handler"/> <xs:attribute ref="ev:phase"/> <xs:attribute ref="ev:propagate"/> <xs:attribute ref="ev:defaultAction"/> </xs:attributeGroup> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://www.w3.org/2001/xml-events"
xmlns="http://www.w3.org/2001/xml-events"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema
http://www.w3.org/2001/XMLSchema.xsd"
elementFormDefault="unqualified"
blockDefault="#all"
finalDefault="#all"
attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>
これは XML Events 用の XML Schema である。
URI: http://www.w3.org/MarkUp/SCHEMA/xml-events-1.xsd
$Id: xml-events-1.xsd,v 1.6 2003/08/02 09:36:54 mimasa Exp $
</xs:documentation>
<xs:documentation source="xml-events-copyright-1.xsd"/>
</xs:annotation>
<xs:annotation>
<xs:documentation>
XML Events 要素 listener
このモジュールは XML Events の listener 要素を定義する。
この要素も用いてイベントリスナーを定義できる。このモジュ
ールは xml-events-attribs-1.xsd で定義される属性グループ
XmlEvents.attlist に依存している。
</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="listener.attlist">
<xs:attribute name="event" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="observer" type="xs:IDREF"/>
<xs:attribute name="target" type="xs:IDREF"/>
<xs:attribute name="handler" type="xs:anyURI"/>
<xs:attribute name="phase" default="default">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="capture"/>
<xs:enumeration value="default"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="propagate" default="continue">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="stop"/>
<xs:enumeration value="continue"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="defaultAction" default="perform">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="cancel"/>
<xs:enumeration value="perform"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="id" type="xs:ID"/>
</xs:attributeGroup>
<xs:complexType name="listener.type">
<xs:attributeGroup ref="listener.attlist"/>
</xs:complexType>
<xs:element name="listener" type="listener.type"/>
</xs:schema>
この附属書は 標準情報 である。
本項は参考情報である。
本文書は Ted Wugofski (Openwave) によって書き起こされた。
本仕様の開発への多大なる貢献につき、特に感謝する: Mark Baker (Sun Microsystems), Wayne Carr (Intel Corporation), Warner ten Kate (Philips Electronics), Patrick Schmitz, Peter Stark (Ericsson)
出版時における、W3C HTML 作業班の参加者は: