31.1133GPPRelease 8TSUniversal Subscriber Identity Module Application Toolkit (USAT) interpreter byte codes

This clause gives an introduction to the WML and extended functionality.

B.3.1 WML Syntax

B.3.1.1 The WML page

A WML page is either stored at an application provider, or stored in compiled form on the USIM.

B.3.1.2 Entities

Entities are used to specify characters in the document character set which either need to be escaped in WML or may be difficult to enter in a text editor. WML text can contain numeric or named character entities. All entities begin with an ampersand and end with a semicolon.

The following predefined named entities are supported:












non-breaking space


soft hyphen



B.3.1.3 Elements

Elements may contain a start tag, content and an end tag. Elements have one of two structures:

<tag/> or <tag>content</tag>

B.3.1.4 Attributes

Attributes specify additional information about an element and are always specified in the start tag of an element. For example:

<tag attr="abcd"/> or <tag attr="abcd">content</tag>

All attribute values are quoted using double quotation marks (").

B.3.1.5 Variables

Variables can be used in the place of strings and are substituted at run-time with their current values. Anywhere the variable syntax is legal, an $ character followed by (VARIABLENAME) indicates a variable substitution:


The setvar, input and select elements can be used to set a variable.

Different variables may contain characters from different character sets. The type of a variable is set the first time the variable is defined in the WML document (for instance in a setvar, input or select element).

Variables have to be named with characters supported by ISO-8859-1.

A sequence of two dollar signs ($$) represents a single dollar sign, where variable syntax is legal.

B.3.2 Extended functionality interface

Some commands on the USAT Interpreter are not possible to address using WML [B3] tags. In those cases, an EFI [B4] syntax is used according to the following example:

<go href="efi://vnd.3gpp.interpreter/atk/functionName?arg1=a1"/>

The syntax is described in clause B.2.

The function name is unique for the command. All commands are called with different arguments, see clause B.5, and the arguments are used for both input and output data. The name of the function defines which command to be called.