applayerprotocols/wapbase/Tdtd/DTDs/wml_1_1.dtd
changeset 0 b16258d2340f
equal deleted inserted replaced
-1:000000000000 0:b16258d2340f
       
     1 <!--
       
     2 Wireless Markup Language (WML) Document Type Definition.
       
     3 
       
     4 Copyright Wireless Application Protocol Forum Ltd., 1998,1999.
       
     5                       All rights reserved.  
       
     6 
       
     7 WML is an XML language.  Typical usage:
       
     8    <?xml version="1.0"?>
       
     9    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
       
    10           "http://www.wapforum.org/DTD/wml_1.1.xml">
       
    11    <wml>
       
    12    ...
       
    13    </wml>
       
    14 
       
    15 Terms and conditions of use are available from the Wireless 
       
    16 Application Protocol Forum Ltd. web site at
       
    17 http://www.wapforum.org/docs/copyright.htm.
       
    18 -->
       
    19 
       
    20 <!ENTITY % length  "CDATA">    <!-- [0-9]+ for pixels or [0-9]+"%" for
       
    21                                     percentage length -->
       
    22 <!ENTITY % vdata   "CDATA">    <!-- attribute value possibly containing
       
    23                                     variable references -->
       
    24 <!ENTITY % HREF    "%vdata;">  <!-- URI, URL or URN designating a hypertext
       
    25                                     node. May contain variable references -->
       
    26 <!ENTITY % boolean	"(true|false)">
       
    27 <!ENTITY % number  "NMTOKEN">  <!-- a number, with format [0-9]+ -->
       
    28 <!ENTITY % coreattrs  "id    ID     #IMPLIED 
       
    29                        class CDATA  #IMPLIED">
       
    30 
       
    31 <!ENTITY % emph    "em | strong | b | i | u | big | small">
       
    32 <!ENTITY % layout  "br">
       
    33 
       
    34 <!ENTITY % text     "#PCDATA | %emph;">
       
    35 
       
    36 <!-- flow covers "card-level" elements, such as text and images -->
       
    37 <!ENTITY % flow     "%text; | %layout; | img | anchor | a | table">
       
    38 
       
    39 <!-- Task types -->
       
    40 <!ENTITY % task   "go | prev | noop | refresh">
       
    41 
       
    42 <!-- Navigation and event elements -->
       
    43 <!ENTITY % navelmts "do | onevent">
       
    44 
       
    45 <!--================ Decks and Cards ================-->
       
    46 
       
    47 <!ELEMENT wml ( head?, template?, card+ )>
       
    48 <!ATTLIST wml
       
    49   xml:lang        NMTOKEN        #IMPLIED
       
    50   %coreattrs;
       
    51   >
       
    52 
       
    53 <!-- card intrinsic events -->
       
    54 <!ENTITY % cardev
       
    55  "onenterforward  %HREF;          #IMPLIED
       
    56   onenterbackward %HREF;          #IMPLIED
       
    57   ontimer         %HREF;          #IMPLIED"
       
    58   >
       
    59 
       
    60 <!-- card field types -->
       
    61 <!ENTITY % fields  "%flow; | input | select | fieldset">
       
    62 
       
    63 <!ELEMENT card (onevent*, timer?, (do | p)*)>
       
    64 <!ATTLIST card
       
    65   title           %vdata;       #IMPLIED
       
    66   newcontext      %boolean;     "false"
       
    67   ordered         %boolean;     "true"
       
    68   xml:lang        NMTOKEN       #IMPLIED
       
    69   %cardev;
       
    70   %coreattrs;
       
    71   >
       
    72 
       
    73 <!--================ Event Bindings ================-->
       
    74 
       
    75 <!ELEMENT do (%task;)>
       
    76 <!ATTLIST do
       
    77   type         CDATA       #REQUIRED
       
    78   label        %vdata;     #IMPLIED
       
    79   name         NMTOKEN     #IMPLIED
       
    80   optional     %boolean;   "false"
       
    81   xml:lang     NMTOKEN     #IMPLIED
       
    82   %coreattrs;
       
    83   >
       
    84 
       
    85 <!ELEMENT onevent (%task;)>
       
    86 <!ATTLIST onevent
       
    87   type         CDATA       #REQUIRED
       
    88   %coreattrs;
       
    89   >
       
    90 
       
    91 <!--================ Deck-level declarations ================-->
       
    92 
       
    93 <!ELEMENT head ( access | meta )+>
       
    94 <!ATTLIST head
       
    95   %coreattrs;
       
    96   >
       
    97 
       
    98 <!ELEMENT template (%navelmts;)*>
       
    99 <!ATTLIST template
       
   100   %cardev;
       
   101   %coreattrs;
       
   102   >
       
   103 
       
   104 <!ELEMENT access EMPTY>
       
   105 <!ATTLIST access
       
   106   domain       CDATA       #IMPLIED
       
   107   path         CDATA       #IMPLIED
       
   108   %coreattrs;
       
   109   >
       
   110 
       
   111 <!ELEMENT meta EMPTY>
       
   112 <!ATTLIST meta
       
   113   http-equiv     CDATA      #IMPLIED
       
   114   name           CDATA      #IMPLIED
       
   115   forua          %boolean;  #IMPLIED
       
   116   content        CDATA      #REQUIRED
       
   117   scheme         CDATA      #IMPLIED
       
   118   %coreattrs;
       
   119   >
       
   120 
       
   121 <!--================ Tasks ================-->
       
   122 
       
   123 <!ELEMENT go (postfield | setvar)*>
       
   124 <!ATTLIST go
       
   125   href            %HREF;           #REQUIRED
       
   126   sendreferer     %boolean;       "false"
       
   127   method          (post|get)      "get"
       
   128   accept-charset  CDATA           #IMPLIED
       
   129   %coreattrs;
       
   130   >
       
   131 
       
   132 <!ELEMENT prev (setvar)*>
       
   133 <!ATTLIST prev
       
   134   %coreattrs;
       
   135   >
       
   136 
       
   137 <!ELEMENT refresh (setvar)*>
       
   138 <!ATTLIST refresh
       
   139   %coreattrs;
       
   140   >
       
   141 
       
   142 <!ELEMENT noop EMPTY>
       
   143 <!ATTLIST noop
       
   144   %coreattrs;
       
   145   >
       
   146 
       
   147 <!--================ postfield ================-->
       
   148  
       
   149 <!ELEMENT postfield EMPTY>
       
   150 <!ATTLIST postfield
       
   151   name         %vdata;           #REQUIRED
       
   152   value        %vdata;           #REQUIRED
       
   153   %coreattrs;
       
   154   >
       
   155 
       
   156 <!--================ variables ================-->
       
   157 
       
   158 <!ELEMENT setvar EMPTY>
       
   159 <!ATTLIST setvar
       
   160   name         %vdata;           #REQUIRED
       
   161   value        %vdata;           #REQUIRED
       
   162   %coreattrs;
       
   163   >
       
   164 
       
   165 <!--================ Card Fields ================-->
       
   166 
       
   167 <!ELEMENT select (optgroup|option)+>
       
   168 <!ATTLIST select
       
   169   title        %vdata;           #IMPLIED
       
   170   name         NMTOKEN           #IMPLIED
       
   171   value        %vdata;           #IMPLIED
       
   172   iname        NMTOKEN           #IMPLIED
       
   173   ivalue       %vdata;           #IMPLIED
       
   174   multiple     %boolean;         "false"
       
   175   tabindex     %number;          #IMPLIED
       
   176   xml:lang     NMTOKEN           #IMPLIED
       
   177   %coreattrs;
       
   178   >
       
   179 
       
   180 <!ELEMENT optgroup (optgroup|option)+ >
       
   181 <!ATTLIST optgroup
       
   182   title      %vdata;    #IMPLIED
       
   183   xml:lang   NMTOKEN    #IMPLIED
       
   184   %coreattrs;
       
   185   >
       
   186 
       
   187 <!ELEMENT option (#PCDATA | onevent)*>
       
   188 <!ATTLIST option
       
   189   value      %vdata;    #IMPLIED
       
   190   title      %vdata;    #IMPLIED
       
   191   onpick     %HREF;     #IMPLIED
       
   192   xml:lang   NMTOKEN    #IMPLIED
       
   193   %coreattrs;
       
   194   >
       
   195 
       
   196 <!ELEMENT input EMPTY>
       
   197 <!ATTLIST input
       
   198   name       NMTOKEN           #REQUIRED
       
   199   type       (text|password)   "text"
       
   200   value      %vdata;           #IMPLIED
       
   201   format     CDATA             #IMPLIED
       
   202   emptyok    %boolean;         "false"
       
   203   size       %number;          #IMPLIED
       
   204   maxlength  %number;          #IMPLIED
       
   205   tabindex   %number;          #IMPLIED
       
   206   title      %vdata;           #IMPLIED
       
   207   xml:lang   NMTOKEN           #IMPLIED
       
   208   %coreattrs;
       
   209   >
       
   210 
       
   211 <!ELEMENT fieldset (%fields; | do)* >
       
   212 <!ATTLIST fieldset
       
   213   title           %vdata;      #IMPLIED
       
   214   xml:lang        NMTOKEN      #IMPLIED
       
   215   %coreattrs;
       
   216   >
       
   217 
       
   218 <!ELEMENT timer EMPTY>
       
   219 <!ATTLIST timer
       
   220   name       NMTOKEN           #IMPLIED
       
   221   value      %vdata;           #REQUIRED
       
   222   %coreattrs;
       
   223   >
       
   224 
       
   225 <!--================ Images ================-->
       
   226 
       
   227 <!ENTITY % IAlign "(top|middle|bottom)" >
       
   228 
       
   229 <!ELEMENT img EMPTY>
       
   230 <!ATTLIST img
       
   231   alt        %vdata;      #REQUIRED
       
   232   src        %HREF;       #REQUIRED
       
   233   localsrc   %vdata;      #IMPLIED
       
   234   vspace     %length;     "0"
       
   235   hspace     %length;     "0"
       
   236   align      %IAlign;     "bottom"
       
   237   height     %length;     #IMPLIED
       
   238   width      %length;     #IMPLIED
       
   239   xml:lang   NMTOKEN      #IMPLIED
       
   240   %coreattrs;
       
   241   >
       
   242 
       
   243 <!--================ Anchor ================-->
       
   244 
       
   245 <!ELEMENT anchor ( #PCDATA | br | img | go | prev | refresh )*>
       
   246 <!ATTLIST anchor
       
   247   title        %vdata;      #IMPLIED
       
   248   xml:lang     NMTOKEN      #IMPLIED
       
   249   %coreattrs;
       
   250   >
       
   251 
       
   252 <!ELEMENT a ( #PCDATA | br | img )*>
       
   253 <!ATTLIST a
       
   254   href         %HREF;       #REQUIRED
       
   255   title        %vdata;      #IMPLIED
       
   256   xml:lang     NMTOKEN      #IMPLIED
       
   257   %coreattrs;
       
   258   >
       
   259 
       
   260 <!--================ Tables ================-->
       
   261 
       
   262 <!ELEMENT table (tr)+>
       
   263 <!ATTLIST table
       
   264   title       %vdata;    #IMPLIED
       
   265   align       CDATA      #IMPLIED
       
   266   columns     %number;   #REQUIRED
       
   267   xml:lang    NMTOKEN    #IMPLIED
       
   268   %coreattrs;
       
   269   >
       
   270 
       
   271 <!ELEMENT tr (td)+>
       
   272 <!ATTLIST tr
       
   273   %coreattrs;
       
   274   >
       
   275 
       
   276 <!ELEMENT td ( %text; | %layout; | img | anchor | a )*>
       
   277 <!ATTLIST td
       
   278   xml:lang        NMTOKEN       #IMPLIED
       
   279   %coreattrs;
       
   280   >
       
   281 
       
   282 <!--================ Text layout and line breaks ================-->
       
   283 
       
   284 <!ELEMENT em     (%flow;)*>
       
   285 <!ATTLIST em
       
   286   xml:lang        NMTOKEN       #IMPLIED
       
   287   %coreattrs;
       
   288   >
       
   289 
       
   290 <!ELEMENT strong (%flow;)*>
       
   291 <!ATTLIST strong
       
   292   xml:lang        NMTOKEN       #IMPLIED
       
   293   %coreattrs;
       
   294   >
       
   295 
       
   296 <!ELEMENT b      (%flow;)*>
       
   297 <!ATTLIST b
       
   298   xml:lang        NMTOKEN       #IMPLIED
       
   299   %coreattrs;
       
   300   >
       
   301 
       
   302 <!ELEMENT i      (%flow;)*>
       
   303 <!ATTLIST i
       
   304   xml:lang        NMTOKEN       #IMPLIED
       
   305   %coreattrs;
       
   306   >
       
   307 
       
   308 <!ELEMENT u      (%flow;)*>
       
   309 <!ATTLIST u
       
   310   xml:lang        NMTOKEN       #IMPLIED
       
   311   %coreattrs;
       
   312   >
       
   313 
       
   314 <!ELEMENT big    (%flow;)*>
       
   315 <!ATTLIST big
       
   316   xml:lang        NMTOKEN       #IMPLIED
       
   317   %coreattrs;
       
   318   >
       
   319 
       
   320 <!ELEMENT small  (%flow;)*>
       
   321 <!ATTLIST small
       
   322   xml:lang        NMTOKEN       #IMPLIED
       
   323   %coreattrs;
       
   324   >
       
   325 
       
   326 <!ENTITY % TAlign "(left|right|center)">
       
   327 <!ENTITY % WrapMode "(wrap|nowrap)" >
       
   328 <!ELEMENT p (%fields; | do)*>
       
   329 <!ATTLIST p
       
   330   align       %TAlign;     "left"
       
   331   mode        %WrapMode;   #IMPLIED
       
   332   xml:lang    NMTOKEN      #IMPLIED
       
   333   %coreattrs;
       
   334   >
       
   335 
       
   336 <!ELEMENT br EMPTY>
       
   337 <!ATTLIST br
       
   338   xml:lang        NMTOKEN       #IMPLIED
       
   339   %coreattrs;
       
   340   >
       
   341 
       
   342 <!ENTITY quot  "&#34;">     <!-- quotation mark -->
       
   343 <!ENTITY amp   "&#38;#38;"> <!-- ampersand -->
       
   344 <!ENTITY apos  "&#39;">     <!-- apostrophe -->
       
   345 <!ENTITY lt    "&#38;#60;"> <!-- less than -->
       
   346 <!ENTITY gt    "&#62;">     <!-- greater than -->
       
   347 <!ENTITY nbsp  "&#160;">    <!-- non-breaking space -->
       
   348 <!ENTITY shy   "&#173;">    <!-- soft hyphen (discretionary hyphen) -->
       
   349 
       
   350 <!--
       
   351 Copyright Wireless Application Protocol Forum Ltd., 1998,1999.
       
   352                       All rights reserved.  
       
   353 -->