<!-- | |
Wireless Markup Language (WML) Document Type Definition. | |
Copyright Wireless Application Protocol Forum Ltd., 1998,1999. | |
All rights reserved. | |
WML is an XML language. Typical usage: | |
<?xml version="1.0"?> | |
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" | |
"http://www.wapforum.org/DTD/wml_1.1.xml"> | |
<wml> | |
... | |
</wml> | |
Terms and conditions of use are available from the Wireless | |
Application Protocol Forum Ltd. web site at | |
http://www.wapforum.org/docs/copyright.htm. | |
--> | |
<!ENTITY % length "CDATA"> <!-- [0-9]+ for pixels or [0-9]+"%" for | |
percentage length --> | |
<!ENTITY % vdata "CDATA"> <!-- attribute value possibly containing | |
variable references --> | |
<!ENTITY % HREF "%vdata;"> <!-- URI, URL or URN designating a hypertext | |
node. May contain variable references --> | |
<!ENTITY % boolean "(true|false)"> | |
<!ENTITY % number "NMTOKEN"> <!-- a number, with format [0-9]+ --> | |
<!ENTITY % coreattrs "id ID #IMPLIED | |
class CDATA #IMPLIED"> | |
<!ENTITY % emph "em | strong | b | i | u | big | small"> | |
<!ENTITY % layout "br"> | |
<!ENTITY % text "#PCDATA | %emph;"> | |
<!-- flow covers "card-level" elements, such as text and images --> | |
<!ENTITY % flow "%text; | %layout; | img | anchor | a | table"> | |
<!-- Task types --> | |
<!ENTITY % task "go | prev | noop | refresh"> | |
<!-- Navigation and event elements --> | |
<!ENTITY % navelmts "do | onevent"> | |
<!--================ Decks and Cards ================--> | |
<!ELEMENT wml ( head?, template?, card+ )> | |
<!ATTLIST wml | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!-- card intrinsic events --> | |
<!ENTITY % cardev | |
"onenterforward %HREF; #IMPLIED | |
onenterbackward %HREF; #IMPLIED | |
ontimer %HREF; #IMPLIED" | |
> | |
<!-- card field types --> | |
<!ENTITY % fields "%flow; | input | select | fieldset"> | |
<!ELEMENT card (onevent*, timer?, (do | p)*)> | |
<!ATTLIST card | |
title %vdata; #IMPLIED | |
newcontext %boolean; "false" | |
ordered %boolean; "true" | |
xml:lang NMTOKEN #IMPLIED | |
%cardev; | |
%coreattrs; | |
> | |
<!--================ Event Bindings ================--> | |
<!ELEMENT do (%task;)> | |
<!ATTLIST do | |
type CDATA #REQUIRED | |
label %vdata; #IMPLIED | |
name NMTOKEN #IMPLIED | |
optional %boolean; "false" | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT onevent (%task;)> | |
<!ATTLIST onevent | |
type CDATA #REQUIRED | |
%coreattrs; | |
> | |
<!--================ Deck-level declarations ================--> | |
<!ELEMENT head ( access | meta )+> | |
<!ATTLIST head | |
%coreattrs; | |
> | |
<!ELEMENT template (%navelmts;)*> | |
<!ATTLIST template | |
%cardev; | |
%coreattrs; | |
> | |
<!ELEMENT access EMPTY> | |
<!ATTLIST access | |
domain CDATA #IMPLIED | |
path CDATA #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT meta EMPTY> | |
<!ATTLIST meta | |
http-equiv CDATA #IMPLIED | |
name CDATA #IMPLIED | |
forua %boolean; #IMPLIED | |
content CDATA #REQUIRED | |
scheme CDATA #IMPLIED | |
%coreattrs; | |
> | |
<!--================ Tasks ================--> | |
<!ELEMENT go (postfield | setvar)*> | |
<!ATTLIST go | |
href %HREF; #REQUIRED | |
sendreferer %boolean; "false" | |
method (post|get) "get" | |
accept-charset CDATA #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT prev (setvar)*> | |
<!ATTLIST prev | |
%coreattrs; | |
> | |
<!ELEMENT refresh (setvar)*> | |
<!ATTLIST refresh | |
%coreattrs; | |
> | |
<!ELEMENT noop EMPTY> | |
<!ATTLIST noop | |
%coreattrs; | |
> | |
<!--================ postfield ================--> | |
<!ELEMENT postfield EMPTY> | |
<!ATTLIST postfield | |
name %vdata; #REQUIRED | |
value %vdata; #REQUIRED | |
%coreattrs; | |
> | |
<!--================ variables ================--> | |
<!ELEMENT setvar EMPTY> | |
<!ATTLIST setvar | |
name %vdata; #REQUIRED | |
value %vdata; #REQUIRED | |
%coreattrs; | |
> | |
<!--================ Card Fields ================--> | |
<!ELEMENT select (optgroup|option)+> | |
<!ATTLIST select | |
title %vdata; #IMPLIED | |
name NMTOKEN #IMPLIED | |
value %vdata; #IMPLIED | |
iname NMTOKEN #IMPLIED | |
ivalue %vdata; #IMPLIED | |
multiple %boolean; "false" | |
tabindex %number; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT optgroup (optgroup|option)+ > | |
<!ATTLIST optgroup | |
title %vdata; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT option (#PCDATA | onevent)*> | |
<!ATTLIST option | |
value %vdata; #IMPLIED | |
title %vdata; #IMPLIED | |
onpick %HREF; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT input EMPTY> | |
<!ATTLIST input | |
name NMTOKEN #REQUIRED | |
type (text|password) "text" | |
value %vdata; #IMPLIED | |
format CDATA #IMPLIED | |
emptyok %boolean; "false" | |
size %number; #IMPLIED | |
maxlength %number; #IMPLIED | |
tabindex %number; #IMPLIED | |
title %vdata; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT fieldset (%fields; | do)* > | |
<!ATTLIST fieldset | |
title %vdata; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT timer EMPTY> | |
<!ATTLIST timer | |
name NMTOKEN #IMPLIED | |
value %vdata; #REQUIRED | |
%coreattrs; | |
> | |
<!--================ Images ================--> | |
<!ENTITY % IAlign "(top|middle|bottom)" > | |
<!ELEMENT img EMPTY> | |
<!ATTLIST img | |
alt %vdata; #REQUIRED | |
src %HREF; #REQUIRED | |
localsrc %vdata; #IMPLIED | |
vspace %length; "0" | |
hspace %length; "0" | |
align %IAlign; "bottom" | |
height %length; #IMPLIED | |
width %length; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!--================ Anchor ================--> | |
<!ELEMENT anchor ( #PCDATA | br | img | go | prev | refresh )*> | |
<!ATTLIST anchor | |
title %vdata; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT a ( #PCDATA | br | img )*> | |
<!ATTLIST a | |
href %HREF; #REQUIRED | |
title %vdata; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!--================ Tables ================--> | |
<!ELEMENT table (tr)+> | |
<!ATTLIST table | |
title %vdata; #IMPLIED | |
align CDATA #IMPLIED | |
columns %number; #REQUIRED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT tr (td)+> | |
<!ATTLIST tr | |
%coreattrs; | |
> | |
<!ELEMENT td ( %text; | %layout; | img | anchor | a )*> | |
<!ATTLIST td | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!--================ Text layout and line breaks ================--> | |
<!ELEMENT em (%flow;)*> | |
<!ATTLIST em | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT strong (%flow;)*> | |
<!ATTLIST strong | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT b (%flow;)*> | |
<!ATTLIST b | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT i (%flow;)*> | |
<!ATTLIST i | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT u (%flow;)*> | |
<!ATTLIST u | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT big (%flow;)*> | |
<!ATTLIST big | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT small (%flow;)*> | |
<!ATTLIST small | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ENTITY % TAlign "(left|right|center)"> | |
<!ENTITY % WrapMode "(wrap|nowrap)" > | |
<!ELEMENT p (%fields; | do)*> | |
<!ATTLIST p | |
align %TAlign; "left" | |
mode %WrapMode; #IMPLIED | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ELEMENT br EMPTY> | |
<!ATTLIST br | |
xml:lang NMTOKEN #IMPLIED | |
%coreattrs; | |
> | |
<!ENTITY quot """> <!-- quotation mark --> | |
<!ENTITY amp "&#38;"> <!-- ampersand --> | |
<!ENTITY apos "'"> <!-- apostrophe --> | |
<!ENTITY lt "&#60;"> <!-- less than --> | |
<!ENTITY gt ">"> <!-- greater than --> | |
<!ENTITY nbsp " "> <!-- non-breaking space --> | |
<!ENTITY shy "­"> <!-- soft hyphen (discretionary hyphen) --> | |
<!-- | |
Copyright Wireless Application Protocol Forum Ltd., 1998,1999. | |
All rights reserved. | |
--> |