You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2986 lines
92 KiB
2986 lines
92 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE.css" type="text/css"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
|
|
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
|
<head>
|
|
<title>XML Events 2</title>
|
|
<style type="text/css">
|
|
.dtd-code { font-family: monospace; background-color: #dfdfdf; white-space: pre; border: #000000; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
|
|
code {
|
|
color: green;
|
|
font-family: monospace;
|
|
font-weight: bold;
|
|
}
|
|
h4 { color: #005A9C; background: white }
|
|
code.greenmono {
|
|
color: green;
|
|
font-family: monospace;
|
|
font-weight: bold;
|
|
}
|
|
.example {
|
|
border: solid green;
|
|
border-width: 2px;
|
|
color: green;
|
|
font-weight: bold;
|
|
margin-right: 5%;
|
|
margin-left: 0;
|
|
}
|
|
.bad {
|
|
border: solid red;
|
|
border-width: 2px;
|
|
margin-left: 0;
|
|
margin-right: 5%;
|
|
color: rgb(192, 101, 101);
|
|
}
|
|
div.navbar { text-align: center; }
|
|
div.contents {
|
|
background-color: rgb(204,204,255);
|
|
padding: 0.5em;
|
|
border: none;
|
|
margin-right: 5%;
|
|
}
|
|
.tocline { list-style: none; }
|
|
td { text-align: left }
|
|
.ins { background-color: yellow }
|
|
.del { background-color: yellow; text-decoration: line-through }
|
|
ul.acks { list-style: none }
|
|
p.issueTitle {
|
|
font-size: 150% ;
|
|
}
|
|
div.issue {
|
|
background-color: #cfc ;
|
|
border: none ;
|
|
margin-right: 5% ;
|
|
}
|
|
/* assertion styles
|
|
|
|
.must, .mustnot, .required, .shall, .shallnot, .should, .recommended, .may, .optional {
|
|
font-style: italic ;
|
|
background-color: #FF8040 ;
|
|
}
|
|
*/
|
|
</style>
|
|
<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE.css" />
|
|
<link rel="license" href="http://www.w3.org/Consortium/Legal/copyright-documents" />
|
|
<link rel="contents" href="#contents" />
|
|
<link rel="copyright" href="#copyright" />
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="head">
|
|
<a href="http://www.w3.org/"><img height="48" width="72" alt="W3C"
|
|
src="http://www.w3.org/Icons/w3c_home" /></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="title" > XML Events 2
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="subtitle" > An Events Syntax for XML
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="w3c-doctype" > W3C Working Group Note 16 December 2010
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
|
|
<dd><a href="http://www.w3.org/TR/2010/NOTE-xml-events2-20101216">http://www.w3.org/TR/2010/NOTE-xml-events2-20101216</a>
|
|
|
|
</dd>
|
|
|
|
<dt>Latest version:</dt>
|
|
<dd><a href="http://www.w3.org/TR/xml-events2">http://www.w3.org/TR/xml-events2</a></dd>
|
|
|
|
|
|
<dt>Previous version:</dt>
|
|
<dd><a href="http://www.w3.org/TR/2007/WD-xml-events-20070216">http://www.w3.org/TR/2007/WD-xml-events-20070216</a></dd>
|
|
|
|
<dt>Diff from previous version:</dt>
|
|
<dd><a href="xml-events-diff.html">xml-events-diff.html</a></dd>
|
|
|
|
<dt>Previous recommendation:</dt>
|
|
<dd><a href="http://www.w3.org/TR/2003/REC-xml-events-20031014">http://www.w3.org/TR/2003/REC-xml-events-20031014</a></dd>
|
|
|
|
<dt>Diff from previous recommendation:</dt>
|
|
<dd><a href="xml-events-rec-diff.html">xml-events-rec-diff.html</a></dd>
|
|
|
|
<dt>Editors:</dt>
|
|
<dd><a href="mailto:shane@aptest.com">Shane McCarron</a>,
|
|
<a href="http://www.aptest.com">Applied Testing and Technology,
|
|
<abbr title="Incorporated">Inc.</abbr></a><br />
|
|
<a href="mailto:mark.birbeck@sidewinderlabs.com">Mark Birbeck</a>,
|
|
<a href="http://sidewinderlabs.com/">Sidewinder Labs</a><br />
|
|
Roland Merrick, <a href="http://www.IBM.com">IBM</a>
|
|
</dd>
|
|
|
|
|
|
<dt>Version 1 Editors:</dt>
|
|
<dd><a href="mailto:shane@aptest.com">Shane McCarron</a>,
|
|
<a href="http://www.aptest.com">Applied Testing and Technology,
|
|
<abbr title="Incorporated">Inc.</abbr></a><br />
|
|
|
|
<a href="http://www.cwi.nl/~steven/">Steven Pemberton</a>,
|
|
<a href="http://www.cwi.nl"><abbr xml:lang="nl" title="Centrum voor Wiskunde en Informatica">CWI</abbr></a>/<a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup><br />
|
|
|
|
<a href="mailto:tvraman@almaden.ibm.com">T. V. Raman</a>,
|
|
<a href="http://www.ibm.com"><abbr title="International Business Machines">IBM</abbr> Corporation</a></dd>
|
|
</dl>
|
|
|
|
|
|
|
|
<p>This document is also available in these non-normative formats:
|
|
<a href="xml-events.ps">PostScript version</a>,
|
|
<a href="xml-events.pdf">PDF version</a>,
|
|
<a href="xml-events.zip">ZIP archive</a>, and
|
|
<a href="xml-events.tgz">Gzip'd TAR archive</a>.</p>
|
|
|
|
<p>The English version of this specification is the only normative version.
|
|
Non-normative <a href="http://www.w3.org/Consortium/Translation/"
|
|
>translations</a> may also be available.</p>
|
|
|
|
<p id="copyright" class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2003-2010 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p>
|
|
</div>
|
|
|
|
<hr />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="abstract" > Abstract
|
|
</h2>
|
|
|
|
|
|
<p>This specification defines three modules: XML Events to define events
|
|
and their characteristics; XML Handlers to define mappings between events
|
|
and actions; and XML Scripting to assist in defining functions to
|
|
support the handlers.
|
|
These modules work together to provide XML languages
|
|
with the ability to uniformly integrate event listeners and associated event
|
|
handlers with Document Object Model (DOM) Level 3 event interfaces
|
|
[<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>]. The result is to provide an interoperable way of
|
|
associating behaviors with document-level markup.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="status" > Status of This Document
|
|
</h2>
|
|
|
|
|
|
<p><em>This section describes the status of this document at the time
|
|
of its publication. Other documents may supersede this document. A
|
|
list of current W3C publications and the latest revision of this
|
|
technical report can be found in the <a
|
|
href="http://www.w3.org/TR/">W3C technical reports index</a> at
|
|
http://www.w3.org/TR/.</em></p>
|
|
|
|
<p>This document is a Working Group Note. The XHTML2 Working Group's
|
|
charter expired before it could complete work on this document.
|
|
Related work is being done by the <a
|
|
href="http://www.w3.org/MarkUp/Forms/">Forms Working
|
|
Group</a>.</p>
|
|
|
|
<p>Publication as a Working Group Note does not imply endorsement by
|
|
the W3C Membership. This is a draft document and may be updated,
|
|
replaced or obsoleted by other documents at any time. It is
|
|
inappropriate to cite this document as other than work in
|
|
progress.</p>
|
|
|
|
<p>This document has been produced by the <a href="http://www.w3.org/MarkUp/">W3C XHTML 2 Working Group</a> as part of the <a href="http://www.w3.org/MarkUp/Activity">HTML Activity</a>. The goals of
|
|
the XHTML 2 Working Group are discussed in the <a href="http://www.w3.org/2007/03/XHTML2-WG-charter">XHTML 2 Working Group charter</a>.</p>
|
|
|
|
<p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a rel="disclosure"
|
|
href="http://www.w3.org/2004/01/pp-impl/32107/status">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for
|
|
disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
|
|
Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.</p>
|
|
|
|
<p>Public discussion of HTML takes place on
|
|
<a href="mailto:www-html@w3.org">www-html@w3.org</a>
|
|
(<a href="http://lists.w3.org/Archives/Public/www-html/">archive</a>).
|
|
To subscribe send an email to
|
|
<a href="mailto:www-html-request@w3.org">www-html-request@w3.org</a>
|
|
with the word <em>subscribe</em> in the subject line.</p>
|
|
|
|
<p>Please report errors in this document to
|
|
<a href="mailto:www-html-editor@w3.org">www-html-editor@w3.org</a>
|
|
(<a href="http://lists.w3.org/Archives/Public/www-html-editor/">archive</a>).
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="contents" > Contents
|
|
</h1>
|
|
|
|
|
|
<div class="toc">
|
|
<ul class='toc'><li class='tocline'>
|
|
1.
|
|
<a href="#s_intro" class="tocxref"> Introduction</a>
|
|
|
|
</li><li class='tocline'>2.
|
|
<a href="#s_event_module_conformance" class="tocxref"> Conformance Requirements</a>
|
|
|
|
<ul class="toc"><li class='tocline'>2.1.
|
|
<a href="#docconf" class="tocxref"> Document Conformance</a>
|
|
|
|
</li><li class='tocline'>2.2.
|
|
<a href="#hostconf" class="tocxref"> Host Language Conformance</a>
|
|
|
|
</li><li class='tocline'>2.3.
|
|
<a href="#processorConf" class="tocxref"> Host Language Processor Conformance</a>
|
|
|
|
</li></ul></li><li class='tocline'>3.
|
|
<a href="#s_event_module_elements" class="tocxref"> The XML Events Module</a>
|
|
|
|
<ul class="toc"><li class='tocline'>3.1.
|
|
<a href="#section-listener-element" class="tocxref"> The listener Element</a>
|
|
|
|
<ul class="toc"><li class='tocline'>3.1.1.
|
|
<a href="#sec_3.1.1." class="tocxref"> Examples of listener Usage</a>
|
|
|
|
</li></ul></li><li class='tocline'>3.2.
|
|
<a href="#section-listener-observer" class="tocxref"> Attaching Attributes Directly
|
|
to the Observer Element</a>
|
|
|
|
<ul class="toc"><li class='tocline'>3.2.1.
|
|
<a href="#sec_3.2.1." class="tocxref"> Examples of Using Attributes Attached to an Observer Element</a>
|
|
|
|
</li></ul></li><li class='tocline'>3.3.
|
|
<a href="#section-listener-handler" class="tocxref"> Attaching Attributes Directly to the Handler Element</a>
|
|
|
|
<ul class="toc"><li class='tocline'>3.3.1.
|
|
<a href="#sec_3.3.1." class="tocxref"> Examples of Using Attributes Attached to a Handler Element</a>
|
|
|
|
</li></ul></li><li class='tocline'>3.4.
|
|
<a href="#section-attributedefaulting" class="tocxref"> Summary of Observer and Handler Attribute Defaulting</a>
|
|
|
|
</li><li class='tocline'>3.5.
|
|
<a href="#sec_3.5." class="tocxref"> Event Scope</a>
|
|
|
|
</li><li class='tocline'>3.6.
|
|
<a href="#sec_3.6." class="tocxref"> Listener Registration</a>
|
|
|
|
</li></ul></li><li class='tocline'>4.
|
|
<a href="#s_handler_module_elements" class="tocxref"> The XML Handlers Module</a>
|
|
|
|
<ul class="toc"><li class='tocline'>4.1.
|
|
<a href="#section-action-element" class="tocxref"> The action Element</a>
|
|
|
|
</li><li class='tocline'>4.2.
|
|
<a href="#section-dispatchEvent-element" class="tocxref"> The dispatchEvent Element</a>
|
|
|
|
</li><li class='tocline'>4.3.
|
|
<a href="#section-addEventListener-element" class="tocxref"> The addEventListener element</a>
|
|
|
|
</li><li class='tocline'>4.4.
|
|
<a href="#section-removeEventListener-element" class="tocxref"> The removeEventListener element</a>
|
|
|
|
</li><li class='tocline'>4.5.
|
|
<a href="#section-stopPropagation-element" class="tocxref"> The stopPropagation element</a>
|
|
|
|
</li><li class='tocline'>4.6.
|
|
<a href="#section-preventDefault-element" class="tocxref"> The preventDefault element</a>
|
|
|
|
</li></ul></li><li class='tocline'>5.
|
|
<a href="#s_script_module" class="tocxref"> The XML Scripting Module</a>
|
|
|
|
<ul class="toc"><li class='tocline'>5.1.
|
|
<a href="#section-script-element" class="tocxref"> The script Element</a>
|
|
|
|
</li></ul></li><li class='tocline'>6.
|
|
<a href="#section-event-naming" class="tocxref"> Naming Event Types</a>
|
|
|
|
</li><li class='tocline'>7.
|
|
<a href="#section-conditional-expressions" class="tocxref"> Conditional Expressions</a>
|
|
|
|
<ul class="toc"><li class='tocline'>7.1.
|
|
<a href="#conditional-function-library" class="tocxref"> Function Library</a>
|
|
|
|
<ul class="toc"><li class='tocline'>7.1.1.
|
|
<a href="#event-function" class="tocxref"> Event Function</a>
|
|
|
|
</li></ul></li></ul></li><li class='tocline'>A.
|
|
<a href="#a_DTD_definition" class="tocxref"> DTD Implementation</a>
|
|
|
|
<ul class="toc"><li class='tocline'>A.1.
|
|
<a href="#a_module_qname" class="tocxref"> Qualified Names Module</a>
|
|
|
|
</li><li class='tocline'>A.2.
|
|
<a href="#a_module_xml_events" class="tocxref"> XML Events Module</a>
|
|
|
|
</li><li class='tocline'>A.3.
|
|
<a href="#a_module_xml_handlers" class="tocxref"> XML Handlers Module</a>
|
|
|
|
</li><li class='tocline'>A.4.
|
|
<a href="#a_module_xml_script" class="tocxref"> XML Scripting Module</a>
|
|
|
|
</li></ul></li><li class='tocline'>B.
|
|
<a href="#a_Schema_definition" class="tocxref"> Schema Implementation</a>
|
|
|
|
<ul class="toc"><li class='tocline'>B.1.
|
|
<a href="#a_schema_attribs" class="tocxref"> Attributes Module</a>
|
|
|
|
</li><li class='tocline'>B.2.
|
|
<a href="#a_schema_xml_events" class="tocxref"> XML Events Module</a>
|
|
|
|
</li><li class='tocline'>B.3.
|
|
<a href="#a_schema_xml_handlers" class="tocxref"> XML Handlers Module</a>
|
|
|
|
</li><li class='tocline'>B.4.
|
|
<a href="#a_schema_xml_script" class="tocxref"> XML Scripting Module</a>
|
|
|
|
</li></ul></li><li class='tocline'>C.
|
|
<a href="#s_refs" class="tocxref"> References</a>
|
|
|
|
<ul class="toc"><li class='tocline'>C.1.
|
|
<a href="#s_norm-refs" class="tocxref"> Normative References</a>
|
|
|
|
</li><li class='tocline'>C.2.
|
|
<a href="#s_other-refs" class="tocxref"> Other References</a>
|
|
|
|
</li></ul></li><li class='tocline'>D.
|
|
<a href="#s_changes" class="tocxref"> Change History</a>
|
|
|
|
</li><li class='tocline'>E.
|
|
<a href="#s_acks" class="tocxref"> Acknowledgments</a>
|
|
|
|
</li></ul>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_intro" >1. Introduction
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><em>This section is informative.</em></p>
|
|
|
|
<p>An <em>event</em> is the representation of some asynchronous occurrence
|
|
(such as a mouse click on the presentation of the element, or an arithmetical
|
|
error in the value of an attribute of the element, or any of unthinkably many
|
|
other possibilities) that gets associated with an element (<em>targeted</em> at it) in an XML
|
|
document.</p>
|
|
|
|
<p>In the DOM model of events [<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>], the general
|
|
behavior is that when an event occurs it is <em>dispatched</em> by passing it
|
|
down the document tree in a phase called <em>capture</em> to the element
|
|
where the event occurred (called its <em>target</em>), where it then may be
|
|
passed back up the tree again in the phase called <em>bubbling</em>. In
|
|
general an event can be responded to at any element in the path (an <em>observer</em>) in either
|
|
phase by causing an action, and/or by stopping the event, and/or by
|
|
cancelling the default action for the event. The following diagram illustrates this:</p>
|
|
|
|
<p>
|
|
<img src="images/event-flow.png" alt="Event propagation flow diagram"
|
|
longdesc="#event-flow-desc" />
|
|
<br />
|
|
<em id="event-flow-desc">Event flow in DOM3: an event targeted at an element (marked 'target') in the tree passes down the tree from the root to the target in the phase called 'capture'.
|
|
When it arrives at the target it is in the 'target' (or 'at-target') phase. If the event type allows it, the event then travels back up the tree by the same route in a phase called 'bubbling'. Any node in the route, including the root node and the target, may be an 'observer': that is to say, a handler may be attached to it that is activated when the event passes through in either phase. A handler can only listen for one phase. To listen for both you have to attach two handlers.</em></p>
|
|
|
|
<p>An <em>action</em> is some way of responding to an event; a
|
|
<em>handler</em> is some specification for such an action, for instance using
|
|
scripting or some other method. A <em>listener</em> is a binding of such a
|
|
handler to an event targeting some element in a document.</p>
|
|
|
|
<p>HTML [<a class="nref" href="#ref_HTML4">HTML4</a>] binds events to an element by
|
|
encoding the event name in an attribute name, such that the value of the
|
|
attribute is the action for that event at that element. This method has two
|
|
main disadvantages: firstly it hardwires the events into the language, so
|
|
that to add a new event, you have to make a change to the language, and
|
|
secondly it forces you to mix the content of the document with the
|
|
specifications of the scripting and event handling, rather than allowing you
|
|
to separate them out.
|
|
SVG [<a class="nref" href="#ref_SVG">SVG</a>] uses a similar method.</p>
|
|
|
|
<p>The process of defining XHTML and related markup languages
|
|
identified the need for an
|
|
extensible event specification method. The design requirements were the
|
|
following:</p>
|
|
<ul>
|
|
<li>Syntactically expose the DOM event model to an XML document
|
|
[<a class="nref" href="#ref_XML">XML</a>].</li>
|
|
<li>Provide for new event types without requiring modification to the DOM
|
|
or the DTD.</li>
|
|
<li>Allow for integration with other XML languages.</li>
|
|
</ul>
|
|
|
|
<p>The DOM specifies an event model that provides the following features:</p>
|
|
<ul>
|
|
<li>A generic event system,</li>
|
|
<li>Means for registering event listeners and handlers,</li>
|
|
<li>Means for routing events through a tree structure,</li>
|
|
<li>Access to context information for each event, and</li>
|
|
<li>A definition of event flow, as sketched above.</li>
|
|
</ul>
|
|
|
|
<p>The elements and attributes defined in this
|
|
specification are the method of binding a DOM level 3 event at an element to
|
|
an event handler. They encapsulate various aspects of the DOM level 3 event
|
|
interface, thereby providing markup-level specification of the actions to be
|
|
taken during the various phases of event propagation.</p>
|
|
|
|
<p>This document neither specifies particular events, nor mandates any
|
|
particular methods of specifying actions. These definitions are left to any
|
|
markup language using the facilities described here.</p>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_event_module_conformance" >2. Conformance Requirements
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This section is <em>normative</em>.</p>
|
|
<p>
|
|
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
|
|
"RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as
|
|
described in [<a class="nref" href="#ref_RFC2119">RFC2119</a>].
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="docconf" >2.1. Document Conformance
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>XML Events is not a stand-alone document type. It is intended to
|
|
be integrated into other Host Languages such as XHTML.
|
|
A conforming XML Events document is a document that
|
|
requires only the facilities described as mandatory in this
|
|
specification and the facilities described as mandatory in its Host Language.
|
|
Such a document must meet all the following
|
|
criteria:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p><span class="must" >The document MUST conform to the constraints expressed in
|
|
<a href='#a_Schema_definition'>Appendix B -
|
|
Schema Implementation</a> or
|
|
<a href='#a_DTD_definition'>Appendix A -
|
|
DTD Implementation</a>, combined with the constraints expressed in its
|
|
Host Language implementation.</span></p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><span class="must" >If the Host Language does not incorporate XML Events
|
|
elements and attributes into its own namespace,
|
|
the document MUST contain an <code>xmlns</code> declaration for the XML Events namespace
|
|
[<a class="nref" href="#ref_XMLNAMES">XMLNAMES</a>]</span>.
|
|
The namespace for XML Events is
|
|
defined to be
|
|
<code>http://www.w3.org/2001/xml-events</code>.
|
|
An example start tag of a root element might look like:</p>
|
|
<div class="good">
|
|
<pre>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
|
|
xmlns:ev="http://www.w3.org/2001/xml-events" >
|
|
</pre>
|
|
</div>
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="hostconf" >2.2. Host Language Conformance
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><span class="must" >When XML Events are included in a Host Language, all of the
|
|
facilities required in this specification MUST be included in the Host
|
|
Language</span>. <span class="must" >In addition, the mandatory elements and attributes defined in this
|
|
specification MUST be included in the content model of the Host
|
|
Language</span>.
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="processorConf" >2.3. Host Language Processor Conformance
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><span class="must" >A conforming Host Language Processor MUST support all of the features required
|
|
in this specification.</span></p>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_event_module_elements" >3. The XML Events Module
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><em>This section is normative.</em></p>
|
|
|
|
<p>This specification defines a module called XML Events. The XML Events
|
|
module uses the XML namespace [<a class="nref" href="#ref_XMLNAMES">XMLNAMES</a>] identifier
|
|
<code>http://www.w3.org/2001/xml-events</code>.</p>
|
|
|
|
<p>Examples in this document that use the namespace prefix "<code>ev</code>"
|
|
all assume an <code>xmlns</code> declaration
|
|
<code>xmlns:ev="http://www.w3.org/2001/xml-events"</code> somewhere suitable
|
|
in the document involved. All examples are informative.</p>
|
|
|
|
<p>The remainder of this section describes the elements and attributes in
|
|
this module, the semantics, and provides an abstract module definition as
|
|
required in [<a class="nref" href="#ref_XHTMLMOD">XHTMLMOD</a>].</p>
|
|
|
|
<p>The XML Events Module supports the following element and attributes:</p>
|
|
|
|
<table cellpadding="3" class="moduledef" border="1"
|
|
summary="Element and Attributes for XML Events Module">
|
|
<thead>
|
|
<tr>
|
|
<th>Element</th>
|
|
<th>Attributes</th>
|
|
<th>Minimal Content Model</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><a href="#section-listener-element">listener</a></td>
|
|
<td>event (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QNames">QNames</a></span>),<br />
|
|
observer (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_IDREFS">IDREFS</a></span>),<br />
|
|
eventTarget (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_IDREFS">IDREFS</a></span>),<br />
|
|
function (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_CDATA">CDATA</a></span>),<br />
|
|
handler (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a></span>),<br />
|
|
phase ("bubble" | "capture" | "default"* | "target"),<br />
|
|
propagate ("stop" | "continue"*),<br />
|
|
defaultAction ("cancel" | "perform"*),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])<br />
|
|
</td>
|
|
<td>EMPTY</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p>Implementations: <a href="#a_module_xml_events">DTD</a>,
|
|
<a href="#a_schema_xml_events">XML Schema</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-listener-element" >3.1. The listener Element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p>Element <code>listener</code> supports a subset of the DOM's
|
|
<code>EventListener</code> interface. It is used to declare event listeners
|
|
and register them with specific nodes in the DOM, and has the following
|
|
attributes:</p>
|
|
<dl>
|
|
<dt><a id="attr-listener-event">event</a></dt>
|
|
<dd>The required <code>event</code> attribute specifies one, or more, event types
|
|
for which the listener is being registered.</dd>
|
|
<dt><a id="attr-listener-observer"></a>observer</dt>
|
|
<dd>The optional <code>observer</code> attribute specifies the
|
|
<code>id</code> of one, or more, elements with which the event listener is to be
|
|
registered. If this attribute is not present, the observer is the
|
|
element that the <code>event</code> attribute is on (see later under
|
|
"<a href="#section-listener-observer">Attaching Attributes Directly to
|
|
the Observer Element</a>"), or the parent of that element (see later
|
|
under "<a href="#section-listener-handler">Attaching Attributes
|
|
Directly to the Handler Element</a>").
|
|
|
|
</dd>
|
|
|
|
<dt><a id="attr-listener-eventTarget">eventTarget</a></dt>
|
|
|
|
<dd>The optional <code>eventTarget</code> attribute specifies the
|
|
<code>id</code> of one, or more, target elements of the event (i.e., the node that
|
|
caused the event). If this attribute is present, only events that match
|
|
both the <code>event</code> and <code>eventTarget</code> attributes will be
|
|
processed by the associated event handler. Clearly because of the way
|
|
events propagate, the target element should be a descendent node of
|
|
the observer element, or the observer element itself.
|
|
<p>Use of this attribute requires care; for instance, if you specify</p>
|
|
|
|
|
|
|
|
|
|
<div class="example">
|
|
<pre>
|
|
<listener event="click" observer="para1" eventTarget="link1" handler="#clicker"/>
|
|
...
|
|
<p id="para1">
|
|
Here is some content in a paragraph that includes a link to
|
|
<a id="link1" href="Overview.html">the
|
|
<em>draft</em>
|
|
document</a>.
|
|
</p>
|
|
</pre>
|
|
</div>
|
|
<p>and the user happens to click on the word "draft", the
|
|
<code>em</code> element, and not the <code>a</code>,
|
|
will be the target, and so the handler will not be activated; to catch
|
|
all mouse clicks on the <code>a</code> element and its children,
|
|
use <code>observer="link1"</code>, and no <code>eventTarget</code>
|
|
attribute.</p>
|
|
</dd>
|
|
<dt id="attr-listener-function">function</dt>
|
|
<dd>The <code>function</code> attribute identifies an optional
|
|
function name that will be called when the event reaches the observer.</dd>
|
|
<dt><a id="attr-listener-handler">handler</a></dt>
|
|
<dd>The optional <code>handler</code> attribute specifies the URI reference of a
|
|
resource that defines the action that should be performed if the event
|
|
reaches the observer.
|
|
If this attribute is not present, the handler is the element that the <code>event</code>
|
|
attribute is on (see later under "<a
|
|
href="#section-listener-handler">Attaching Attributes Directly to the
|
|
Handler Element</a>").
|
|
<p><span class="must" >If both the <code>function</code> and <code>handler</code> attributes
|
|
are defined, the <code>handler</code> element MUST be ignored.</span></p>
|
|
</dd>
|
|
<dt><a id="attr-listener-phase">phase</a></dt>
|
|
<dd>The optional <code>phase</code> attribute specifies when (during
|
|
which DOM 3 event propagation phase) the listener will be activated by
|
|
the desired event.
|
|
<dl>
|
|
<dt><code>bubble</code></dt>
|
|
<dd>Listener is activated during the bubbling phase.</dd>
|
|
<dt><code>capture</code></dt>
|
|
<dd>Listener is activated during the capture phase.</dd>
|
|
<dt><code>target</code></dt>
|
|
<dd>Listener is activated during the target phase.</dd>
|
|
<dt><code>default</code></dt>
|
|
<dd>Listener is activated during target or bubbling phases.</dd>
|
|
</dl>
|
|
<p>If no <code>phase</code> attribute is specified it is equivalent to having specified <code>phase="default"</code>.</p>
|
|
<p>Note that not all events bubble, in which case with <code>phase="default"</code>
|
|
you can only handle the event by making the event's target the observer. The use of <code>phase="default"</code> is equivalent to invoking the DOM <code>addEventListener</code> method with a <code>useCapture</code> that is <code>false</code>.</p>
|
|
</dd>
|
|
<dt><a id="attr-listener-propagate">propagate</a></dt>
|
|
<dd>The optional <code>propagate</code> attribute specifies whether after
|
|
processing all listeners at the current node, the event is allowed to
|
|
continue on its path (either in the capture, target, or bubble phase).
|
|
<dl>
|
|
<dt><code>stop</code></dt>
|
|
<dd>event propagation stops</dd>
|
|
<dt><code>continue</code></dt>
|
|
<dd>event propagation continues (unless stopped by other means,
|
|
such as scripting, or by another listener).</dd>
|
|
</dl>
|
|
<p>The default behavior is <code>propagate="continue"</code>.</p>
|
|
</dd>
|
|
<dt><a id="attr-listener-defaultAction">defaultAction</a></dt>
|
|
<dd>The optional <code>defaultAction</code> attribute specifies whether after
|
|
processing of all listeners for the event, the
|
|
default action for the event (if any) should be performed or not. For
|
|
instance, in XHTML the default action for a mouse click on an
|
|
<code>a</code> element or one of its descendents
|
|
is to traverse the link.
|
|
<dl>
|
|
<dt><code>cancel</code></dt>
|
|
<dd>if the event type is cancelable, the default action is
|
|
cancelled</dd>
|
|
<dt><code>perform</code></dt>
|
|
<dd>the default action is performed (unless cancelled by other
|
|
means, such as scripting, or by another listener).</dd>
|
|
</dl>
|
|
<p>The default value is <code>defaultAction="perform"</code>.</p>
|
|
<p>Note that not all events are cancelable, in which case this
|
|
attribute is ignored.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 id="sec_3.1.1." >3.1.1. Examples of listener Usage
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
|
|
<ol>
|
|
<li><p>This example attaches the handler in the element at
|
|
<code>"#doit"</code> that will get activated when the event called
|
|
<code>activate</code> occurs on the element with
|
|
<code>id="button1"</code>, or any of its children. The activation will
|
|
occur during bubbling, or if the event happened on the observer element
|
|
itself, when the event reaches the element (phase <em>target</em>).</p>
|
|
<pre><listener event="DOMActivate" observer="button1" handler="#doit"/></pre>
|
|
</li>
|
|
<li><p>This attaches the handler at <code>#overflow-handler</code> that
|
|
will get activated when the event <code>overflow</code> occurs on the
|
|
element with <code>id="expr1"</code> and bubbles up to the element with
|
|
<code>id="prog1"</code>.</p>
|
|
<pre><listener event="overflow" observer="prog1" eventTarget="expr1"
|
|
handler="#overflow-handler"/></pre>
|
|
</li>
|
|
<li><p>This attaches the handler at <code>#popup</code> that will get
|
|
activated whenever an <code>activate</code> event occurs at the element
|
|
with <code>id="embargo"</code> or any of its children. Since it will be
|
|
activated during the capture phase, and propagation is stopped, this will
|
|
have the effect (regardless of what the handler does) of preventing any
|
|
child elements of the <code>embargo</code> element seeing any
|
|
<code>activate</code> events.</p>
|
|
<pre><listener event="DOMActivate" observer="embargo" handler="#popup"
|
|
phase="capture" propagate="stop"/></pre>
|
|
</li>
|
|
<li><p>This attaches a handler from another document.</p>
|
|
<pre><listener event="DOMActivate" observer="image1"
|
|
handler="/handlers/events.xml#activate"/></pre>
|
|
</li>
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-listener-observer" >3.2. Attaching Attributes Directly
|
|
to the Observer Element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p id="col_XMLEvents">All the attributes from the <code>listener</code> element with the
|
|
exception of <code>id</code> may be used as global attributes, as
|
|
defined in <em>Namespaces in XML</em> [<a class="nref" href="#ref_XMLNAMES">XMLNAMES</a>],
|
|
to attach the attributes to other elements.
|
|
<em>In the schema implementations,
|
|
this is done by defining the attribute collection <code>XMLEvents</code>.</em>
|
|
</p>
|
|
|
|
<p>Note that this means that the <code>listener</code> element is
|
|
strictly speaking redundant, since the following</p>
|
|
<pre><anyelement ev:event="click" ev:observer="button1" ev:handler="#clicker"/></pre>
|
|
|
|
<p>would have the same effect as</p>
|
|
<pre><ev:listener event="click" observer="button1" handler="#clicker"/></pre>
|
|
|
|
<p>Nonetheless, for utility the <code>listener</code> element has
|
|
been retained.</p>
|
|
|
|
<p>If the <code>observer</code> attribute is omitted (but not the
|
|
<code>handler</code> attribute), then the element that the other
|
|
attributes are attached to is the observer element.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 id="sec_3.2.1." >3.2.1. Examples of Using Attributes Attached to an Observer Element
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
|
|
<ol>
|
|
<li><p>This first example will attach the handler identified by
|
|
<code>"#popper"</code> to the <code>a</code> element, and cancel
|
|
the default action for the event.</p>
|
|
<pre><a href="doc.html" ev:event="DOMActivate" ev:handler="#popper"
|
|
ev:defaultAction="cancel">The document</a></pre>
|
|
</li>
|
|
<li><p>This will attach the handler at <code>#handle-overflow</code> for
|
|
the event <code>overflow</code> to the current element.</p>
|
|
<pre><div ev:event="overflow" ev:handler="#handle-overflow"> ... </div></pre>
|
|
</li>
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-listener-handler" >3.3. Attaching Attributes Directly to the Handler Element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>If, when attaching the global attributes to an element, the <code>handler</code> attribute is
|
|
omitted then the element that the other attributes are attached to is the handler element.</p>
|
|
|
|
<p>Note that, since the <code>observer</code> and <code>eventTarget</code>
|
|
attributes are IDREFs, in this case the handler and observer/target elements
|
|
must be in the same document (while in other cases, since the
|
|
<code>handler</code> attribute is a URI, the handler element may be in
|
|
another document).</p>
|
|
|
|
<p>If the <code>observer</code> attribute is also omitted, then
|
|
the parent of the handler element is the observer element.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 id="sec_3.3.1." >3.3.1. Examples of Using Attributes Attached to a Handler Element
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ol>
|
|
<li><p>In this case the element is the handler for the <code>submit</code>
|
|
event on the element with <code>id="form1"</code>.</p>
|
|
<pre><script type="application/x-javascript"
|
|
ev:event="submit" ev:observer="form1">
|
|
return docheck(event);
|
|
</script></pre>
|
|
</li>
|
|
<li><p>In this case the <code>action</code> element is the handler
|
|
for event <code>q-submit</code>, and the observer is the
|
|
<code>questionnaire</code> element.</p>
|
|
<pre><questionnaire submissionURL="/q/tally">
|
|
<action ev:event="q-submit">
|
|
...
|
|
</action>
|
|
...
|
|
</questionnaire></pre>
|
|
</li>
|
|
<li><p>The <code>script</code> element is the handler for event
|
|
<code>click</code>; the <code>img</code> element is the
|
|
observer.</p>
|
|
<pre><img src="button.gif" alt="OK">
|
|
<script ev:event="DOMActivate" type="application/x-javascript">
|
|
doactivate(event);
|
|
</script>
|
|
</img></pre>
|
|
</li>
|
|
<li><p>The <code>onevent</code> element is the handler for event
|
|
<code>enterforward</code>. The <code>card</code> element is the
|
|
observer.</p>
|
|
<pre><card>
|
|
<onevent ev:event="enterforward">
|
|
<go href="/url"/>
|
|
</onevent>
|
|
<p>
|
|
Hello!
|
|
</p>
|
|
</card></pre>
|
|
</li>
|
|
<li><p>The <code>catch</code> element is the handler for the
|
|
<code>nomatch</code> event. The observer is the <code>field</code>
|
|
element.</p>
|
|
<pre><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></pre>
|
|
</li>
|
|
<li><p>This example shows three handlers for different events. The observer
|
|
for all three is the <code>secret</code> element.</p>
|
|
<pre><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></pre>
|
|
</li>
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-attributedefaulting" >3.4. Summary of Observer and Handler Attribute Defaulting
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>The following table summarizes which elements play the role of
|
|
observer or handler if the relevant attribute is omitted.</p>
|
|
|
|
<table cellpadding="3" border="1" summary="The effect of omitted observer and handler attributes">
|
|
<caption>The effect of omitted observer and handler attributes</caption>
|
|
<tbody>
|
|
<tr>
|
|
<td></td>
|
|
<th>Handler present</th>
|
|
<th>Handler omitted</th>
|
|
</tr>
|
|
<tr>
|
|
<th>Observer present</th>
|
|
<td>(As declared)</td>
|
|
<td>Element is handler</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Observer omitted</th>
|
|
<td>Element is observer</td>
|
|
<td>Element is handler<br />
|
|
Parent is observer</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="sec_3.5." >3.5. Event Scope
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p>In some environments (e.g., User Agents) it is possible to have multiple documents available simultaneously - even to
|
|
the extent that one document is <em>embedded</em> within another (see the <code>iframe</code> element in [<a class="nref" href="#ref_XHTMLMOD">XHTMLMOD</a>]).
|
|
When multiple documents are available, each of these documents is in a separate <em>context</em>.
|
|
Consequently, it is not possible for DOM events to move among these separate documents. This means, for example, that if one document is
|
|
embedded within another, an event fired in the context of that document WILL NOT be available to the event handlers in enclosing document.
|
|
See [<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>] for more information.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="sec_3.6." >3.6. Listener Registration
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p><span class="must" >Dynamic content MUST be evaluated by a user agent to ensure that any
|
|
new listeners or handlers are correctly registered with the event system.</span></p>
|
|
<p><span class="must" >An implementation MUST behave as if any event handlers
|
|
are registered prior to the DOM3 <code>load</code> event being fired.</span></p>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_handler_module_elements" >4. The XML Handlers Module
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><em>This section is normative.</em></p>
|
|
|
|
<p>The purpose of this module is to provide a declarative way to map
|
|
specific events to a series of one or more actions. Those actions are
|
|
declared either by the Host Language (e.g., [<a class="nref" href="#ref_XFORMS">XFORMS</a>]) or
|
|
within the document using the XML Events module above. Implementing
|
|
actual handlers for the events remains the purview of the Host
|
|
Language, supported scripting languages, etc.</p>
|
|
|
|
<p>The XML Handlers Module supports the following elements and attributes:</p>
|
|
|
|
<table cellpadding="3" class="moduledef" border="1"
|
|
summary="Element and Attributes for XML Handlers Module">
|
|
<thead>
|
|
<tr>
|
|
<th>Element</th>
|
|
<th>Attributes</th>
|
|
<th>Minimal Content Model</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><a href="#section-action-element">action</a></td>
|
|
<td>event (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QNames">QNames</a></span>),<br />
|
|
eventTarget (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_IDREFS">IDREFS</a></span>),<br />
|
|
declare ("declare"),<br />
|
|
if (<a href="#section-conditional-expressions">ConditionalExpression</a>),<br />
|
|
while (<a href="#section-conditional-expressions">ConditionalExpression</a>),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])
|
|
</td>
|
|
<td>( action | dispatchEvent | addEventListener | removeEventListener
|
|
| stopPropagation | preventDefault )+</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="#section-dispatchEvent-element">dispatchEvent</a></td>
|
|
<td>eventType (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QName">QName</a></span>),<br />
|
|
targetid (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_IDREFS">IDREFS</a></span>),<br />
|
|
bubbles ("bubbles"),<br />
|
|
cancelable ("cancelable"),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])
|
|
</td>
|
|
<td>EMPTY</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="#section-addEventListener-element">addEventListener</a></td>
|
|
<td>event* (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QName">QName</a></span>),<br />
|
|
handler* (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_IDREF">IDREF</a></span>),<br />
|
|
phase ("bubble" | "capture" | "default"* | "target"),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])
|
|
</td>
|
|
<td>EMPTY</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="#section-removeEventListener-element">removeEventListener</a></td>
|
|
<td>event* (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QName">QName</a></span>),<br />
|
|
handler* (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_IDREF">IDREF</a></span>),<br />
|
|
phase ("bubble" | "capture" | "default"* | "target"),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])
|
|
</td>
|
|
<td>EMPTY</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="#section-stopPropagation-element">stopPropagation</a></td>
|
|
<td>event* (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QName">QName</a></span>),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])
|
|
</td>
|
|
<td>EMPTY</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="#section-preventDefault-element">preventDefault</a></td>
|
|
<td>event* (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QName">QName</a></span>),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])
|
|
</td>
|
|
<td>EMPTY</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
|
|
<p><span class="must" >When this module is selected, the XML Events module MUST also be selected.</span></p>
|
|
|
|
<p>Implementations: <a href="#a_module_xml_handlers">DTD</a>,
|
|
<a href="#a_schema_xml_handlers">XML Schema</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-action-element" >4.1. The action Element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>The <code>action</code> element is used to group event
|
|
handler elements (including other <code>action</code> elements)
|
|
that will act <em>in sequence</em>
|
|
as handlers for an event. The
|
|
<code>action</code> element takes the following attributes:</p>
|
|
<dl>
|
|
<dt><a id="attr-action-event">event</a></dt>
|
|
<dd>The required <code>event</code> attribute specifies one, or more, event types
|
|
this action will handle.</dd>
|
|
<dt><a id="attr-action-eventTarget">eventTarget</a></dt>
|
|
|
|
<dd>The optional <code>eventTarget</code> attribute specifies the
|
|
<code>id</code> of one, or more, target elements of the event (i.e., the node that
|
|
caused the event). If this attribute is present, only events that match
|
|
both the <code>event</code> and <code>eventTarget</code> attributes will be
|
|
processed. Clearly because of the way
|
|
events propagate, the target element should be a descendant node of
|
|
the observer element, or the observer element itself.
|
|
</dd>
|
|
<dt><a id="attr-action-declare">declare</a></dt>
|
|
<dd>When present, this boolean attribute makes the current
|
|
element (and any elements it may contain) a declaration only.</dd>
|
|
|
|
<dt><a id="attr-listener-if">if</a></dt>
|
|
<dd>
|
|
The optional if attribute allows a condition to be specified.
|
|
This condition must be met in order for the event handler to be activated.
|
|
The condition is specified using a <a href="#section-conditional-expressions">Conditional Expression</a>.
|
|
There is no default value.
|
|
|
|
<p>This attribute allows event handlers to be specified that respond not just to named events,
|
|
but to more specific conditions, such as a mouse click with the control key pressed:</p>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="example">
|
|
<pre>
|
|
<action event="click" if="event('ctrlKey') = true()">
|
|
. . .
|
|
</action>
|
|
</pre>
|
|
</div>
|
|
|
|
<p>The event function is described in <a href="#event-function">Event Function</a>.</p>
|
|
</dd>
|
|
|
|
<dt><a id="attr-listener-while">while</a></dt>
|
|
<dd>
|
|
The optional while attribute allows a condition to be
|
|
specified. This condition must be met in order for the event
|
|
handler to be activated. The condition is specified using an
|
|
<a href="#section-conditional-expressions">Conditional Expression</a>. There is no default value.
|
|
|
|
<p>This attribute allows event handlers to be specified that
|
|
perform their action whilst some condition remains true.</p>
|
|
|
|
<p><em>EDITORS' NOTE:</em> Can't think of an example that only makes use of what we
|
|
have in this spec, i.e., the event() function. We may need to do something like delete a list in XForms.</p>
|
|
</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-dispatchEvent-element" >4.2. The dispatchEvent Element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>The <code>dispatchEvent</code> element triggers the event
|
|
identified by the <code>eventType</code> attribute, delivering
|
|
it to the element identified by the <code>to</code> attribute.</p>
|
|
|
|
<p>The <code>dispatchEvent</code> element also defines two additional
|
|
attributes:</p>
|
|
<dl>
|
|
<dt><a id="attr-dispatchEvent-bubbles">bubbles</a></dt>
|
|
<dd>
|
|
Optional boolean indicating if this event bubbles as defined
|
|
in [<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>]. The default value will depend on the
|
|
actual event being dispatched.</dd>
|
|
|
|
<dt><a id="attr-dispatchEvent-cancelable">cancelable</a></dt>
|
|
<dd>
|
|
Optional boolean indicating if this event is cancelable as
|
|
defined in [<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>]. The default value will depend on
|
|
the actual event being dispatched.</dd>
|
|
|
|
<dt><a id="attr-dispatchEvent-targetid">targetid</a></dt>
|
|
<dd>This attribute specifies the <code>id</code> of one or more elements to which the event is dispatched. If this is not specified,
|
|
it defaults to the parent of the <code>dispatchEvent</code> element</dd>
|
|
|
|
<dt><a id="attr-dispatchEvent-eventType">eventType</a></dt>
|
|
<dd>The <span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_QName">QName</a></span> of the event to be triggered.</dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-addEventListener-element" >4.3. The addEventListener element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This element allows the registration of a listener on a specific
|
|
event, as defined in [<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>]. </p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-removeEventListener-element" >4.4. The removeEventListener element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>The <code>removeEventListener</code> element de-registers the
|
|
handler identified by the required <code>handler</code> attribute for
|
|
the event identified by the required <code>event</code> attribute.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-stopPropagation-element" >4.5. The stopPropagation element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>The <code>stopPropagation</code>
|
|
element is used to prevent further propagation of an
|
|
event during event flow. If this is called by any EventListener the
|
|
event will cease propagating through the tree. The event will complete
|
|
dispatch to all listeners on the current EventTarget before event flow
|
|
stops. This action may be used during any stage of event flow.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-preventDefault-element" >4.6. The preventDefault element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>If an event is cancelable, the <code>preventDefault</code>
|
|
action is used to signify that
|
|
the event is to be canceled, meaning any default action normally taken by
|
|
the implementation as a result of the event will not occur. If, during any
|
|
stage of event flow, the <code>preventDefault</code>
|
|
action is called the event is
|
|
canceled. Any default action associated with the event will not occur.
|
|
Calling this action for a non-cancelable event has no effect. Once
|
|
preventDefault has been called it will remain in effect throughout the
|
|
remainder of the event's propagation. This action may be used during any
|
|
stage of event flow.</p>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_script_module" >5. The XML Scripting Module
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><em>This section is normative.</em></p>
|
|
|
|
<p>The XML Script Module defines an element for defining event handlers
|
|
via a scripting language.
|
|
This module can be used as a
|
|
replacement for the XHTML Scripting Module
|
|
defined in XHTML Modularization [<a class="nref" href="#ref_XHTMLMOD">XHTMLMOD</a>].</p>
|
|
|
|
<p>The XML Script Module supports the following element:</p>
|
|
|
|
<table cellpadding="3" class="moduledef" border="1" summary="Element for XML Script Module">
|
|
<thead>
|
|
<tr>
|
|
<th>Element</th>
|
|
<th>Attributes</th>
|
|
<th>Minimal Content Model</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><a href="#section-script-element">script</a></td>
|
|
<td>charset (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_Charset">Charset</a></span>),<br />
|
|
defer ("defer"), <br />
|
|
implements (<code>URIorSafeCURIEs</code>),<br />
|
|
src (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a></span>),<br />
|
|
type (<span class="datatype"><a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_ContentType">ContentType</a></span>),<br />
|
|
xml:id ([<a class="nref" href="#ref_XMLID">XMLID</a>])
|
|
</td>
|
|
<td>PCDATA</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p>When the Scripting module is included AND the XML Handlers Module
|
|
is included, the <code>script</code> element is added to the content
|
|
model of the XML Handlers Module <code>action</code> element.</p>
|
|
|
|
<p>Implementations: <a href="#a_module_xml_script">DTD</a>,
|
|
<a href="#a_schema_xml_script">XML Schema</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="section-script-element" >5.1. The script Element
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>The <code>script</code> element contains or references <em>scripts</em> that may register one or more event handlers for a document through a <em>scripting language</em> that is supported by the implementation.</p>
|
|
|
|
<dl>
|
|
<dt id="attr-script-charset">charset</dt>
|
|
<dd>The optional <code>charset</code> attribute specifies the encoding
|
|
of the remote resource identified by the <code>src</code> attribute.
|
|
</dd>
|
|
<dt id="attr-script-defer">defer</dt>
|
|
<dd>This attribute provides a hint to the user agent that the contents
|
|
of the <code>script</code> element will not effect the generation of the document.</dd>
|
|
<dt><a id="attr-script-implements">implements</a></dt>
|
|
<dd>The optional <code>implements</code> attribute indicates that the script provides an implementation of the feature or features identified via this attribute.
|
|
<span class="should" >The script SHOULD only be loaded and used if the user agent does not have an implementation of the specified feature.</span>
|
|
</dd>
|
|
<dt id="attr-script-src">src</dt>
|
|
<dd>The <code>src</code> attribute identifies an external resource
|
|
that provides the script implementation.</dd>
|
|
<dt id="attr-script-type">type</dt>
|
|
<dd>Defines the programming language in which the script is
|
|
implemented by using its media type.</dd>
|
|
<dt id="attr-script-xml-id">xml:id</dt>
|
|
<dd>The optional xml:id attribute assigns an identifier to an element. The value of this attribute must be unique within a document.</dd>
|
|
</dl>
|
|
|
|
<p>The event handler(s) may be defined within the contents of the
|
|
<code>script</code> element or in an external file. <span class="must" >If the <code>src</code>
|
|
attribute is not set, user agents MUST
|
|
interpret the contents of the element as the handler.</span>
|
|
<span class="must" >If the <code>src</code> has a URI value, user agents MUST ignore
|
|
the element's contents and retrieve the handler via the URI.</span>
|
|
</p>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="section-event-naming" >6. Naming Event Types
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><em>This section is informative.</em></p>
|
|
|
|
<p>This specification does not normatively specify how language designers
|
|
should name events (i.e., the values used in the <code>event</code>
|
|
attribute).</p>
|
|
|
|
<p>However, future versions of DOM Events are likely to allow namespaced event names, so language designers are advised not to use the colon character ":" in event names.</p>
|
|
|
|
<p>A number of event types are defined in DOM 3 Events [<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>], to
|
|
which you should refer for their names and semantics.</p>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="section-conditional-expressions" >7. Conditional Expressions
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>XML Events uses XPath-like expressions to specify conditionals
|
|
(<a href="#attr-listener-if">if</a>, <a href="#attr-listener-while">while</a>).
|
|
As described in section 1 of [<a class="nref" href="#ref_XPATH">XPATH</a>], each expression is evaluated
|
|
within a context, which is made up of:
|
|
</p>
|
|
<ul>
|
|
<li>a node (the context node)</li>
|
|
<li>a pair of non-zero positive integers (the context position and the context size)</li>
|
|
<li>a set of variable bindings</li>
|
|
<li>a function library</li>
|
|
<li>the set of namespace declarations in scope for the expression</li>
|
|
</ul>
|
|
|
|
<p>By default, XML Events expressions have no context node, and so the context
|
|
position is 0 and the context size is 0. There are no variable bindings, and
|
|
the function library contains the functions described below. It is
|
|
not necessary to provide namespace declarations.</p>
|
|
|
|
<p><span class="must" >Host languages that import XML Events may provide a richer context, and
|
|
MUST specify whether their context is the same as that provided here, or
|
|
more.</span></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="conditional-function-library" >7.1. Function Library
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p>The function library consists of the following functions:</p>
|
|
<ul>
|
|
<li>event</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 id="event-function" >7.1.1. Event Function
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
|
|
<p><code>object event(string)</code></p>
|
|
|
|
<p>Function <code>event</code> returns the value of a property of the current event object,
|
|
as determined by the string argument. The value returned will be typed,
|
|
depending on the property. For example, the MouseEvent interface [<a class="nref" href="#ref_DOM3EVENTS">DOM3EVENTS</a>]
|
|
has the
|
|
attribute <code>shiftKey</code>, which is a <code>boolean</code>. This can be accessed by passing the
|
|
string value '<code>shiftKey</code>' to the event function. The result will be an XPath-like
|
|
boolean.</p>
|
|
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="a_DTD_definition" >A. DTD Implementation
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This appendix is <em>normative</em>.</p>
|
|
|
|
<p>The DTD implementation of XML Events conforms to the requirements defined
|
|
in [<a class="nref" href="#ref_XHTMLMOD">XHTMLMOD</a>]. Consequently, it provides a Qualified
|
|
Names sub-module, and a module file for the XML Events
|
|
module defined in this Proposed Recommendation.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_module_qname" >A.1. Qualified Names Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>Note that this module defines the parameter entity
|
|
<code>%xml-events-attrs.qname;</code>. This entity is intended to be used in
|
|
the attribute lists of elements in any Host Language that permits the use of
|
|
event attributes on elements in its own namespace. In this case the Host
|
|
Language driver should set a parameter entity <code>%XML-EVENTS.prefixed;</code>
|
|
to <code>INCLUDE</code> and a parameter entity <code>%XML-EVENTS.prefix;</code>
|
|
to a value that is the prefix for the XML Events attributes.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<!-- ....................................................................... -->
|
|
<!-- XML Events Qname Module ............................................ -->
|
|
<!-- file: xml-events-qname-2.mod
|
|
|
|
This is XML Events - the Events Module for XML,
|
|
a definition of access to the DOM events model.
|
|
|
|
Copyright 2000-2007 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
|
|
|
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
|
|
|
|
PUBLIC "-//W3C//ENTITIES XML Events Qnames 2.0//EN"
|
|
SYSTEM "http://www.w3.org/MarkUp/DTD/xml-events-qname-2.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-2.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 <span class="entity">% NS.prefixed</span> "IGNORE" >
|
|
<!ENTITY <span class="entity">% XML-EVENTS.prefixed</span> "%NS.prefixed;" >
|
|
|
|
<!-- 2. Declare a parameter entity (eg., %XML-EVENTS.xmlns;) containing
|
|
the URI reference used to identify the XML Events namespace
|
|
-->
|
|
<!ENTITY <span class="entity">% XML-EVENTS.xmlns</span> "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 <span class="entity">% XML-EVENTS.prefix</span> "" >
|
|
|
|
<!-- 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 <span class="entity">% XML-EVENTS.pfx</span> "%XML-EVENTS.prefix;:" >
|
|
]]>
|
|
<!ENTITY <span class="entity">% XML-EVENTS.pfx</span> "" >
|
|
|
|
<!-- declare qualified name extensions here ............ -->
|
|
<!ENTITY <span class="entity">% xml-events-qname-extra.mod</span> "" >
|
|
%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 <span class="entity">% XML-EVENTS.xmlns.extra.attrib</span> "" >
|
|
|
|
|
|
<!-- Section B: XML Qualified Names ::::::::::::::::::::::::::::: -->
|
|
|
|
<!-- 6. This section declares parameter entities used to provide
|
|
namespace-qualified names for all XML Events element types.
|
|
-->
|
|
|
|
<!ENTITY <span class="entity">% xml-events.listener.qname</span> "%XML-EVENTS.pfx;listener" >
|
|
|
|
|
|
<!ENTITY <span class="entity">% xml-handlers.action.qname</span> "%XML-EVENTS.pfx;action" >
|
|
<!ENTITY <span class="entity">% xml-script.script.qname</span> "%XML-EVENTS.pfx;script" >
|
|
<!ENTITY <span class="entity">% xml-handlers.dispatchEvent.qname</span> "%XML-EVENTS.pfx;dispatchEvent" >
|
|
<!ENTITY <span class="entity">% xml-handlers.addEventListener.qname</span> "%XML-EVENTS.pfx;addEventListener" >
|
|
<!ENTITY <span class="entity">% xml-handlers.removeEventListener.qname</span> "%XML-EVENTS.pfx;removeEventListener" >
|
|
<!ENTITY <span class="entity">% xml-handlers.stopPropagation.qname</span> "%XML-EVENTS.pfx;stopPropagation" >
|
|
<!ENTITY <span class="entity">% xml-handlers.preventDefault.qname</span> "%XML-EVENTS.pfx;preventDefault" >
|
|
|
|
|
|
<!-- 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 <span class="entity">% xml-events.attrs.qname</span>
|
|
"%XML-EVENTS.pfx;event NMTOKEN #IMPLIED
|
|
%XML-EVENTS.pfx;observer IDREFS #IMPLIED
|
|
%XML-EVENTS.pfx;eventTarget IDREFS #IMPLIED
|
|
%XML-EVENTS.pfx;handler %URI.datatype; #IMPLIED
|
|
%XML-EVENTS.pfx;phase (capture|default) #IMPLIED
|
|
%XML-EVENTS.pfx;propagate (stop|continue) #IMPLIED
|
|
%XML-EVENTS.pfx;defaultAction (cancel|perform) #IMPLIED
|
|
%XML-EVENTS.pfx;condition CDATA #IMPLIED"
|
|
>
|
|
|
|
<!-- end of xml-events-qname-2.mod -->
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_module_xml_events" >A.2. XML Events Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<!-- ...................................................................... -->
|
|
<!-- XML Events Module .................................................... -->
|
|
<!-- file: xml-events-2.mod
|
|
|
|
This is XML Events - the Events Module for XML.
|
|
a redefinition of access to the DOM events model.
|
|
|
|
Copyright 2000-2007 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
|
|
|
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
|
|
|
|
PUBLIC "-//W3C//ENTITIES XML Events 2.0//EN"
|
|
SYSTEM "http://www.w3.org/MarkUp/DTD/xml-events-2.mod"
|
|
|
|
Revisions:
|
|
(none)
|
|
....................................................................... -->
|
|
|
|
|
|
<!-- XML Events defines the listener element and its attributes -->
|
|
|
|
<!ENTITY <span class="entity">% xml-events.listener.content</span> "EMPTY" >
|
|
|
|
<!ELEMENT <span class="element">%xml-events.listener.qname;</span> %xml-events.listener.content;>
|
|
<!ATTLIST %xml-events.listener.qname;
|
|
xml:id ID #IMPLIED
|
|
event NMTOKEN #REQUIRED
|
|
observer IDREF #IMPLIED
|
|
eventTarget IDREF #IMPLIED
|
|
handler %anyURI.datatype; #IMPLIED
|
|
phase (capture|default) #IMPLIED
|
|
propagate (stop|continue) #IMPLIED
|
|
defaultAction (cancel|perform) #IMPLIED
|
|
>
|
|
|
|
<!-- end of xml-events-2.mod -->
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_module_xml_handlers" >A.3. XML Handlers Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<!-- ................................................................... -->
|
|
<!-- XML Handlers Module ............................................... -->
|
|
<!-- file: xml-handlers-1.mod
|
|
|
|
This is XML Handlers - the Handlers Module for XML.
|
|
a redefinition of support for handlers of the DOM event model.
|
|
|
|
Copyright 2007-2008 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
|
|
|
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
|
|
|
|
PUBLIC "-//W3C//ENTITIES XML Handlers 1.0//EN"
|
|
SYSTEM "http://www.w3.org/MarkUp/DTD/xml-handlers-1.mod"
|
|
|
|
Revisions:
|
|
(none)
|
|
....................................................................... -->
|
|
|
|
|
|
<!-- XML Handlers defines the various element and attributes -->
|
|
|
|
<!ENTITY <span class="entity">% xml-handlers.action.content</span>
|
|
"( %xml-handlers.action.qname; |
|
|
%xml-handlers.dispatchevent.qname; |
|
|
%xml-handlers.addEventListener.qname; |
|
|
%xml-handlers.removeEventListener.qname; |
|
|
%xml-handlers.stopPropagation.qname; |
|
|
%xml-handlers.preventDefault.qname; |
|
|
%xml-handlers.action.extras; )+ "
|
|
>
|
|
|
|
<!ELEMENT <span class="element">%xml-handlers.action.qname;</span> %xml-handlers.action.content;>
|
|
<!ATTLIST %xml-handlers.action.qname;
|
|
xml:id ID #IMPLIED
|
|
event %QName.datatype; #IMPLIED
|
|
eventTarget IDREF #IMPLIED
|
|
declare ( declare ) #IMPLIED
|
|
if CDATA #IMPLIED
|
|
while CDATA #IMPLIED
|
|
>
|
|
|
|
<!ENTITY <span class="entity">% xml-handlers.dispatchEvent.content</span> "NONE" >
|
|
<!ELEMENT <span class="element">%xml-handlers.dispatchEvent.qname;</span>
|
|
%xml-handlers.dispatchEvent.content >
|
|
|
|
<ENTITY % xml-handlers.dispatchEvent.attlist "INCLUDE" >
|
|
<![%xml-handlers.dispatchEvent.attlist;[
|
|
<!ATTLIST %xml-handlers.dispatchEvent.qname;
|
|
%XML-EVENTS.xmlns.attrib;
|
|
xml:id ID #IMPLIED
|
|
targetid IDREFS #IMPLIED
|
|
eventType %QName.datatype; #IMPLIED
|
|
bubbles ( bubbles ) #IMPLIED
|
|
cancelable ( cancelable ) #IMPLIED
|
|
>
|
|
<!-- end of xml-handlers.dispatchEvent.attlist -->]]>
|
|
|
|
<!ENTITY <span class="entity">% xml-handlers.addEventListener.content</span> "NONE" >
|
|
<!ELEMENT <span class="element">%xml-handlers.addEventListener.qname;</span>
|
|
%xml-handlers.addEventListener.content >
|
|
|
|
<ENTITY % xml-handlers.addEventListener.attlist "INCLUDE" >
|
|
<![%xml-handlers.addEventListener.attlist;[
|
|
<!ATTLIST %xml-handlers.addEventListener.qname;
|
|
%XML-EVENTS.xmlns.attrib;
|
|
xml:id ID #IMPLIED
|
|
event %QName.datatype; #REQUIRED
|
|
handler IDREF #REQUIRED
|
|
phase (capture|default) #IMPLIED
|
|
>
|
|
<!-- end of xml-handlers.addEventListener.attlist -->]]>
|
|
|
|
<!ENTITY <span class="entity">% xml-handlers.removeEventListener.content</span> "NONE" >
|
|
<!ELEMENT <span class="element">%xml-handlers.removeEventListener.qname;</span>
|
|
%xml-handlers.removeEventListener.content >
|
|
|
|
<ENTITY % xml-handlers.removeEventListener.attlist "INCLUDE" >
|
|
<![%xml-handlers.removeEventListener.attlist;[
|
|
<!ATTLIST %xml-handlers.removeEventListener.qname;
|
|
%XML-EVENTS.xmlns.attrib;
|
|
xml:id ID #IMPLIED
|
|
event %QName.datatype; #REQUIRED
|
|
handler IDREF #REQUIRED
|
|
phase (capture|default) #IMPLIED
|
|
>
|
|
<!-- end of xml-handlers.addEventListener.attlist -->]]>
|
|
|
|
<!ENTITY <span class="entity">% xml-handlers.stopPropagation.content</span> "NONE" >
|
|
<!ELEMENT <span class="element">%xml-handlers.stopPropagation.qname;</span>
|
|
%xml-handlers.stopPropagation.content >
|
|
|
|
<ENTITY % xml-handlers.stopPropagation.attlist "INCLUDE" >
|
|
<![%xml-handlers.stopPropagation.attlist;[
|
|
<!ATTLIST %xml-handlers.stopPropagation.qname;
|
|
%XML-EVENTS.xmlns.attrib;
|
|
xml:id ID #IMPLIED
|
|
event %QName.datatype; #REQUIRED
|
|
>
|
|
<!-- end of xml-handlers.stopPropagation.attlist -->]]>
|
|
|
|
<!ENTITY <span class="entity">% xml-handlers.preventDefault.content</span> "NONE" >
|
|
<!ELEMENT <span class="element">%xml-handlers.preventDefault.qname;</span>
|
|
%xml-handlers.preventDefault.content >
|
|
|
|
<ENTITY % xml-handlers.preventDefault.attlist "INCLUDE" >
|
|
<![%xml-handlers.preventDefault.attlist;[
|
|
<!ATTLIST %xml-handlers.preventDefault.qname;
|
|
%XML-EVENTS.xmlns.attrib;
|
|
xml:id ID #IMPLIED
|
|
event %QName.datatype; #REQUIRED
|
|
>
|
|
<!-- end of xml-handlers.preventDefault.attlist -->]]>
|
|
|
|
<!-- end of xml-handlers-1.mod -->
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_module_xml_script" >A.4. XML Scripting Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<!-- ................................................................... -->
|
|
<!-- XML Scripting Module .............................................. -->
|
|
<!-- file: xml-script-1.mod
|
|
|
|
This is XML Scripting - the Scripting Module for XML.
|
|
|
|
Copyright 2008 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
|
|
|
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
|
|
|
|
PUBLIC "-//W3C//ENTITIES XML Scripting 1.0//EN"
|
|
SYSTEM "http://www.w3.org/MarkUp/DTD/xml-script-1.mod"
|
|
|
|
Revisions:
|
|
(none)
|
|
....................................................................... -->
|
|
|
|
|
|
<!-- XML Scripting defines the following element -->
|
|
|
|
<!ENTITY <span class="entity">% xml-script.script.content</span> "( #PCDATA )" >
|
|
<!ELEMENT <span class="element">%xml-script.script.qname;</span> %xml-handlers.script.content; >
|
|
<!ENTITY <span class="entity">% xml-script.script.attlist</span> "INCLUDE" >
|
|
<![%xml-script.script.attlist;[
|
|
<!ATTLIST %xml-script.script.qname;
|
|
%XML-EVENTS.xmlns.attrib;
|
|
xml:id ID #IMPLIED
|
|
encoding %Charset.datatype; #IMPLIED
|
|
type %ContentType.datatype; #REQUIRED
|
|
src %URI.datatype; #IMPLIED
|
|
implements %URIorSafeCURIEs.datatype; #IMPLIED
|
|
>
|
|
<!-- end of xml-script.script.attlist -->]]>
|
|
|
|
<!-- end of xml-script-1.mod -->
|
|
|
|
</pre>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="a_Schema_definition" >B. Schema Implementation
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This appendix is <em>normative</em>.</p>
|
|
<p>The schema implementation of XML Events conforms to the requirements defined
|
|
in [<a class="nref" href="#ref_XHTMLMOD">XHTMLMOD</a>]. It is divided
|
|
into an attributes module and an element module for the XML Events
|
|
module defined in this Proposed Recommendation.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_schema_attribs" >B.1. Attributes Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- INCLUDING SCHEMA SCHEMA/xml-events-attribs-2.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<?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-2.xsd
|
|
$Id: Overview.html,v 1.2 2010/12/17 20:25:20 plehegar Exp $
|
|
</xs:documentation>
|
|
<xs:documentation source="xml-events-copyright-2.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="eventTarget" 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="bubble"/>
|
|
<xs:enumeration value="capture"/>
|
|
<xs:enumeration value="default"/>
|
|
<xs:enumeration value="target"/>
|
|
</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:eventTarget"/>
|
|
<xs:attribute ref="ev:handler"/>
|
|
<xs:attribute ref="ev:phase"/>
|
|
<xs:attribute ref="ev:propagate"/>
|
|
<xs:attribute ref="ev:defaultAction"/>
|
|
</xs:attributeGroup>
|
|
|
|
</xs:schema>
|
|
|
|
</pre>
|
|
<!-- END OF FILE SCHEMA/xml-events-attribs-2.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_schema_xml_events" >B.2. XML Events Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- INCLUDING SCHEMA SCHEMA/xml-events-2.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<?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-2.xsd
|
|
$Id: Overview.html,v 1.2 2010/12/17 20:25:20 plehegar Exp $
|
|
</xs:documentation>
|
|
<xs:documentation source="xml-events-copyright-2.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-2.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="eventTarget" 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="<span class="element" id="a_smodule_element_listener">listener</span>" type="listener.type"/>
|
|
|
|
</xs:schema>
|
|
|
|
</pre>
|
|
<!-- END OF FILE SCHEMA/xml-events-2.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_schema_xml_handlers" >B.3. XML Handlers Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- INCLUDING SCHEMA SCHEMA/xml-handlers-1.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<?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:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
|
|
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 Handlers
|
|
|
|
URI: http://www.w3.org/MarkUp/SCHEMA/xml-handlers-1.xsd
|
|
$Id: Overview.html,v 1.2 2010/12/17 20:25:20 plehegar Exp $
|
|
</xs:documentation>
|
|
<xs:documentation source="xml-events-copyright-2.xsd"/>
|
|
</xs:annotation>
|
|
|
|
<xs:attributeGroup name="action.attlist">
|
|
<xs:attribute name="event" use="required" type="xs:QName"/>
|
|
<xs:attribute name="eventTarget" type="xs:IDREF"/>
|
|
<xs:attribute name="declare">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:NMTOKEN">
|
|
<xs:enumeration value="declare"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="if" type="xs:normalizedString"/>
|
|
<xs:attribute name="while" type="xs:normalizedString"/>
|
|
<xs:attribute name="id" type="xs:ID"/>
|
|
</xs:attributeGroup>
|
|
|
|
<xs:complexType name="action.type">
|
|
<xs:attributeGroup ref="action.attlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="<span class="element" id="a_smodule_element_action">action</span>" type="action.type"/>
|
|
|
|
<xs:attributeGroup name="dispatchEvent.attlist">
|
|
<xs:attribute name="eventType" type="xs:QName"/>
|
|
<xs:attribute name="targetid">
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:IDREF"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="bubbles">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:NMTOKEN">
|
|
<xs:enumeration value="bubbles"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="cancelable">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:NMTOKEN">
|
|
<xs:enumeration value="cancelable"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="id" type="xs:ID"/>
|
|
</xs:attributeGroup>
|
|
|
|
<xs:complexType name="dispatchEvent.type">
|
|
<xs:attributeGroup ref="dispatchEvent.attlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="<span class="element" id="a_smodule_element_dispatchEvent">dispatchEvent</span>" type="dispatchEvent.type"/>
|
|
|
|
<xs:attributeGroup name="addEventListener.attlist">
|
|
<xs:attribute name="event" use="required" type="xs:QName"/>
|
|
<xs:attribute name="handler" use="required" type="xs:IDREF"/>
|
|
<xs:attribute name="phase" default="default">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:NMTOKEN">
|
|
<xs:enumeration value="bubble"/>
|
|
<xs:enumeration value="capture"/>
|
|
<xs:enumeration value="default"/>
|
|
<xs:enumeration value="target"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="id" type="xs:ID"/>
|
|
</xs:attributeGroup>
|
|
|
|
<xs:complexType name="addEventListener.type">
|
|
<xs:attributeGroup ref="addEventListener.attlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="<span class="element" id="a_smodule_element_addEventListener">addEventListener</span>" type="addEventListener.type"/>
|
|
|
|
<xs:attributeGroup name="removeEventListener.attlist">
|
|
<xs:attribute name="event" use="required" type="xs:QName"/>
|
|
<xs:attribute name="handler" use="required" type="xs:IDREF"/>
|
|
<xs:attribute name="phase" default="default">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:NMTOKEN">
|
|
<xs:enumeration value="bubble"/>
|
|
<xs:enumeration value="capture"/>
|
|
<xs:enumeration value="default"/>
|
|
<xs:enumeration value="target"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="id" type="xs:ID"/>
|
|
</xs:attributeGroup>
|
|
<xs:complexType name="removeEventListener.type">
|
|
<xs:attributeGroup ref="removeEventListener.attlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="<span class="element" id="a_smodule_element_removeEventListener">removeEventListener</span>" type="removeEventListener.type"/>
|
|
|
|
<xs:attributeGroup name="stopPropagation.attlist">
|
|
<xs:attribute name="event" use="required" type="xs:QName"/>
|
|
<xs:attribute name="id" type="xs:ID"/>
|
|
</xs:attributeGroup>
|
|
|
|
<xs:complexType name="stopPropagation.type">
|
|
<xs:attributeGroup ref="stopPropagation.attlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="<span class="element" id="a_smodule_element_stopPropagation">stopPropagation</span>" type="stopPropagation.type"/>
|
|
|
|
<xs:attributeGroup name="preventDefault.attlist">
|
|
<xs:attribute name="event" use="required" type="xs:QName"/>
|
|
<xs:attribute name="id" type="xs:ID"/>
|
|
</xs:attributeGroup>
|
|
|
|
<xs:complexType name="preventDefault.type">
|
|
<xs:attributeGroup ref="preventDefault.attlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="<span class="element" id="a_smodule_element_preventDefault">preventDefault</span>" type="stopPropagation.type"/>
|
|
</xs:schema>
|
|
|
|
</pre>
|
|
<!-- END OF FILE SCHEMA/xml-handlers-1.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="a_schema_xml_script" >B.4. XML Scripting Module
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- INCLUDING SCHEMA SCHEMA/xml-script-1.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre class="dtd">
|
|
<?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:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
|
|
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 Scripting
|
|
|
|
URI: http://www.w3.org/MarkUp/SCHEMA/xml-script-1.xsd
|
|
$Id: Overview.html,v 1.2 2010/12/17 20:25:20 plehegar Exp $
|
|
</xs:documentation>
|
|
<xs:documentation source="xml-events-copyright-2.xsd"/>
|
|
</xs:annotation>
|
|
|
|
<xs:attributeGroup name="script.attlist">
|
|
<xs:attribute name="encoding" type="xh11d:Charset"/>
|
|
<xs:attribute name="implements" type="xh11d:URIorSafeCURIEs"/>
|
|
<xs:attribute name="src" type="xs:anyURI"/>
|
|
<xs:attribute name="type" type="xh11d:ContentTypes"/>
|
|
<xs:attribute name="id" type="xs:ID"/>
|
|
</xs:attributeGroup>
|
|
|
|
<xs:complexType name="script.type">
|
|
<xs:attributeGroup ref="script.attlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="<span class="element" id="a_smodule_element_script">script</span>" type="script.type"/>
|
|
</xs:schema>
|
|
|
|
</pre>
|
|
<!-- END OF FILE SCHEMA/xml-script-1.xsd.mhtml -->
|
|
|
|
|
|
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_refs" >C. References
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This appendix is <em>normative</em>.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="s_norm-refs" >C.1. Normative References
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dl>
|
|
<dt>[<a id="ref_DOM3EVENTS"
|
|
class="normref">DOM3EVENTS</a>]</dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/DOM-Level-3-Events/"
|
|
>Document Object Model (DOM) Level 3 Events Specification</a></cite>",
|
|
W3C Recommendation, Björn Höhrmann, <i><abbr title="editor">ed.</abbr></i>,
|
|
21 December 2007.<br />
|
|
Available at: http://www.w3.org/TR/DOM-Level-3-Events/<br />
|
|
The <a href="http://www.w3.org/TR/DOM-Level-3-Events">latest version</a>
|
|
is available at: http://www.w3.org/TR/DOM-Level-3-Events</dd>
|
|
|
|
<dt><a id="ref_RFC2119" class="normref">[RFC2119]</a></dt>
|
|
|
|
<dd>"<cite><a href="http://www.rfc-editor.org/rfc/rfc2119.txt">Key words for
|
|
use in RFCs to indicate requirement levels</a></cite>", RFC 2119,
|
|
S. Bradner, March 1997.<br />
|
|
Available at: http://www.rfc-editor.org/rfc/rfc2119.txt</dd>
|
|
|
|
<dt><a id="ref_RFC2616" class="normref">[RFC2616]</a></dt>
|
|
|
|
<dd>"<cite><a href="http://www.rfc-editor.org/rfc/rfc2616.txt">Hypertext Transfer
|
|
Protocol - HTTP/1.1</a></cite>", RFC 2119,
|
|
H. Fielding <i xml:lang="lt">et al.</i>,
|
|
<i><abbr title="editors">eds.</abbr></i>, June 1999.<br />
|
|
Available at: http://www.rfc-editor.org/rfc/rfc2616.txt</dd>
|
|
|
|
<dt>[<a id="ref_XHTMLMOD">XHTMLMOD</a>]</dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/2008/REC-xhtml-modularization-20081008"
|
|
>Modularization of XHTML™ 1.1</a></cite>", W3C Recommendation,
|
|
D. Austin <i xml:lang="lt">et al.</i>,
|
|
<i><abbr title="editors">eds.</abbr></i>, 8 October 2009.<br />
|
|
Available at: http://www.w3.org/TR/2008/REC-xhtml-modularization-20081008<br />
|
|
The <a href="http://www.w3.org/TR/xhtml-modularization">latest version</a>
|
|
is available at: http://www.w3.org/TR/xhtml-modularization</dd>
|
|
|
|
<dt>[<a id="ref_XML" class="normref">XML</a>]</dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/2006/REC-xml-20060816">Extensible
|
|
Markup Language (XML) 1.0 (Fourth Edition)</a></cite>", W3C Recommendation,
|
|
T. Bray <i xml:lang="lt">et al.</i>,
|
|
<i><abbr title="editors">eds.</abbr></i>, 16 August 2006.<br />
|
|
Available at: http://www.w3.org/TR/2006/REC-xml-20060816<br />
|
|
The <a href="http://www.w3.org/TR/REC-xml">latest version</a>
|
|
is available at: http://www.w3.org/TR/REC-xml</dd>
|
|
|
|
<dt><a id="ref_XMLID" class="normref">[XMLID]</a></dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/2005/REC-xml-id-20050909/">xml:id
|
|
Version 1.0</a></cite>", W3C Recommendation,
|
|
J. Marsh, D. Veillard, N. Walsh, <i><abbr title="editors">eds.</abbr></i>,
|
|
9 September 2005.<br />
|
|
Available at: http://www.w3.org/TR/2005/REC-xml-id-20050909/</dd>
|
|
|
|
<dt><a id="ref_XMLNAMES" class="ref">[XMLNAMES]</a></dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/1999/REC-xml-names-19990114"
|
|
>Namespaces in XML</a></cite>", W3C Recommendation,
|
|
T. Bray <i xml:lang="lt">et al.</i>,
|
|
<i><abbr title="editors">eds.</abbr></i>, 14 January 1999.<br />
|
|
Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114<br />
|
|
The <a href="http://www.w3.org/TR/REC-xml-names">latest version</a>
|
|
is available at: http://www.w3.org/TR/REC-xml-names</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="s_other-refs" >C.2. Other References
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dl>
|
|
<dt>[<a id="ref_HTML4" >HTML4</a>]</dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/1999/REC-html401-19991224">HTML 4.01
|
|
Specification</a></cite>", W3C Recommendation,
|
|
D. Raggett <i xml:lang="lt">et al.</i>,
|
|
<i><abbr title="editors">eds.</abbr></i>, 24 December 1999.<br />
|
|
Available at: http://www.w3.org/TR/1999/REC-html401-19991224<br />
|
|
The <a href="http://www.w3.org/TR/html4">latest version</a>
|
|
is available at: http://www.w3.org/TR/html4</dd>
|
|
|
|
<dt><a id="ref_MIMETYPES" class="normref">[MIMETYPES]</a></dt>
|
|
<dd>"<cite><a href="http://www.iana.org/assignments/media-types/">MIME Media Types</a></cite>",
|
|
IANA.<br />
|
|
Available at: http://www.iana.org/assignments/media-types/</dd>
|
|
|
|
<dt>[<a id="ref_SVG" >SVG</a>]</dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/2001/REC-SVG-20010904/">Scalable
|
|
Vector Graphics (SVG) 1.0 Specification</a></cite>", W3C Recommendation,
|
|
J. Ferraiolo, <i><abbr title="editor">ed.</abbr></i>, 4 September 2001.<br />
|
|
Available at: http://www.w3.org/TR/2001/REC-SVG-20010904/<br />
|
|
The <a href="http://www.w3.org/TR/SVG/">latest version</a>
|
|
is available at: http://www.w3.org/TR/SVG/</dd>
|
|
|
|
<dt>[<a id="ref_XFORMS" >XFORMS</a>]</dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/2004/WD-xforms11-20041115/">XForms
|
|
1.1</a></cite>", W3C Working Draft,
|
|
M. Dubinko <i xml:lang="la">et al.</i>,
|
|
<i><abbr title="editors">eds.</abbr></i>, 15 November 2004.<br />
|
|
Available at: http://www.w3.org/TR/2004/WD-xforms11-20041115/</dd>
|
|
|
|
<dt>[<a id="ref_XHTML" >XHTML</a>]</dt>
|
|
|
|
<dd>"<cite><a href="http://www.w3.org/TR/2002/REC-xhtml1-20020801">XHTML™
|
|
1.0: The Extensible HyperText Markup Language (Second Edition)</a></cite>".
|
|
S. Pemberton <i xml:lang="lt">et al.</i>, 26 January 2000,
|
|
revised 1 August 2002.<br />
|
|
Available at: http://www.w3.org/TR/2002/REC-xhtml1-20020801<br />
|
|
The <a href="http://www.w3.org/TR/xhtml1">latest version</a>
|
|
is available at: http://www.w3.org/TR/xhtml1</dd>
|
|
|
|
<dt><a id="ref_XPATH" class="ref">[XPATH]</a></dt>
|
|
<dd>"<cite><a href="http://www.w3.org/TR/1999/REC-xpath-19991116"
|
|
>XML Path Language</a></cite>", W3C Recommendation,
|
|
James Clark, <i xml:lang="lt">et al.</i>,
|
|
<i><abbr title="editors">eds.</abbr></i>, 16 November 1999.<br />
|
|
Available at: http://www.w3.org/TR/1999/REC-xpath-19991116<br />
|
|
The <a href="http://www.w3.org/TR/xpath">latest version</a>
|
|
is available at: http://www.w3.org/TR/xpath</dd>
|
|
</dl>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_changes" >D. Change History
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><em>This section is informative.</em></p>
|
|
<p>In developing version 2 of XML Events, the following major
|
|
changes have been made:</p>
|
|
<ul>
|
|
<li>Changed from using DOM 2 Events to DOM 3 Events.</li>
|
|
<li>Added XML Handlers Module.</li>
|
|
<li>Added XML Scripting Module.</li>
|
|
<li>Added XML Schema implementation of modules.</li>
|
|
<li>Permitted incorporation of elements and attributes into
|
|
other namespaces.</li>
|
|
</ul>
|
|
|
|
<!--OddPage-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="s_acks" >E. Acknowledgments
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p><em>This section is informative.</em></p>
|
|
|
|
<p>This document was prepared by
|
|
the <acronym title="World Wide Web Consortium">W3C</acronym>
|
|
<acronym title="Extensible HyperText Markup Language">XHTML2</acronym> Working Group.
|
|
The members at the time of publication of the Note were:</p>
|
|
|
|
<ul>
|
|
<li>Markus Gylling, <a href="http://www.daisy.org">DAISY Consortium</a>
|
|
(<acronym title="Extensible HyperText Markup Language">XHTML</acronym> 2 Working Group Co-Chair)</li>
|
|
<li>Steven Pemberton, <acronym title="Centrum voor Wiskunde en Informatica"
|
|
xml:lang="nl">CWI</acronym>
|
|
(<acronym title="Extensible HyperText Markup Language">XHTML</acronym> 2 Working Group Co-Chair)</li>
|
|
<li>Mark Birbeck, Sidewinder Labs (Invited Expert)</li>
|
|
<li>Susan Borgrink, Progeny Systems</li>
|
|
<li>Christina Bottomley, Society for Technical Communication (STC)</li>
|
|
<li>Alessio Cartocci, International Webmasters Association / HTML Writers Guild (IWA-HWG)</li>
|
|
<li>Alexander Graf, University of Innsbruck</li>
|
|
<li>Tina Holmboe, Greytower Technologies (Invited Expert)</li>
|
|
<li>John Kugelman, Progeny Systems</li>
|
|
<li>Luca Mascaro, International Webmasters Association / HTML Writers Guild (IWA-HWG)</li>
|
|
<li>Shane McCarron, Applied Testing and Technology, Inc. (Invited Expert)</li>
|
|
<li>Michael Rawling, IVIS Group Limited</li>
|
|
<li>Gregory Rosmaita, Invited Expert</li>
|
|
<li>Sebastian Schnitzenbaumer, Dreamlab Technologies AG</li>
|
|
<li>Richard Schwerdtfeger,
|
|
<acronym title="International Business Machines">IBM</acronym></li>
|
|
<li>Elias Torres,
|
|
<acronym title="International Business Machines">IBM</acronym></li>
|
|
<li>Masataka Yakura, Mitsue-Links Co., Ltd.</li>
|
|
<li>Toshihiko Yamakami, ACCESS Co., Ltd. </li>
|
|
</ul>
|
|
|
|
|
|
<p>At publication of the first edition, the acknowledgements included was:</p>
|
|
|
|
<p>This document was originally edited by Ted Wugofski (Openwave).</p>
|
|
|
|
<p>Special acknowledgments to: Mark Baker (Sun Microsystems), Wayne Carr
|
|
(Intel Corporation), Warner ten Kate (Philips Electronics), Patrick Schmitz,
|
|
and Peter Stark (Ericsson) for their significant contributions to the
|
|
evolution of this specification.</p>
|
|
|
|
<p>At the time of publication, the participants in the W3C HTML Working Group
|
|
were:</p>
|
|
|
|
<ul class="acks">
|
|
<li>Steven Pemberton, <abbr>CWI</abbr>/<abbr>W3C</abbr> (HTML Working Group Chair)</li>
|
|
<li>Daniel Austin, W. W. Grainger, <abbr>Inc.</abbr></li>
|
|
<li>Jim Bigelow, Hewlett-Packard Company</li>
|
|
<li>Mark Birbeck, x-port.net <abbr title="Limited">Ltd.</abbr>
|
|
(Invited Expert)</li>
|
|
<li>Jonny Axelsson, Opera Software</li>
|
|
<li>Tantek Çelik, Microsoft Corporation</li>
|
|
<li>Beth Epperson, Netscape/<abbr title="America Online">AOL</abbr></li>
|
|
<li>Masayasu Ishikawa, <abbr>W3C</abbr> (Team Contact)</li>
|
|
<li>Shin'ichi Matsui, Panasonic</li>
|
|
<li>Shane McCarron, Applied Testing and Technology (Invited Expert)</li>
|
|
<li>Ann Navarro, WebGeek, <abbr>Inc.</abbr> (Invited Expert)</li>
|
|
<li>Subramanian Peruvemba, Oracle Corporation</li>
|
|
<li>Sebastian Schnitzenbaumer, SAP <abbr xml:lang="de"
|
|
title="Aktiengesellschaft">AG</abbr></li>
|
|
</ul>
|
|
|
|
|
|
</body>
|
|
</html>
|