WML DTD

|  | Search W3Schools : |

HOME | HTML | CSS | XML | JAVASCRIPT | ASP | PHP | SQL | MORE... |  | References | Examples | Forum | About

ADVERTISEMENTS XML Certification Download XML editor Custom Programming |  |

Table of contents

WAP Tutorial
WAP HOME
WAP Introduction
WAP Basic
WML Formatting
WML Links
WML Input
WML Tasks
WML Timer
WML Variables
WML Examples
WML Validator
WAP Demo
WAP W3Schools
References
WML Reference
WML Entities
WML DTD
Resources
WAP Forum/OMA
WAP Software

Selected Reading

Web Statistics
Web Glossary
Web Hosting
Web Quality
W3Schools Tutorials
W3Schools Forum
Helping W3Schools

# The WML DTD

## The Complete WML DTD:

    <!--
    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  "&#34;">
     <!-- quotation mark -->
    <!ENTITY amp   "&#38;#38;">
     <!-- ampersand -->
    <!ENTITY apos  "&#39;">
     <!-- apostrophe -->
    <!ENTITY lt    "&#38;#60;">
     <!-- less than -->
    <!ENTITY gt    "&#62;">
     <!-- greater than -->
    <!ENTITY nbsp  "&#160;">
     <!-- non-breaking space -->
    <!ENTITY shy   "&#173;">
     <!-- soft hyphen (discretionary hyphen) -->

    <!--
    Copyright Wireless Application Protocol
    Forum Ltd., 1998,1999.
                          All rights reserved.
    -->

## Altova® MissionKit® - Integrated suite of XML tools

The Altova MissionKit is a suite of intelligent XML tools, including:

XMLSpy® – industry-leading XML editor

- Support for all XML-based technologies
- Graphical editing views, powerful debuggers, code generation, & more

MapForce® – graphical data mapping tool

- Drag-and-drop data conversion with code generation
- Support for XML, DBs, EDI, Excel® 2007, text, Web services

StyleVision® – visual stylesheet designer

- Drag-and-drop stylesheet design for XML & databases
- Output to HTML, PDF, RTF, Word 2007, & more

And more…

Try before you buy with a free fully functional 30-day trial

Download today

WEB HOSTING
ASP.NET Web Hosting
$15 Domain Name Registration Save $20 / year!
Buy UK Domain Names Register Domain Names
Cheap Domain Names Cheap Web Hosting
Best Web Hosting
PHP MySQL Hosting
Top 10 Web Hosting
UK Reseller Hosting
Web Hosting
FREE Web Hosting

WEB BUILDING
Website Templates Flash Templates Website Builder Internet Business Opportunity
Custom Programming
FREE Trial or Demo Web Content Manager Forms,Web Alerts,RSS
Download XML editor
FREE Flash Website
FREE Web Templates

EDUCATION
US Web Design Schools
HTML Certification
JavaScript Certification
XML Certification
PHP Certification
ASP Certification

HOME or Top of Page |  | Printer Friendly
W3Schools is for training only. We do not warrant the correctness of its content. The risk from using it lies entirely with the user. While using this site, you agree to have read and accepted our terms of use and privacy policy. Copyright 1999-2009 by Refsnes Data. All Rights Reserved.