Anders als bei HTML ist ein WML-Dokument nicht einfach eine Seite die vom Endgerät angezeigt wird, sondern es wird ein Deck definiert, das mehrere Cards enthält, von denen jeweils nur eine auf einmal betrachtet wird. Dies hat den Vorteil, dass nicht zwingend bei jedem Verfolgen eines Links eine neue Seite über das langsame GSM-Netz abgerufen werden muss, denn zu einer Indexseite können z.B. die wichtigsten weiterführenden Seiten gleich als weitere Cards mitgesendet werden. Da bei den relativ kleinen von WAP übertragenen Datenmengen nicht die geringe Bandbreite sondern vor allen die hohe Latenz für das Geschwindigkeitsempfinden relevant ist, kann dies die Anwendung einer Applikation erheblich beschleunigen.
WML enthält Pflichttags und optionale Tags, was den Effekt hat, das nicht alle WAP-Browser der verschiedenen Handys den genau gleichen Sprachumfang implementieren. Man muss bei der Anwendung optionaler WML Bestandteile also immer darauf achten, dass diese entweder auf allen gängigen Mobiltelefonen implementiert sind, oder die Anwendbarkeit der Applikation nicht zwingend an diesen Tags hängt.
Ein Beispiel für eine einfache WML-Seite, die ein Bild und einen Verweis auf eine weitere Seite enthält:
<?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="Portal" title="DeTeSystem"> <do type="prev"><prev/></do> <p> <img src="detelogo.wbmp" alt="DeTeSystem"/><br/> <a href="search.php3">Datenbanksuche</a><br/> </p> </card> </wml>