<!-- Wireless Markup Language (WML) Document Type Definition. WML is an XML language. Typical usage: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <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 % ContentType "%vdata;"> <!-- media type. May contain variable references --> <!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 | pre)*)> <!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; "false" content CDATA #REQUIRED scheme CDATA #IMPLIED %coreattrs; > <!--================ Tasks ================--> <!ENTITY % cache-control "(no-cache)" > <!ELEMENT go (postfield | setvar)*> <!ATTLIST go href %HREF; #REQUIRED sendreferer %boolean; "false" method (post|get) "get" enctype %ContentType; "application/x-www-form-urlencoded" cache-control %cache-control; #IMPLIED 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; > <!--=======%