WAP教程(10):WML参考手册、WML实例和WML DTD-XML/XSLT
所属分类:
网页制作 / XML/XSLT
阅读数:
1765
收藏 0赞 0分享
WAP 协议用于在无线客户端(比如移动电话)上展示因特网内容。
WAP 协议用于在无线客户端(比如移动电话)上展示因特网内容。
Deck / Card 元素
开始标签 |
作用 |
WML |
<access>
定义关于 deck 的访问控件的信息。
1.1
<card>
定义 deck 中的一个 card。
1.1
<head>
包含关于文档的信息。
1.1
<meta>
定义有关文档的元信息。
1.1
<template>
为 deck 中的所有 card 定义代码模板。
1.1
<wml>
定义 WML deck (WML 根)
1.1
<!-->
定义注释。
1.1
文本元素
开始标签 |
作用 |
WML |
<br>
定义一个换行。
1.1
<p>
定义一个段落。
1.1
<table>
定义表格。
1.1
<td>
定义一个表格单元(表格数据)。
1.1
<tr>
定义一个表格行。
1.1
文本格式化标签
开始标签 |
作用 |
WML |
<b>
定义粗体的文本。
1.1
<big>
定义大号的文本。
1.1
<em>
定义着重文本。
1.1
<i>
定义斜体的文本。
1.1
<small>
定义小号的文本。
1.1
<strong>
定义强调文本。
1.1
<u>
定义下划线文本。
1.1
锚元素
开始标签 |
作用 |
WML |
<a>
定义一个锚(链接)。
1.1
<anchor>
定义一个锚(链接)。
1.1
图像元素
开始标签 |
作用 |
WML |
<img>
定义图像。
1.1
事件元素
开始标签 |
作用 |
WML |
<do>
在用户点击屏幕上的一个单词或短语时激活一个任务。
1.1
<onevent>
包含了当某些事件发生时所执行的代码。
1.1
<postfield>
包含了连同 <go> 标签被送往服务器的信息。
1.1
任务元素
开始标签 |
作用 |
WML |
<go>
表示跳转到新卡片的动作。
1.1
<noop>
表示不进行任何动作(noop 指的是 "no operation")。
1.1
<prev>
表示返回前一个访问过的卡片。
1.1
<refresh>
刷新指定的卡片变量。如果有变量显示在屏幕上,此任务也会刷新屏幕。
1.1
输入元素
开始标签 |
作用 |
WML |
<fieldset>
用于对卡片中的相关元素进行分组。
1.1
<input>
定义输入字段(用户可在其中输入文本的文本域)。
1.1
<optgroup>
定义可选列表中的一组选项。
1.1
<option>
定义可选列表中的选项。
1.1
<select>
定义可选列表。
1.1
变量元素
开始标签 |
作用 |
WML |
<setvar>
在 <go>、<prev> 或 <refresh> 任务中把变量设置为指定的值。
1.1
<timer>
定义卡片计时器。
1.1
#p#
WAP 协议用于在无线客户端(比如移动电话)上展示因特网内容。
字符实体
结果 |
描述 |
实体名称 |
实体编号 |
&
ampersand
&
&
'
apostrophe
'
'
>
greater-than
>
>
<
less-than
<
<
non-breaking space
 
