Prosimy odnie¶æ siê do erraty dla tego dokumentu, który mo¿e zawieraæ normatywne poprawki.
Ten dokument jest tak¿e dostêpny w formatach nienormatywnych: wersja PostScript, wersja PDF, archiwum ZIP, oraz archiwum Gzip'd TAR.
Wersja angielska tej specyfikacji jest jedyn± wersj± normatywn±. Nienormatywne t³umaczenia równie¿ mog± byæ dostêpne.
Prawa autorskie © 2003 W3C ® (MIT , ERCIM, Keio), Wszystkie prawa zastrze¿one. Dotyczy przepisów W3C w zakresie odpowiedzialno¶ci, znaku towarowego, u¿ywania dokumentu i licencjonowania oprogramowania.
StreszczenieModu³ zdarzeñ XML okre¶lony w tej specyfikacji zapewnia jêzyki XML ze zdolno¶ci± do jednostajnej integracji zdarzeñ s³uchaczy i powi±zanych posiadaczy zdarzeñ ze specyfikacj± DOM. Interfejs zdarzeñ poziomu 2 [DOM2EVENTS]. Wynikiem jest zapewnienie interoperacyjnego sposobu ³±czenia zachowañ z adjustacj± poziomu dokumentu.
Status Tego DokumentuTa czê¶æ opisuje status tego dokumentu w czasie jego publikacji. Inne dokumenty mog± zast±piæ ten dokument. Lista obecnych publikacji W3C i ostatni przegl±d tego raportu technicznego mo¿na znale¼æ w indeksie raportów technicznych W3C pod adresem http://www.w3.org/TR/.
Ten dokument jest Rekomendacj± W3C. Zosta³ omówiony przez Cz³onków W3C i inne zainteresowane strony, zosta³ zatwierdzony przez Dyrektora jako rekomendacja W3C. Jest to stabilny dokument i mo¿e byæ u¿ywany jako wzorzec lub cytowany jako odno¶nik normatywny z innego dokumentu. Rola Rola W3C podczas tworzenia rekomendacji polega na zwróceniu uwagi na specyfikacjê oraz promocjê jego rozwoju. Zwiêksza to funkcjonalno¶æ i interoperacyjno¶æ sieci internetowej. Zestaw testów dla Zdarzeñ XML zosta³ rozwiniêty jako czê¶æ powszechnego Zestawu Testów XForms 1.0 , razem z raportem implementacji.
Ten dokument zosta³ stworzony przez Grupê Robocz± W3C HTML Working Group ( tylko Cz³onkowie) jako czê¶æ Dzia³alno¶ci HTML. Cele Grupy Roboczej HTML s± omówione w karcie Grupy Roboczej HTML . Ujawnienia patentowe do tej specyfikacji mo¿na znale¼æ na stronie o ujawnieniach patentowych Grupy Roboczej .
Prosimy o zg³aszanie b³êdów tej specyfikacji w www-html-editor@w3.org (archiwum). Nie nale¿y wysy³aæ maili w celu dyskusji na ten adres. Powszechne dyskusje mog± odbywaæ siê pod adresem www-html@w3.org ( archiwum).
Spis tre¶ci 1.WstêpJest to czê¶æ informacyjna.
Zdarzenie jest odzwierciedleniem pewnego asynchronicznego zdarzenia (takim jak klikniêcie myszk± na wy¶wietlany element, lub b³±d arytmetyczny we warto¶ci atrybutu elementu, lub jeden z niewyobra¿alnie wielu innych mo¿liwo¶ci), które ³±czy siê z elementem (wycelowane na niego) w dokumencie XML.
W modelu DOM zdarzeñ [DOM2EVENTS], ogólnym zachowaniem jest kiedy zdarzenie ma miejsce, jest przes³any poprzez przekazanie w dó³ drzewa dokumentu w fazie zwanej schwytanie (capture phase) do elementu, w którym zdarzenie mia³o miejsce (zwane jegocelem), gdzie po¼niej mo¿e byæ przekazane z powrotem do trzech razy w fazie zwanej bulgotanie (bubbling). Ogólnie zdarzenie mo¿e odpowiadaæ do jakiegokolwiek elementu we wstawce do programu ( observer) w niemal ka¿dej fazie przez powodowanie czynno¶ci, i/lub zatrzymanie zdarzenia, i/lub anulowanie domy¶lnej czynno¶ci dla zdarzenia. Poni¿szy diagram ilustruje to:
Przebieg zdarzenia w DOM2: zdarzenie wycelowane na element (marked 'target') w trzech fazach do do³u drzewa od korzeni do celu w trzech fazach zwanych 'capture' (chwytanie). Je¿eli typ zdarzenia zezwala na to, zdarzenie wtedy wraca do góry drzewa poprzez ten sam szlak w fazie zwanej bulgotanie (bubbling). Jakikolwiek wêze³ na szlaku, ³±cznie z wêze³ korzenia i cel, mo¿e byæ 'observer': tj. handler mo¿e byæ do³±czony do niego, aktywowany kiedy fazy zdarzenia przechodz± ka¿d± z nich. Handler mo¿e jedynie oczekiwaæ na jedn± fazê. Aby oczekiwaæ na obie nale¿y za³±czyæ dwa.
Czynno¶æ jest pewnego rodzaju reakcj± na zdarzenie; handler jest pewnego rodzaju specyfikacj± dla takich czynno¶ci, np. u¿ywanie skrytpów lub innej metody. S³uchacz jest takim atrybutem handler dla zdarzenia maj±cego na celu pewien element w dokumencie.
HTML [HTML4] ³±czy zdarzenia do elementu poprzez kodowanie nazwy zdarzenia w nazwie atrybutu, takiego jak warto¶æ atrybutu, która jest czynno¶ci± dla zdarzenia w tamtym elemencie. Ta metoda posiada dwie g³ówne zalety: po pierwsze ³±czy na sta³e zdarzenia w jêzyk tak, by dodaæ nowe zdarzenie, nale¿y zmieniæ jêzyk, a po drugie zmusza do zmieszania zawarto¶ci dokumentu ze specyfikacjami skryptów i obs³ugo zdarzeñ, raczej ni¿ zezwala na wyodrêbnienie ich. SVG [SVG] u¿ywa podobnej metody.
Proces definiowania nowej wersji HTML zidentyfikowa³ zapotrzebowanie na metodê specyfikacji rozszerzalnego zdarzenia. Wymagania projektowe by³y nastêpuj±ce:
DOM wskazuje model zdarzenia zapewniaj±ce nastêpuj±ce 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±c specyfikacjê poziomu adjustacji czynno¶ci, które maj± byæ wykonana podczas ró¿nych faz rozprzestrzeniania siê zdarzenia.
Ten dokument ani nie wyró¿nia szczególnych zdarzeñ, ani nie narzuca ¿adnych szczególnych metod wyszczególnianych czynno¶ci. Te definicje s± pozostawione jakiemukolwiek jêzykowi znaczników korzystaj±c z wy¿ej opisanych u³atwieñ.
2.Wymagania zgodno¶ciTa czê¶æ jest normatywna.
S³owa kluczowe "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "RECOMMENDED", "MAY", oraz "OPTIONAL" bêd± zinterpretowane w tym dokumencie tak, jak opisano w [RFC2119].
2.1.Zgodno¶æ dokumentuZdarzenia XML nie s± samodzielnym typem dokumentu. Zamierzona jest integracja z innymi jêzykami Host takimi jak XHTML. Dokument zgodny z zdarzeniami XML jest dokumentem wymagaj±cym jedynie u³atwieñ opisanych jako niezbêdne w tej specyfikacji i u³atwieñ opisanych jako niezbêdne w jego jêzyku host. Taki dokument musi spe³niaæ wszystkie nastêpuj±ce kryteria:
Dokument musi byæ zgodny z ograniczeniami wyra¿onymi w Appendix B - Implementacja Schematu, lub Appendix A - Implementacja DTD, po³±czona z ograniczeniami wyra¿onymi w implementacji jego jêzyka host.
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³adowy znacznik pocz±tkowy elementu korzenia mo¿e wygl±daæ nastêpuj±co:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:ev="http://www.w3.org/2001/xml-events" >
Kiedy Zdarzenia XML s± zawarte w jêzyku host, wszystkie z urz±dzeñ wymaganych w tej specyfikacji nie mog± byæ zawarte w jêzyku host. W dodatku elementy i atrybuty odre¶lone w tej specyfikacji musz± byæ zawarte w modelu zawarto¶ci jêzyka host.
2.3. Zgodno¶æ Agenta U¿ytkownikaZgodny u¿ytkownik musi wspieraæ wszystkie cechy wymagane w tej specyfikacji.
3. Modu³ Zdarzeñ XMLTak specyfikacja jest normatywna.
Ta specyfikacja okre¶la modu³ zwany Zdarzenia XML. Modu³ zdarzeñ XML u¿ywa identyfikatora przestrzeni nazw XML [XMLNAMES] http://www.w3.org/2001/xml-events
.
Przyk³ady w tym dokumencie, które u¿ywaj± prefiksu przestrzeni nazw "ev
" zak³adaj± wszystkie deklaracjê xmlns
xmlns:ev="http://www.w3.org/2001/xml-events"
gdziekolwiek w danym dokumencie. Wszystkie przyk³ady s± informacyjne.
Reszta tej czê¶ci opisuje elementy i atrybuty w tym module, semantykê i zapewnia streszczenie definicji modu³u jako wymagan± w [ XHTMLMOD].
Modu³ Zdarzeñ XML wspomaga nastêpuj±cy element i atrybuty:
Element Atrybuty Minimalny Model Zawarto¶ci listener event ( NMTOKEN),Implementacje: DTD, Schemat XML
3.1. Element listenerElement listener
wspomaga podzbiór interfejsu EventListener
DOM. Jest u¿ywany do deklaracji event listener i zarejestrowania ich ze szczególnymi wêz³ami w DOM, oraz posiada nastêpuj±ce atrybuty:
event
wyszczególnia typ event, dla którego który listener jest rejestrowany. Jak okre¶lono przez [DOM2EVENTS], warto¶æ atrybutu powinna byæ Nazw± XML [XML].
observer
okre¶la id
elementu, z którym dany event listener ma byæ zarejestrowany. Je¿eli ten atrybut nie wystêpuje, observer jest elementem, na którym jest atrybut event
(patrz dalej pod " Do³±czanie Atrybutów Bezpo¶rednio do Elementu Observer"), lub przodek celu tamtego elementu (patrz dalej pod " Do³±czanie Atrybutów Bezpo¶rednio do Elementu Observer").
target
okre¶la id
elementu docelowego zdarzenia (tj. wêze³, który spowodowa³ zdarzenie). Je¿eli ten atrybut wystêpuje, tylko zdarzenia pasuj±ce do obu atrybutów event
oraz target
bêd± przetworzone przez powi±zany program obs³ugi handler. Niew±tpliwie ze wzglêdu na sposób, w jaki zdarzenia rozprzestrzeniaj± siê, docelowy element powinien byæ wêz³em potomkowym elementu observer, lub te¿ sam powinien byæ elementem observer.
U¿ywanie tego atrybutu wymaga staranno¶ci; n przyk³ad je¶li okre¶lasz
< listener event="click" observer="para1" target="link1" handler="#clicker"/>
gdzie 'para1' jest pewnym przodkiem nastêpuj±cego wêz³a
<a id="link1" href="doc.html"> The <em>draft</em> document</a>
i u¿ytkownik klika s³owo "draft", element <em>
a nie <a>
bêdzie celem, tak wiêc handler nie bêdzie aktywowany; aby z³apaæ wszystkie klikniêcia myszk±, element <a>
i jego potomkowie u¿ywaj± observer="link1"
, i ¿adnego atrybutu target
.
handler
okre¶la odno¶nik URI ¼ród³a, który definiuje czynno¶æ, która powinna byæ wykonana, je¿eli zdarzenie osi±ga observer. (Ta specyfikacja nie nakazuje, jak± formê tego elementu powinien przyj±æ: patrz dalej w tej czê¶ci" Event Handlers"). Je¶li ten atrybut nie wystêpuje, handler jest elementem, na którym jest atrybut event
(patrz dalej pod " Do³±czanie Atrybutów Bezpo¶rednio do Elementu Handler ").
phase
okre¶la kiedy (podczas którego zdarzenia DOM 2 propagation phase) listener bêdzie aktywowany przez ¿±dane zdarzenie.
capture
default
Zachowanie warto¶ci domy¶lnej to phase="default"
.
Zauwa¿, ¿e nie wszystkie zdarzenia b±belkuj±, przypadek phase="default", w którym mo¿na tylko obs³ugiwaæ zdarzenie poprzez zmianê celu zdarzenia w observer.
propagate
okre¶la, czy po przetwarzaniu wszystkich listener w aktualnym wê¼le, zdarzenie mo¿e kontunuowaæ na swoim podprogramie korekcyjnym (zarówno w fazie chwytania, jak i bulgotania).
stop
continue
Zachowanie warto¶ci domy¶lnej to propagate="continue"
.
defaultAction
okre¶la, czy po przetworzeniu wszystkich listener dla zdarzenia, czy domy¶lna czynno¶æ dla zdarzenia (je¶li jest) powinna byæ wykonana, czy nie. Na przyk³ad, w XHTML domy¶ln± czynno¶ci± dla klikniêcia mysz± na element <a>
lun jeden z jego potomków jest transwersja linku.
cancel
perform
Warto¶ci± domy¶ln± jestdefaultAction="perform"
.
Zauwa¿, ¿e nie wszystkie zdarzenia mo¿na kasowaæ, w tym przypadku ten atrybut jest ignorowany.
id
jest jednoznacznym identyfikatorem dokumentu. Warto¶æ tego identyfikatora jest czêsto u¿ywana do manipulowania elementem przez interfejs DOM.
Zauwa¿, ¿e observer = "< element-id>"
i event = "<event-type>"
s± podobne do atrybutu begin = "<element-id>.<event-type>"
w SMIL EventTiming [SMIL20].
Ten przyk³ad za³±cza handler w element na "#doit"
, który zostanie aktywowany, kiedy zdarzenie zwane activate
wyst±pi na elemencie z id="button1"
, lub jakimkolwiek z jego potomków. Aktywacja bêdzie mia³± miejsce podczas b±belkowania, lub je¶li zdarzenie mia³o miejsce w samym elemencie observer, kiedy zdarzenie osi±ga element (faza e target).
< listener event="activate" observer="button1" handler="#doit"/>
Za³±cza do handler na #overflow-handler
, który 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"/>
Za³±cza do handler na #popup
, który zostanie aktywowany kiedykolwiek zdarzenie activate
wyst±pi na elemencie z id="embargo"
, lub jakimkolwiek z jego potomków. Poniewa¿ bêdzie aktywowany podczas fazy chwytania, a rozprzestrzenianie jest zatrzymane, bêdzie mia³o efekt (bez wzglêdu na to, co robi handler) zabobiegania jakichkolwiek elementów potomków w elemencie embargo
, nie widz±c zdarzeñ activate
.
< listener event="activate" observer="embargo" handler="#popup" phase="capture" propagate="stop"/>
Za³±cza to handler z innego dokumentu.
< listener event="activate" observer="image1" handler="/handlers/events.xml#activate"/>
Wszystkie atrybuty z elementu listener
z wyj±tkiem id
mog± byæ u¿yte jako atrybuty globalne, jak zdefiniowano w Przestrzeniach nazw w XML [XMLNAMES], do za³±czania atrybutów do innych elementów.
Zauwa¿, ¿e znaczy to, ¿e element <listener>
jest dok³adnie mówi±c zbêdny, poniewa¿ nastêpuj±cy element
< anyelement ev:event="click" ev:observer="button1" ev:handler="#clicker"/>
mia³by ten sam efekt, co
< ev:listener event="click" observer="button1" handler="#clicker"/>
Niemniej jednak, dla u¿yteczno¶ci element <listener>
zosta³ zachowany.
Je¿eli atrybut observer
jest ominiêty (ale nie atrybut handler
), wtedy element, do którego inne elementy s± za³±czone jest elementem observer.
Ten pierwszy przyk³ad za³±czy handler zidentyfikowany przez "#popper"
do elementu <a>
i skasuje domy¶ln± czynno¶æ dla zdarzenia.
<a href="doc.html" ev:event="activate" ev:handler="#popper" ev:defaultAction="cancel">The document</a>
Za³±czy to handler do #handle-overflow
dla zdarzenia overflow
do bie¿±cego elementu.
<div ev:event="overflow" ev:handler="#handle-overflow"> ... </div>
Je¶li podczas za³±czania globalnych atrybutów do elementu, atrybut handler
jest ominiêty, wtedy element, do którego inne atrybuty s± za³±czone to element handler.
Zauwa¿, ¿e ze wzglêdu na to, ¿e 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¿e byæ w innym dokumencie). Je¿eli atrybut observer
jest równie¿ pominiêty, wtedy przodek elementu handler jest elementem observer.
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>
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>
Element <script>
to handler dla zdarzenia click
; element <img>
to observer.
<img src="button.gif" alt="OK"> < script ev:event="activate" type="application/x-javascript"> doactivate(event); </script> </img>
Element <onevent>
to handler dla zdarzenia enterforward
. Element <card>
to observer.
<card> <onevent ev:event="enterforward"> <go href="/url"/> </onevent> <p> Hello! </p> </card>
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>
Ten przyk³ad 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>
Nastêpuj±ca tabelka podsumowuje, które elementy odgrywaj± role observer lub handler, je¶li odpowiedni atrybut jest pominiêty.
Skutek pominiêtego atrybutu observer i handler Handler obecny Handler pominiêty Observer obecny (Jak zdeklarowano) Element to handler Observer pominiêty Element to observer Element to handlerTa specyfikacja nie wymaga aplikacji XML u¿ywaj±cej Zdarzenia XML do u¿ywania ¿adnej szczególnej metody specyfikacji handlerów. Jednak przyk³ady, szczególnie te w sekcji o za³±czania atrybutów bezpo¶rednio do handlera, maj± na celu podanie przyk³adów jak mog± byæ okre¶lane.
Mo¿na jednak dostrzec, ¿e dwie metody mog± czêsto wystêpowaæ razem: skrypty (takie jak element skryptu XMTML i deklaracyjne znakowanie u¿ywaj±ce elementów XML (takich jak element <onevent> ). Specyfikacja zapewni znakowanie do wspierania tych metod.
3.6. Podstawowy Profil Zdarzeñ XMLPodstawowy Profil Zdarzeñ XML pozwala na u¿ywanie Modu³u Zdarzeñ XML w celu u³atwienia przetwarzania na ma³ych urz±dzeniach.
Podstawowy Profil zezwala na nastêpuj±ce ograniczenia przy u¿yciu elementu listener
i jego atrybutów, i na u¿ywanie atrybutów z elementu listener
jako atrybutów globalnych.
Zewnêtrzne Event Handlers
Zdolno¶æ przetworzenia zewnêtrznych event handlers nie jest wymagana. Kiedy jest u¿ywany atrybut 'handler' na elemencie listener
, lub kiedy jest u¿ywany globalny atrybut 'handler', to handler wyszczególniony w warto¶ci tego atrybutu powinien znajdowaæ siê w obrêbie bie¿±cego dokumentu.
Na przyk³±d nastêpuj±ce s± dozwolone:
< listener event="click" target="#button1" handler="#clicker"/>
kiedy nastêpuj±cy nie musi byæ przetwarzany:
< listener event="click" target="#button1" handler="doc2.html#clicker"/>
£±czenie event handler z observer mo¿e byæ wymagane, aby by³o leksykalnie przed koñcem elementu observer. Innymi s³owy, ³±czenie <listener> z observer mo¿e nie wyst±piæ po znaczniku zamykaj±cym element observer, a przenoszenie atrybutów event handler do po³±czenia z observer mo¿e równie¿ nie nast±piæ po znaczniku zamykaj±cym element observer.
Jest to czê¶æ informacyjna.
Ta specyfikacja nie okre¶la normatywnie jak projektanci jêzyków powinni nazywaæ zdarzenia (tj. warto¶ci u¿ywane w atrybucie event
).
Jednak przysz³e wersje Zdarzeñ DOM prawdopodobnie pozwol± na nazwy zdarzeñ przestrzeni nazw, wiêc zaleca siê projektantom jêzyków, aby nie u¿ywali znaku dwukropka ":" w nazwach zdarzeñ.
Liczba typów zdarzeñ jest okre¶lona w DOM2 [DOM2EVENTS], do której nale¿y odnosiæ siê przy ich nazwach i semantyce.
A.Implementacja DTDTen za³±cznik jest normatywny.
Implementacja DTD Zdarzeñ XML odpowiada wymaganiom okre¶lonym w [XHTMLMOD]. W konsekwencji zapewnia to submodu³ Nazw Okre¶laj±cych, oraz plik modu³u dla modu³u Zdarzeñ XML okre¶lonych w tej Proponowanej Rekomendacji.
A.1.Modu³ Nazw Okre¶laj±cychZauwa¿, ¿e ten modu³ okrela parametr elementu rekordu %xml-events-attrs.qname;
. Ten element rekordu powinien byæ u¿ywany w li¶cie elementów atrybutów w ka¿dym jêzyku host, który zezwala na u¿ycie atrybutów event na elementach w ich w³asnej przestrzeni nazw. W tym przypadku program obs³ugi Jêzyka Host powinien ustawiæ parametr elementu rekordu %XML-EVENTS.prefixed;
do INCLUDE
i parametr elementu rekordu %XML-EVENTS.prefix;
do warto¶ci, która jest prefiksem dla atrybutów 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¶laj±ce ::::::::::::::::::::::::::::: --> <!-- 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¶lonym w [XHTMLSCHEMAMOD]. Jest podzielona na modu³ atrybutów i modu³ elementu dla Modu³u Zdarzeñ XML okre¶lone w tej Proponowanej Rekomendacji.
B.1. Modu³ Atrybutów<?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¶niki
Ten za³±cznik jest normatywny.
C.1.Odno¶niki NormatywneJest to sekcja informacyjna.
Ten dokument zosta³ oryginalnie zredagowany przez Teda Wugofskiego (Openwave).
Specjalne podziêkowania dla: Mark Baker (Sun Microsystems), Wayne Carr (Intel Corporation), Warner ten Kate (Philips Electronics), Patrick Schmitz i Peter Stark (Ericsson) za ich znaczny wk³ad w rozwój tej specyfikacji.
W czasie publikacji, uczestnikami Grupy Roboczej W3C HTML byli:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3