Oracle9iAS Wireless Developer's Guide Release 2 (9.0.2) Part Number A90485-02 |
|
This document present the following topic:
The XML DTD defines the abstract device markup language used in the OracleMobile Online Studio application framework. The goal of the definitions is to be a superset of the markup languages for a variety of devices. Elements in the DTD represent elements of an abstract user interface which translate to device-specific formats. The following is a list of tag elements in the XML DTD. See Oracle Technology Network for more details, and to view the tag element tree. The XML is derived from the DTD of Oracle9iAS Wireless with hosting extensions added. Note that the tag names are case-sensitive as below.
This tag provides the ability to define a link or submit action that navigates the user to a new context. Mobile devices can associate a submit action to a number of input methods (of the device), like pressing a Key on wap devices or saying a command on voice enabled devices. Action can have SimpleTextItem as child, this is used for rendering of Action tag in voice.
SimpleAction, for a given type, conforms to scopings rule (like the programming languages do).
If SimpleAction is defined as a child of SimpleMenu and also as an child of the enclosing SimpleContainer for a given "type" of SimpleAction, the SimpleAction tag within the Menu overrides the SimpleAction of the SimpleContainer. (Note: If the value for "type" attribute is different then the two SimpleAction's will active within the context. Also if two SimpleActions are defined with same "type" value within same context, then the action is undefined).
The "type" attribute can be used to define device specific actions, along with the deviceclass attribute.
Parents | Children |
---|---|
SimpleText |
SimpleCache |
SimpleForm |
SimpleTextItem |
SimpleFormItem |
SimpleGrammar |
SimpleFormSelect |
SimpleDTMF |
SimpleContainer |
|
SimpleResult |
|
SimpleMenu |
|
Plays an audio file on voice devices.
Bind is an extended action tag that can be invoked by multiple events and perform multiple tasks. A task/action can be triggered by events like by device keys (touch tone), by voice commands or by selecting a MenuItem. The action in turn may comprise of set of tasks to perform on match of the event. For e.g. Submit a form can happen when user clicks submit button, or when the user presses a key on the device or just says "submit" on the voice devices. SimpleBind tag defines all these events that needs to matched. SimpleBind tag also defines to set of actions that are mapped to event matches (SimpleMatch). The action can include displaying a flash screen to inform the user of the submit action and then actually submitting the form (2 actions for one set of events). SimpleBind also encloses the SimpleDisplay tag. SimpleDisplay tag is the rendering component of the SimpleBind, Indicates how the Bind action is rendered on the device. This rendering is used to render binding of type menu item and actions. For example: SimpleDisplay can include a SimpleTextItem saying "press or say 1 to submit".
Parents | Children |
---|---|
SimpleText |
SimpleMatch |
SimpleForm |
SimpleTask |
SimpleFormItem |
SimpleDisplay |
SimpleFormSelect |
|
SimpleContainer |
|
SimpleResult |
|
SimpleMenu |
|
Creates a break, new line on text devices and pause on voice devices.
Parents | Children |
---|---|
SimpleTextItem |
none |
SimpleSpan |
|
SimpleUnderline |
|
SimpleImage |
|
SimpleHref |
|
SimpleStrong |
|
SimpleEm |
|
SimpleAudio |
|
SimpleSpeech |
|
SimpleTitle |
|
SimpleHelp |
|
An URL can be cache on the gateway (like WAP gateway), client or both of them. Also used when a URL needs to be prefetched while still showing the current content (only supported devices in certain devices). SimpleCache defines all these policies.
Parents | Children |
---|---|
SimpleImage |
none |
SimpleHref |
|
SimpleAction |
|
SimpleAudio |
|
SimpleGrammar |
|
SimpleDTMF |
|
SimpleGo |
|
SimpleMenuItem |
|
SimpleResult |
|
Tag to write case statements within a SimpleSwitch tag. This allows the developer to perform client side "actions" on devices. Support for Switch/Case is not universal. Is Supported only in Wap (HDML/WML) and Voice (VoiceXML) devices.
Parents | Children |
---|---|
SimpleSwitch |
SimpleGo |
|
SimpleTextItem |
|
SimpleRefresh |
|
SimpleClear |
|
SimpleReprompt |
|
SimpleExit |
|
SimpleDisconnect |
|
SimplePrev |
|
SimpleSubmit |
Catches an event. Voice only tag. This can be used to capture predefined voice events like "noinput" "exit" etc. and perform actions on it. For example: on "noinput" (formitem) event the user can be given some help instructions and be reprompted for the input. Events include errors generated (Errors are also an instance of event)
Clears a list of client side form fields identified by the Name list (SimpleName). Works on WML/Voice (Voice) device only. Useful in voice applications e.g. Clearing a form field in voice will allow the Voice engine to reprompt the User for the form field again.
Parents | Children |
---|---|
SimpleCatch |
SimpleName |
SimpleCase |
|
SimpleTask |
|
Defines a column of a table.
Parents | Children |
---|---|
SimpleTableHeader |
SimpleTextItem |
SimpleRow |
|
The root element that contains all major block constructs like form, menu and Text.
Parents | Children |
---|---|
SimpleResult |
SimpleText |
|
SimpleMenu |
|
SimpleForm |
|
SimpleTable |
|
SimpleAction |
|
SimpleBind |
Disconnect's a connection oriented device like the Voice browser.
Parents | Children |
---|---|
SimpleCatch |
none |
SimpleCase |
|
SimpleTask |
|
Supports all rendering characteristics of an SimpleBind (using SImpleTextItem). SimpleTextItem, a child SimpleDisplay, contains the actual render/display content. Useful in two cases i) Allows provides an audio (child of textitem), ii) Render the text for a MenuItem, when Bind is displayed a MenuItem (A Bind can be displayed as MenuItem if the SimpleMatch contains the SimpleMItem element and the SimpleBind occurs as child of SimpleMenu).
SimpleDisplay as the rendering container of SimpleBind. <SimpleBind> </SimpleMatch> <SimpleTask> </SimpleTask> <SimpleDisplay> <SimpleTextItem deviceclass=".."><SimpleAudio .../></SimpleTextItem> <SimpleTextItem deviceclass="..">Hello welcome</SimpleTextItem> </SimpleDisplay>
Parents | Children |
---|---|
SimpleBind |
SimpleTextItem |
Specify a VoiceXML DTMF grammar. DTMF grammar can be used to indicate a syntax like 1 {San Francisco} | 2 {Wash. DC} | 3 {New York} etc. If the syntax information stored in a remote server, the "src" attribute can be used to specify the URI of the DTMF syntax resource/file.
Parents | Children |
---|---|
SimpleHref |
[PCDATA] |
SimpleAction |
SimpleCache |
SimpleForm |
|
SimpleFormItem |
|
SimpleFormSelect |
|
SimpleMatch |
|
Displays the enclosed text(audio) with emphasis. Text enclosed usually displayed as italicized text.
Perform a application exit
Parents | Children |
---|---|
SimpleCatch |
none |
SimpleCase |
|
SimpleTask |
|
SimpleFinish indicates the Finish event. This is a tag is supported only in Voice. This can be any event that completes an user task. For example, reaching the end of the form field input on Voice devices.
Parents | Children |
---|---|
SimpleMatch |
none |
This element is used for displaying one or more input fields. The fields are presented using the SimpleFormItem and SimpleFormSelect elements. Form has SimpleTitle as child, if specified will appear as the Title of the form.
Parents | Children |
---|---|
SimpleContainer |
SimpleTitle |
|
SimpleProperty |
|
SimpleTextItem |
|
SimpleTextField |
|
SimpleFormItem |
|
SimpleFormSelect |
|
SimpleCatch |
|
SimpleAction |
|
SimpleBind |
|
SimpleGrammar |
|
SimpleDTMF |
Specified if Input is mandatory. This attribute is supported only if the target device supports such an functionality. The application must always validate the field on the server side
Parents | Children |
---|---|
SimpleForm |
[PCDATA] |
|
SimpleTitle |
|
SimpleAction |
|
SimpleBind |
|
SimpleCatch |
|
SimpleProperty |
|
SimpleHelp |
|
SimpleGrammar |
|
SimpleDTMF |
Provides value for a formitem as a predefined list of values. Element is an item in a selectable menu. "FormOption" takes PCDATA and SimpleTextItem as child. SimpleTextItem is used to render the an Rich Text (useful when using Radio buttons and Checkboxes). Certain devices do not allow RichText as part of MenuItem, in such cases the text inside SimpleTextItem are collected and rendered. If SimpleTextItem does not exist, then the PCDATA is rendered. PCDATA is required, because in Voice the user select's the option by uttering the "PCDATA". "PCDATA",parsable character format, specifies default values for the form item.
Parents | Children |
---|---|
SimpleFormSelect |
[PCDATA] |
SimpleOptGroup |
SimpleTextItem |
This element displays a select and option list. Can display option list, checkbox or radio box.
Parents | Children |
---|---|
SimpleForm |
SimpleTitle |
|
SimpleFormOption |
|
SimpleOptGroup |
|
SimpleCatch |
|
SimpleAction |
|
SimpleBind |
|
SimpleHelp |
|
SimpleGrammar |
|
SimpleDTMF |
Defines the "Go" task. Go is one the many possible tasks of a Bind operation (SimpleBind) and is defined as is child of SimpleTask. SimpleGo is an empty tag (no child tags).
Parents | Children |
---|---|
SimplePrev |
SimpleCache |
SimpleCatch |
|
SimpleCase |
|
SimpleTask |
|
Provides the voice grammar for the enclosing item like SimpleMenuItem. For example: for SimpleMenuItem with enclosing text like "Oracle9iAS Wireless.", the Voice Engine would say "your options are Oracle9iAS Wireless.". Use SimpleGrammar for voice if you want to invoke this MenuItem when the user says "Oracle" | "Oracle9i" | "9i" | "Wireless"
Parents | Children |
---|---|
SimpleHref |
[PCDATA] |
SimpleAction |
SimpleCache |
SimpleMenuItem |
|
SimpleForm |
|
SimpleFormItem |
|
SimpleFormSelect |
|
SimpleMatch |
|
Used to display Help text for a field. Used by SSD/PDA style devices to display help text for the FormItem/Select (In voice SimpleCatch "type="help" is used).
Parents | Children |
---|---|
SimpleFormItem |
[PCDATA] |
SimpleFormSelect |
SimpleHref |
|
SimpleBreak |
|
SimpleEm |
|
SimpleStrong |
|
SimpleImage |
Specifies a hyperlink.
Parents | Children |
---|---|
SimpleTextItem |
[PCDATA] |
SimpleHelp |
SimpleCache |
|
SimpleGrammar |
|
SimpleDTMF |
|
SimpleBreak |
|
SimpleEm |
|
SimpleStrong |
|
SimpleSpan |
|
SimpleUnderline |
|
SimpleAudio |
|
SimpleSpeech |
|
SimpleImage |
|
SimpleValue |
SimpleKey defines the device key for the Bind operation. SimpleKey, like SimpleAction has a type attribute that identified the Key on device for the Bind operation.
Parents | Children |
---|---|
SimpleMatch |
none |
A Bind (SimpleBind) can be triggered by various actions like pressing a key, event or saying a key word (voice). Each of these actions are indicated by separate tags. SimpleMatch is the container tag for all such possible Bind Invocation tags.
Parents | Children |
---|---|
SimpleBind |
SimpleFinish |
|
SimpleKey |
|
SimpleGrammar |
|
SimpleDTMF |
|
SimpleMItem |
|
SimpleEvent |
This element represents a single menu with selectable links which are defined by the children SimpleMenuItem elements.
Parents | Children |
---|---|
SimpleContainer |
SimpleTitle |
|
SimpleProperty |
|
SimpleCatch |
|
SimpleMenuItem |
|
SimpleBind |
|
SimpleAction |
This element represents a single, selectable option in a menu defined by SimpleMenu.
Parents | Children |
---|---|
SimpleMenu |
[PCDATA] |
|
SimpleCache |
|
SimpleTextItem |
|
SimpleGrammar |
Defines all WML/HDML/HTML meta tags (pass through)
Parents | Children |
---|---|
SimpleResult |
none |
Empty tag to indicate the Bind needs to rendered as a MenuItem. This is allowed only when SimpleBind is a child of SimpleMenu. Use SimpleTextItem, as a child of SimpleDisplay, to display for the actual text of a menu item text. Defines all WML/HDML/HTML meta tags (pass through)
Parents | Children |
---|---|
SimpleMatch |
none |
Identifies Client side form field names. Used to specify a list of client side form fields, that need to cleared. Useful in voice, as clearing of form fields allows for reprompt by the VoiceXML browser.
Parents | Children |
---|---|
SimpleClear |
none |
SimpleSubmit |
|
Group SimpleFormOptions into a hierarchy. To support Small screen devices, where long lists of options cannot not deliver good UIs. On devices where optgroup is not supported the display strings of options, inside the optgroups, are concatenated with label defined in the optgroup.
Parents | Children |
---|---|
SimpleFormSelect |
[PCDATA] |
|
SimpleFormOption |
A Bind (SimpleBind) can be triggered by any event and also these can be device specific events. The SimpleEvent element describes the possible events that would trigger the Bind action. This Element allows you to take advantage of device specific event handlers and define actions that can be triggered on such events. The attribute "type" identifies the device specific events. For Voice applications you can use events like "noinput", "cancel" etc. For WML it can be events like "onenterforward", "onpick" etc.
Parents | Children |
---|---|
SimpleMatch |
none |
Tag for the "PREV" (previous) functionality. Has SimpleGo as child and the target of the SimpleGo is the destination URL if "PREV" is not supported natively by the browser.
Parents | Children |
---|---|
SimpleCatch |
SimpleGo |
SimpleCase |
|
SimpleTask |
|
Set VoiceXML engine properties
Parents | Children |
---|---|
SimpleForm |
none |
SimpleFormItem |
|
SimpleResult |
|
SimpleMenu |
|
Perform a refresh of the device if supported by the device
Parents | Children |
---|---|
SimpleCatch |
none |
SimpleCase |
|
SimpleTask |
|
This task will reprompt the user for the field input. Valid in Voice apps only and used for reprompting the form fields/inputs.
Parents | Children |
---|---|
SimpleCatch |
none |
SimpleCase |
|
SimpleTask |
|
The root tag of Wireless XML. SimpleResult encloses the complete response for a request
Parents | Children |
---|---|
none |
SimpleMeta |
|
SimpleCatch |
|
SimpleProperty |
|
SimpleCache |
|
SimpleAction |
|
SimpleBind |
|
SimpleContainer |
|
SimpleTimer |
Defines row of a table.
Parents | Children |
---|---|
SimpleTableBody |
SimpleCol |
Element to control Style of Text. Control for font, color and size of text.
Control prosody, class, and other VoiceXML text-to-speech engine parameters.
Displays enclosed text in a stronger representation, usually bold
Defines the Submit task of a Bind. SimpleSubmit is child of SimpleTask. SimpleSubmit bind performs a submit action. You may provide a list of Form item names that has to be submitted. If provide a name list is provided then only those form item will be submitted. An Empty SimpleSubmit will Submit all the form items.
Parents | Children |
---|---|
SimpleCatch |
SimpleName |
SimpleCase |
|
SimpleTask |
|
Tag to write switch statements on form field name/value. Allows to compare the Value of the form field input on the client side and can branch to perform different Tasks.
Parents | Children |
---|---|
SimpleTask |
SimpleCase |
Parents | Children |
---|---|
SimpleContainer |
SimpleTableHeader |
|
SimpleTableBody |
Parents | Children |
---|---|
SimpleTable |
SimpleRow |
Parents | Children |
---|---|
SimpleTable |
SimpleCol |
Container tag for all task items of a Bind (SimpleBind). Tag encloses all the possible tasks like go, submit, exit etc. Task also includes TextItem as a child, this allows rendering of an audio or text (speech) before performing an action (useful in voice applications)
Parents | Children |
---|---|
SimpleBind |
SimpleSwitch |
|
SimpleGo |
|
SimpleTextItem |
|
SimpleRefresh |
|
SimpleClear |
|
SimpleReprompt |
|
SimpleExit |
|
SimpleDisconnect |
|
SimplePrev |
|
SimpleSubmit |
Container for block of Texts (SimpleTextItem's)
Parents | Children |
---|---|
SimpleContainer |
SimpleTitle |
|
SimpleCatch |
|
SimpleTextItem |
|
SimpleAction |
|
SimpleBind |
Used to display non-editable field inside a form. For example, changing an password, where the userid is an non-editable field.
Parents | Children |
---|---|
SimpleForm |
SimpleTitle |
|
SimpleTextItem |
This element contains one block of plain text, typically a single paragraph.
Invokes a "goto" target task after a specified delay time.
Parents | Children |
---|---|
SimpleResult |
none |
Title element for form Field and Menu container (SimpleMenu)
Underline a text.
Substitute the value of the client side form field variable, just like a macro. Possible with WML, VoiceXML etc. Can be used to provide a client side confirmation display/screen like "you entered 5, do you want continue" (Where the value 5 is the value of a form item).
Parents | Children |
---|---|
SimpleTextItem |
none |
SimpleSpan |
|
SimpleUnderline |
|
SimpleImage |
|
SimpleHref |
|
SimpleStrong |
|
SimpleEm |
|
SimpleAudio |
|
SimpleSpeech |
|
SimpleTitle |
|
Mobile Contexts are equivalent to scriptlets in many scripting languages like JSP, ASP etc. Mobile Scripting is primarily a context variable substitution. In other words, Mobile Contexts are placeholder for properties substituted by Oracle9iAS Wireless core at the runtime. Though, embedded Mobile Context are not literal to Oracle9iAS Wireless runtime, nonetheless, they do not violate rules of XML document. Oracle9iAS Wireless predefines a set of Mobile Contexts for application developers to use.
Oracle9iAS Wireless also sends all the Mobile Context information as HTTP Headers while invoking a request. It allows application developers to retrieve the Mobile Context information as HTTP Headers. Mobile Contexts as HTTP may be used to make any application-level decisions, or may be used for generating responses while embedded Mobile Contexts may only be used for generating responses.
Mobile Contexts are primarily divided into following four categories.
Variable Name | DataType | Description |
---|---|---|
user.name |
String |
Login name of the User. If anonymous user, this should not be set. |
user.displayname |
String |
Display name of the User. |
Variable Name | DataType | Description |
---|---|---|
module.callback.url |
String |
The callback URL for Module return statement. |
module.callback.label |
String |
Display Label for the Module, calling back the caller. |
Header Name | DataType | Description |
---|---|---|
X-Oracle-User.Locale |
String |
User Locale Information |
Headers are encoded in ISO8859-1 character set according to HTTP 1.1 specification.
All request parameters and certain Headers as specified above (location, user etc.) are encoded as described by encoding parameter of service definition. Further the values are URL encoded as per HTTP 1.1 specification.
Application may retrieve these requests values by performing the following steps.
For example a typical jsp scriptlet for Big5 (traditional Chinese) may look as follows for Java Programming Language.
<% // let the encoding of service be Big5 String userName = request.getHeader("X-Oracle-User.DisplayName"); userName = java.net.URLDecoder.decode(userName); userName = new String(userName.getBytes(), "Big5"); %>
Variable Name | DataType | Description |
---|---|---|
module.callback.url |
String |
The callback URL for Module return statement. |
module.callback.label |
String |
Display Label for the Module, calling back the caller. |
For example, the following two applications can be used to greet the user.
<?xml version = "1.0" encoding = "UTF-8" standalone="yes" ?> <!DOCTYPE SimpleResult PUBLIC "-//ORACLE//DTD SimpleResult 1.1//EN" "http://xmlns.oracle.com/ias/dtds/SimpleResult_1_1_0.dtd"> <SimpleResult> <SimpleContainer> <SimpleText> <SimpleTextItem> <SimpleStrong>Hello %value user.displayname%</SimpleStrong> </SimpleTextItem> </SimpleText> </SimpleContainer> </SimpleResult>
<?xml version = "1.0" encoding = "UTF-8" standalone="yes" ?> <!DOCTYPE SimpleResult PUBLIC "-//ORACLE//DTD SimpleResult 1.1//EN" "http://xmlns.oracle.com/ias/dtds/SimpleResult_1_1_0.dtd"> <% String userName = request.getHeader("X-Oracle-User.DisplayName"); userName = (userName == null) ? request.getHeader("X-Oracle-User.name") : userName; userName = (userName == null) ? "Visitor" : userName; userName = java.net.URLDecoder.decode(userName); %> <SimpleResult> <SimpleContainer> <SimpleText> <SimpleTextItem halign="center">Hello <%=userName%></SimpleTextItem> </SimpleText> </SimpleContainer> </SimpleResult>
|
Copyright © 2002 Oracle Corporation. All Rights Reserved. |
|