"
quotation mark
"
"
soft hyphen
­
­
#p#
WAP 协议用于在无线客户端(比如移动电话)上展示因特网内容。
完整的 WML DTD:
<!--
Wireless Markup Language (WML) Document Type Definition.
Copyright Wireless Application Protocol
Forum Ltd., 1998,1999.
All rights reserved.
WML is an XML language. Typical usage:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
...
</wml>
Terms and conditions of use are
available from the Wireless
Application Protocol Forum Ltd. web site at
http://www.wapforum.org/docs/copyright.htm.
-->
<!ENTITY % length "CDATA">
<!-- [0-9] for pixels or [0-9] "%"
for percentage length -->
<!ENTITY % vdata "CDATA">
<!-- attribute value possibly containing
variable references -->
<!ENTITY % HREF "%vdata;">
<!-- URI, URL or URN designating a
hypertext node. May contain variable references -->
<!ENTITY % boolean "(true|false)">
<!ENTITY % number "NMTOKEN">
<!-- a number, with format [0-9] -->
<!ENTITY % coreattrs "id ID #IMPLIED
class CDATA #IMPLIED">
<!ENTITY % emph
"em | strong | b | i | u | big | small">
<!ENTITY % layout "br">
<!ENTITY % text "#PCDATA | %emph;">
<!-- flow covers "card-level" elements,
such as text and images -->
<!ENTITY % flow
"%text; | %layout; | img | anchor | a | table">
<!-- Task types -->
<!ENTITY % task "go | prev | noop | refresh">
<!-- Navigation and event elements -->
<!ENTITY % navelmts "do | onevent">
<!--============= Decks and Cards =============-->
<!ELEMENT wml ( head?, template?, card )>
<!ATTLIST wml
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!-- card intrinsic events -->
<!ENTITY % cardev
"onenterforward %HREF; #IMPLIED
onenterbackward %HREF; #IMPLIED
ontimer %HREF; #IMPLIED"
>
<!-- card field types -->
<!ENTITY % fields
"%flow; | input | select | fieldset">
<!ELEMENT card (onevent*, timer?, (do | p)*)>
<!ATTLIST card
title %vdata; #IMPLIED
newcontext %boolean; "false"
ordered %boolean; "true"
xml:lang NMTOKEN #IMPLIED
蕆dev;
%coreattrs;
>
<!--============= Event Bindings =============-->
<!ELEMENT do (%task;)>
<!ATTLIST do
type CDATA #REQUIRED
label %vdata; #IMPLIED
name NMTOKEN #IMPLIED
optional %boolean; "false"
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT onevent (%task;)>
<!ATTLIST onevent
type CDATA #REQUIRED
%coreattrs;
>
<!--======== Deck-level declarations ========-->
<!ELEMENT head ( access | meta ) >
<!ATTLIST head
%coreattrs;
>
<!ELEMENT template (%navelmts;)*>
<!ATTLIST template
蕆dev;
%coreattrs;
>
<!ELEMENT access EMPTY>
<!ATTLIST access
domain CDATA #IMPLIED
path CDATA #IMPLIED
%coreattrs;
>
<!ELEMENT meta EMPTY>
<!ATTLIST meta
http-equiv CDATA #IMPLIED
name CDATA #IMPLIED
forua %boolean; #IMPLIED
content CDATA #REQUIRED
scheme CDATA #IMPLIED
%coreattrs;
>
<!--================ Tasks ================-->
<!ELEMENT go (postfield | setvar)*>
<!ATTLIST go
href %HREF; #REQUIRED
sendreferer %boolean; "false"
method (post|get) "get"
accept-charset CDATA #IMPLIED
%coreattrs;
>
<!ELEMENT prev (setvar)*>
<!ATTLIST prev
%coreattrs;
>
<!ELEMENT refresh (setvar)*>
<!ATTLIST refresh
%coreattrs;
>
<!ELEMENT noop EMPTY>
<!ATTLIST noop
%coreattrs;
>
<!--============= postfield =============-->
<!ELEMENT postfield EMPTY>
<!ATTLIST postfield
name %vdata; #REQUIRED
value %vdata; #REQUIRED
%coreattrs;
>
<!--============= variables =============-->
<!ELEMENT setvar EMPTY>
<!ATTLIST setvar
name %vdata; #REQUIRED
value %vdata; #REQUIRED
%coreattrs;
>
<!--============= Card Fields =============-->
<!ELEMENT select (optgroup|option) >
<!ATTLIST select
title %vdata; #IMPLIED
name NMTOKEN #IMPLIED
value %vdata; #IMPLIED
iname NMTOKEN #IMPLIED
ivalue %vdata; #IMPLIED
multiple %boolean; "false"
tabindex %number; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT optgroup (optgroup|option) >
<!ATTLIST optgroup
title %vdata; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT option (#PCDATA | onevent)*>
<!ATTLIST option
value %vdata; #IMPLIED
title %vdata; #IMPLIED
onpick %HREF; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT input EMPTY>
<!ATTLIST input
name NMTOKEN #REQUIRED
type (text|password) "text"
value %vdata; #IMPLIED
format CDATA #IMPLIED
emptyok %boolean; "false"
size %number; #IMPLIED
maxlength %number; #IMPLIED
tabindex %number; #IMPLIED
title %vdata; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT fieldset (%fields; | do)* >
<!ATTLIST fieldset
title %vdata; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT timer EMPTY>
<!ATTLIST timer
name NMTOKEN #IMPLIED
value %vdata; #REQUIRED
%coreattrs;
>
<!--============= Images =============-->
<!ENTITY % IAlign "(top|middle|bottom)" >
<!ELEMENT img EMPTY>
<!ATTLIST img
alt %vdata; #REQUIRED
src %HREF; #REQUIRED
localsrc %vdata; #IMPLIED
vspace %length; "0"
hspace %length; "0"
align %IAlign; "bottom"
height %length; #IMPLIED
width %length; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!--============= Anchor =============-->
<!ELEMENT anchor
( #PCDATA | br | img | go | prev | refresh )*>
<!ATTLIST anchor
title %vdata; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT a ( #PCDATA | br | img )*>
<!ATTLIST a
href %HREF; #REQUIRED
title %vdata; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!--============= Tables =============-->
<!ELEMENT table (tr) >
<!ATTLIST table
title %vdata; #IMPLIED
align CDATA #IMPLIED
columns %number; #REQUIRED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT tr (td) >
<!ATTLIST tr
%coreattrs;
>
<!ELEMENT td
( %text; | %layout; | img | anchor | a )*>
<!ATTLIST td
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!--== Text layout and line breaks ==-->
<!ELEMENT em (%flow;)*>
<!ATTLIST em
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT strong (%flow;)*>
<!ATTLIST strong
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT b (%flow;)*>
<!ATTLIST b
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT i (%flow;)*>
<!ATTLIST i
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT u (%flow;)*>
<!ATTLIST u
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT big (%flow;)*>
<!ATTLIST big
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT small (%flow;)*>
<!ATTLIST small
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ENTITY % TAlign "(left|right|center)">
<!ENTITY % WrapMode "(wrap|nowrap)" >
<!ELEMENT p (%fields; | do)*>
<!ATTLIST p
align %TAlign; "left"
mode %WrapMode; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ELEMENT br EMPTY>
<!ATTLIST br
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
<!ENTITY quot """>
<!-- quotation mark -->
<!ENTITY amp "&#38;">
<!-- ampersand -->
<!ENTITY apos "'">
<!-- apostrophe -->
<!ENTITY lt "&#60;">
<!-- less than -->
<!ENTITY gt ">">
<!-- greater than -->
<!ENTITY nbsp " ">
<!-- non-breaking space -->
<!ENTITY shy "­">
<!-- soft hyphen (discretionary hyphen) -->
<!--
Copyright Wireless Application Protocol
Forum Ltd., 1998,1999.
All rights reserved.
-->
在XML模式中扩展枚举列表
在列表中添加新值是一种常见而且必要的需求。模式设计者通常希望在系统架构中构建一种添加附加值的方法,并且该附加值在设计阶段是未知的。模式设计者如何创建一个可扩展、易于实现的枚举值列表?本文将介绍几种实现这一目标的方法。
模式设计者和实现人员需要一种扩
收藏 0赞 0分享
XML入门教程:XML名称空间-XML/XSLT
XML名称空间表示XML名称的使用范围,因为XML可自定义元素标签,所以有不同XML应用间XML名称重名的机会是很大的。如果没有一种方法来区分不应用的名称,就会造成混乱。XML名称空间就是为了解决这个问题而设计的。通过XML名称空间,我们可以区分
收藏 0赞 0分享
XML入门教程:属性声明-XML/XSLT
一个有效的XML文档,必须对元素的属性进行声明。使用ATTLIST声明来完成,一个ATTLIST可以为一个元素类型声明多个属性。
一个有效的XML文档,必须对元素的属性进行声明。使用ATTLIST声明来完成,一个ATTLIST可以为一个元素类型
收藏 0赞 0分享
XML入门教程:实体-XML/XSLT
由于数据不是XML格式,所以使用NDATA声明指定数据类型。avi是在NOTATION中定义的MIME媒体类型。在XML中嵌入未析实体很复杂且不规范,尽量不要使用。
实体
用ENTITY声明定义实体。如:
收藏 0赞 0分享
XML入门教程:元素声明-XML/XSLT
有效文档中使用的每个元素都必须在文档的DTD中用元素声明进行声明。element_name可是任何合法的XML名称,content_model(内容模型)指定元素可以或必须包含的子元素以及子元素的顺序。下面具体介绍内容模型的内容。
上节文档类型
收藏 0赞 0分享
XML入门教程:文档类型声明-XML/XSLT
要使用DTD进行有效性检验,就要使用文档类型定义声明指定DTD。文档类型声明位于XML声明之后,根元素之前。如果dtd文档位于本机,可用路径名直接指出dtd文档的位置。
由于XML可自定义标签,所以每个人定义的标签集都会不同,如
收藏 0赞 0分享
XML入门教程:XML语法-XML/XSLT
接着在浏览器中打开index.xml文档,则可显示“Hello World”。上面两个文档都是合法的XML文件,具体的语法规则下面会详细介绍,上例可先给大家一个感性的认识。合法的XML文档可有种意思,一个是良构文档(well-format),即符合XML规则书写的文档
收藏 0赞 0分享
xml入门教程:XML是什么-XML/XSLT
XML(eXtensible Markup Language,可扩展标记语言)是SGML的一个子集,但比SGML简单,用以创建可相互转换的结构化文本文档和数据文档。下面说明一下与XML相关的一些概念。
XML(eXtensible Markup L
收藏 0赞 0分享
WAP教程(11):WAP论坛和开放移动联盟与论坛-XML/XSLT
WAP 论坛,WAP开放移动联盟,WAP论坛.
WAP 论坛 (WAP Forum)
无线应用协议 (WAP) 论坛为数字移动电话和其他无线终端开发了事实上的全球标准。 WAP 论坛发布了开放的全球无线协议规范,此规范基于已有的因特网标准
收藏 0赞 0分享
查看更多