WML Examples

From http://www.w3schools.com (Copyright Refsnes Data)

# WML Examples

A WML deck with two cards - one for user input and one for displaying the result - can be set up, as demonstrated in this example:

    <?xml version="1.0"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
    "http://www.wapforum.org/DTD/wml_1.1.xml">

    <wml>

    <card id="card1" title="Tutorial">
    <do type="accept" label="Answer">
      <go href="#card2"/>
    </do>
    <p>
    <select name="name">
      <option value="HTML">HTML Tutorial</option>
      <option value="XML">XML Tutorial</option>
      <option value="WAP">WAP Tutorial</option>
    </select>
    </p>
    </card>

    <card id="card2" title="Answer">
    <p>
    You selected: $(name)
    </p>
    </card>

    </wml>

The first card might look like this in your mobile phone display:

    ----- Tutorial ----------

     HTML Tutorial
     XML  Tutorial
     WAP  Tutorial

    Answer

The second card might look like this:

    ----- Answer ----------

     You Selected: HTML

## Example Explained

### The Prolog

    <?xml version="1.0"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
    "http://www.wapforum.org/DTD/wml_1.1.xml">

The first lines in the WML document are called the prolog. The prolog defines that this is an XML document, it then defines the XML version, and the DTD to be referenced.

### The Deck

    <wml> ..... </wml>

The deck is the WML document itself. It is embedded within <wml> tags

### The Cards

    <card> ..... </card>

Cards are always displayed one at the time. This WML deck contains two cards - one for user input and one for displaying the result.

### The <do> element

    <do> ... </do>

The first card has a <do> element that defines an event to be triggered. The type="accept" attribute of the <do> element causes the label="Answer" to be displayed in the lower left corner of the display.

### The Event

The <go> element triggers when the user clicks the <do> label. The href="#card2" attribute of the <go> element causes card2 to be displayed on the screen.

### The Variable

Card2 displays the $(name) variable from card1, because variables are valid across cards.

From http://www.w3schools.com (Copyright Refsnes Data)