📜  WML2.0教程

📅  最后修改于: 2020-10-28 05:44:22             🧑  作者: Mango


WML2是一种语言,它扩展了以下内容的语法和语义:

  • XHTML Basic [XHTMLBasic]
  • CSS移动配置文件[CSSMP]
  • WML1.0的独特语义[WML1.0]

WML2经过优化,可以在功能有限的设备(例如移动电话和其他无线移动终端)上指定演示和用户交互。

本教程详细介绍了无线标记语言(WML)版本2。本教程将WML版本2.0称为WML2。

W3C定义的XHTML Basic是XHTML的适当子集,它是XML中HTML的重新格式。

WML2的基本目标:

WML2有五个主要目标:

  • 向后兼容性: WML2应用程序也应在旧设备上运行。

  • 与现有和不断发展的Internet标准融合: XHTML Basic [XHTMLBasic]和CSS Mobile Profile [CSSMP]

  • 优化小型,有限设备的访问权限:启用WAP的设备通常很小,并且由电池供电,并且内存和CPU能力相对有限。因此,应该对WML2进行足够的优化以在这些设备上运行。

  • 允许创建不同的用户界面: WAP使创建人机界面(MMI)的方式具有最大的灵活性,并使供应商能够增强用户体验。

  • 体系结构的国际化: WAP面向国际使用的通用字符代码。这包括面向最终用户的国际符号和象形图集,以及针对内容开发人员的本地使用字符编码。

WML2愿景:

WML2的愿景是创建一种语言,以WML1的唯一语义扩展XHTML Basic和CSS Mobile配置文件的语法和语义。用户不应该知道如何实现WML1兼容性。

WML2语言结构:

WML2是一种具有以下组件的新语言:

(1)XHTML Basic:

该元素组用于W3C融合。对于某些元素,添加了WML扩展属性以实现WML1功能。

(1a)XHTML基本元素:

首字母缩写词地址基础块引号br标题引用代码dd dfn div dl dt em形式h1 h2 h3 h4 h5 h6头kbd标签li link object ol param pre q samp span strong table td th title ul var

(1b)具有WML扩展属性的XHTML Basic元素:

正文html img输入meta选项p选择样式textarea

(2)XHTML模块化元素:

该元素组由XHTML Basic中未包括的XHTML模块中的选择元素组成。包含大多数元素是为了实现WML1兼容性。其中一个元素是作为增强功能,适合有限的手机功能。

(2a)XHTML模块化,用于向后兼容WML1:

b大i小(来自Presentation模块) u (来自传统模块)字段集optgroup (来自表单模块)

(2b)用于功能增强的XHTML模块化元素:

小时

(3)WML扩展元素:

有些元素来自WML1,因为XHTML Basic或XHTML Modularization中没有提供等效功能。其中包含一个用于增强WML1功能的元素。

(3a)WML扩展元素(用于WML1兼容性):

wml:access wml:anchor wml:card wml:do wml:getvar wml:go wml:noop wml:onevent wml:postfield wml:prev wml:refresh wml:setvar wml:timer

(3b)WML扩展元素(用于功能增强):

wml:widget

WML文档结构模块:

结构模块中的以下元素用于指定WML2文档的结构:

  • 身体
  • html
  • wml:card
  • 标题

主体元素:

wml:newcontext属性指定在加载文档时是否将浏览器上下文初始化为定义良好的状态。如果wml:newcontext属性值为“ true”,则浏览器在导航到该卡时必须重新初始化浏览器上下文。

html元素:

xmlns:wml属性引用WML命名空间,例如:http://www.wapforum.org/2001/wml。

wml:use-xml-fragments属性用于指定用户代理如何解释片段标识符。有关在go任务和prev任务中使用wml:use-xml-fragments的详细信息。

wml:card元素:

wml:card元素指定文档主体的片段。多个wml:card元素可能会出现在单个文档中。每个wml:card元素代表一个单独的呈现和/或与用户的交互。

如果wml:card元素的newcontext属性值为“ true”,则浏览器在导航到该卡时必须重新初始化浏览器上下文。

头部元素:

该元素保留文档的标题信息,例如meta元素和样式表等。

标题元素:

此元素用于放置文档标题

注意: WML开发人员可以使用XHTML文档样式,即主体结构,也可以使用卡片的集合。使用主体结构时,将使用主体元素构造文档。 body元素包含文档的内容。当使用卡片集合时,将使用一个或多个wml:card元素来构造文档。

WML2任务

WML2.0中定义了以下任务。这些任务与WML1.0非常相似

  • 执行任务
  • 上一个任务
  • Noop任务
  • 刷新任务

WML2事件:

WML2中定义了以下事件类型:

  • 内部事件:由用户代理生成的事件,包括与WML1.0类似的以下事件

    • 计时器
    • 继续前进
    • 内向后
    • 挑剔
  • 外部事件:由某个外部代理发送给用户代理的事件。 WML 2规范未指定外部事件的任何类别。 WML外在事件类的一个示例可能是WTA事件

WML2文档类型:

WML2文档由MIME媒体类型“ application / wml + xml”标识。类型“ application / xhtml + xml”可用于从任何基于XHTML的标记语言(包括XHTML Basic)中识别文档。

DOCTYPE声明可以包含XHTML Basic正式公共标识符,也可以包含XHTML Basic DTD的URI,如下所示:

WML2样式表

样式表可用于设置WML2文档的样式。样式信息可以通过以下三种方式与文档相关联:

外部样式表:

可以使用特殊的XML处理指令或链接元素将外部样式表与文档相关联。也可以使用XML处理指令。

在以下示例中,XML处理指令用于关联外部样式表“ mobile.css”。


在以下示例中,link元素用于关联外部样式表“ mystyle.css”:


...

...

内部样式表:

可以使用style元素在文档中找到样式信息。此元素(如链接)必须位于文档标题中。

下面显示了内部样式表的示例:


...

...

内联样式:

您可以使用style属性为单个元素指定样式信息。这称为内联样式。

在以下示例中,将内联样式信息应用于特定的段落元素:

...

WML2默认样式表:

这是WML 2.0的示例样式表:

body, card, div, p, center, hr, h1, h2, h3, h4, h5, h6,
address, blockquote, pre, ol, ul, dl, dt, dd,
form, fieldset, object { display: block }
li      { display: list-item }
head    { display: none }
table   { display: table }
tr      { display: table-row }
td, th  { display: table-cell }
caption { display: table-caption }
th      { font-weight: bolder; text-align: center }
caption { text-align: center }
h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder }
i, cite, em, var,address { font-style: italic }
pre, code, kbd, pre { white-space: pre }
big     { font-size: larger}
small   { font-size: smaller}
hr      { border: 1px inset }
ol      { list-style-type: decimal }
u       { text-decoration: underline }

WML2元素:

这里是所有WML2元素的完整列表的链接。大多数元素在XHTML规范中可用,除了少数以WML开头的元素这些元素特定于WML。

这里所有元素的含义与XHTML规范中的含义相同。

WML2标签参考

概要:

我们可以得出结论,如果您了解XHTML和WML1.0,则无需学习WML2.0

如果您有兴趣进一步阅读,则可以在此处找到WAP2.0和WML2.0的完整规范