Autor: Mariusz Żebrowski.
Lokalizacja:
http://www.antyspam.pl/w3c/REC-xml-events-20031014/
Dokument ten jest tłumaczeniem rekomendacji W3C XML Events. Przekład ten
nie jest przekładem normatywnym i może zawierać błędy wynikajšce z
tłumaczenia. Status normatywny posiada jedynie wersja angielskojęzyczna na
stronie W3C
http://www.w3.org/TR/2003/REC-xml-events-20031014/.
Dokument jest chroniony prawem autorskim. Copyright © 2004 W3C®
(MIT, ERCIM, Keio).
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.
Moduł 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.
Ta 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).
Jest 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ń.
Ta 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].
Zdarzenia 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.
Zgodny użytkownik musi wspierać wszystkie cechy wymagane w tej specyfikacji.
Tak 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),
observer ( IDREF), target (IDREF ), handler ( URI), phase ("capture" | "default"*), propagate ("stop" | "continue"*), defaultAction ("cancel" | "perform"*), id ( ID) |
PUSTY |
Implementacje: DTD, Schemat XML
Element 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.
Handler obecny | Handler pominięty | |
---|---|---|
Observer obecny | (Jak zdeklarowano) | Element to handler |
Observer pominięty | Element to observer |
Element to handler Przodek to observer |
Ta 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.
Podstawowy 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.
Ten 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.
Zauważ, ż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 -->
< !-- ...................................................................... --> < !-- 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 -->
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.
<?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>
<?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>
Ten załącznik jest normatywny.
Jest 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: