Websydian v6.1 online documentationOnline documentation - Websydian v6.1

Deck Generator Background

Structure of WML Deck

WML (Wireless Markup Language) is a tagged language like HTML.  While HTML is displayed by a Web browser, WML code can be displayed by WAP browsers implemented by the new generation of mobile telephones and other handheld devices.

The ‘WML Deck’ is the unit corresponding to an HTML page and in this way WML Decks are generated by the HTTP server and sent to the WAP browser.

A WML Deck contains one or more Cards which the user can navigate between.  A jump between two Cards in the same Deck does not involve access to the server - this only happens when a new Deck is loaded.  When a new Deck is loaded, the first Card of the Deck is displayed by the browser if nothing else has been specified.

Structure of WML Deck

A WML Deck contains one or more Cards.  The user can navigate between Cards in the same Deck without accessing the server.

The Template section contains actions common for all the Cards in the WML Deck.  Common actions specified in the Template section are overwritten at Card-level by actions with the same object name - see the Overwriting and Omitting Common Template Actions section in the Other Uses of the Card Generator page.  Refer also to the WML reference documentation for more information.

Generation of WML Decks Split into Card Generators

WML Decks are generated from Deck Templates in the same way that HTML pages are generated from Document Templates:

Deck generation process

A Deck Template is specified for each Deck in the WAP application.  The Deck Generator reads the Deck Template and produces the generated WML Deck.

WML generation is split between a Deck Generator and one or more Card Generators (one Card Generator for each Card in Deck).  The Deck Generator generates the Deck portion of the WML document and it then calls Card Generators to generate the Card portions:

Deck generation process in details

The Deck Generator delegates control to Card Generators to generate the Card portion of each WML Card in the Deck.

A Deck Generator is executed in the following way:

During WML generation, the same Deck Template is used and only one WML Deck is generated – though several generator functions have been involved in the generation process.  By having separate functions for Deck and Card generation, the Deck/Card structure of WML is reflected directly in the Websydian architecture.

WsyDetails Values Transferred from Deck to Cards

Fields in the WsyDetails variable of the Deck Generator will automatically have their values transferred to any corresponding fields in the Card Generator functions called by the Deck Generator.  In this way, it is possible to specify the reading of a data record one single time in the Deck Generator instead of having to access the database once for each Card Generator.

Transfer contents of WsyDetails variable

The values of field A and B are transferred from the Deck Generator to each of the Card Generators.  Field C is not transferred because it is not included in the WsyDetails variable of any of the Card Generators.

If a field is defined in the WsyDetails variable of a Card Generator and not in the WsyDetails variable of its Deck Generator, the value of this field will be left for the Card Generator to define.   Transferred fields in the WsyDetails variable can be overwritten in the 0 Process input edit point of the Card Generator.