1. 简单说WML代表什么? WML代表“Wireless Markup Language”。WML就是无线标记语言(Wireless Markup Language),内置于移动设备中的微型浏览器能够解释这种标记语言。虽然它和HTML语言很相像,但WML其实是XML的一个应用子集。 2. 什么是WML? WML代表Wireless Markup Language,就象HTML对普通的Web浏览器一样。有人说它是基于XML,但是更准确地说WML是XML的一个应用。虽然在语法上和HTML相似,但更多的是XML。如果准备从HTML到WML,但是没有任何的XML知识,将会发现WML“非常”严格。就像HTML,WML被读取并且通过WAP设备中的浏览器解释,然后显示在屏幕上。对于WAP设备,浏览器,或者用户代理,通常叫做微型浏览器。微型浏览器的功能是受到WAP设备的限制的。 3. WML与HTML有什么区别? 虽然WML看起来十分像HTML,但是在技术上两者的差别还是很大的。WML是为微型浏览器所设计的HTML的一个子集。WML的标准定义是基于XML的。 4. Phone.com的 HDML和WML有什么区别?现在有电话支持 HDML吗? HDML(Hand-held Devices Markup Language)是Phone.com开发的。它使得Web页面可以在移动电话上显示,其标准的公布先于WAP标准。Motorola、 Neopoint、Qualcomm 等等公司的电话使用Phone.com的浏览器,它支持HDML。最新的UP.Browser支持HDML和WAP。 5. 为什么使用WML而不是HTML? 首先是WAP协议要求使用WML。可能已经有能够支持HTML的WAP设备,但是那不是真正的。有一些和无线设备很像的WAP设备支持HTML,但它们也不是直接使用HTML(例如:Microsoft Mobile Explorer支持HTML和WML)。MME设备只是将两个分离的部分做到了一起。当然也有HTML的变种,例如 iMode 浏览器使用Compact HTML。简单的说,如果谈论WAP设备,那么标记语言就是WML。 6. 为什么对于无线设备要专门设计一种特别的语言才能访问Internet ? 许多年来,HTML标记越来越丰富,越来越庞大。此外,浏览器对各种HTML标记的支持也大不相同。这种状况已经与当初想建立一个简单的标准相背离。 7. 无线设备也能支持HTML格式吗? 从技术的角度上来说答案是肯定的。既然HTML是为普通PC浏览器所编写的,也可以使用微型浏览器来浏览一个HTML页面,但是可能没有效果。因为移动电话不知道如何显示该文件。这样通常导致微型浏览器出现混乱。并且HTML页面通常都比较大,它会把移动设备“撑坏”的。 8. 如何将HTML转换成WML? 当考虑转换HTML时,要想到WML是为小屏幕设计的,不可能像HTML那么丰富多采。任何转换都将忽略很多HTML标记和许多内嵌的脚本。只有一些简单的HTML页面可以被满意地转换。转换可以使用工具包如:Spyglass Prism,也可以通过在线的WAP网关过滤。 9. 用什么可以浏览到WML页面? 首先需要一个具有WAP功能的手机,例如:Nokia 71110,Ericsson R320等等。用于PC机的桌面WML浏览器也很多,例如:WinWap、WapMan等等。 10. 在哪里可以学到更多的关于XML的知识? 可以访问站点:www.w3c.org/xml。在该网站上有许多关于XML的知识有详细的讲解。 11. WML的一般语法是什么? WML非常像XML。和HTML相比其语法规则更加严格,从而保证当微型浏览器解析和解释的时候不会有太多的错误信息。 <?xml version="1.0"?> 所有的页面中的元素,都必须在<wml>和</wml>标签之间。 12. 什么是一个“deck”? 一个WML文档有许多卡片(cards)组成。一个卡片是一系列完整的WML代码。这些卡片被称为一个“deck”。卡片和“deck”的概念就有点像HTML中的锚标记<a name="#achor1">和一个HTML页面。也就是说卡片是“deck”中的一个组成部分。也可以把“deck”称为WML中的页面。它们之间的关系可以比做一副扑克牌。整副扑克牌就是deck,而每一张牌就是card。 13. 什么是WML的“deck”? WML的“deck”或者WML文件是指decks。每个deck包含一个或者更多的card。每个deck都以<wml>开始和结束。并且每个card都以<card>开头或者结束。 <wml> deck和card可以按照这种方式调用:[deckname][#cardname]。如果deckname省略,那么浏览器就会查找当前内存里的cardname名字的card。如果使用了deckname和#cardname,那么浏览器将装入deckname的整个deck,然后跳入到#cardname。这个和HTML的工作方式很像。 14. WML是大小写敏感的吗? 是的!要注意WAP 1.1使用小写的标签。 15. 如何显示一个美元符号? 使用两个在一起的美元符号来表示,即“$$”。 16. 想显示价格的格式该怎么办? “$”是一个特殊的字符,使用“$$”来显示一个“$”。 例如: <p> 17. fieldset标签有什么作用? 编写WML页面的时候要考虑到设备的屏幕很小。如果试图想把一个大的form在一个屏幕里面显示,就要指定那些标签保持在一个屏幕中。那么fieldset标签将这些标签捆绑在一个屏幕上。 18. postfield标签有什么作用? postfield标签使允许提交参数到服务器端。注意有些早期的模拟器还不支持该标签,这将给开发工作带来麻烦! 19. WML有类似HTML的<mailto>标签吗? 没有。但是你可以使用WML表单和服务端脚本来得到同样的效果。 20. 无法让<input/>格式正常工作是怎么回事? 至少Nokia WML Reference没有讲清楚有关<input/>标签的用法。format参数控制着用户输入数据的类型和长度。 A 从A到Z的任何大写字母,没有数字或其他字符。 a 从a到z的任何小写字母,没有数字和其他字符。 N 任何0到9的数字。 X 从A到Z从0到9的任何字符。 x 从a到z从0到9的任何字符。 M 任何字符,输入默认从大写开始。 m 任何字符,输入默认从小写开始。 *f (星号)意味着任何数字(包括0),f是格式的代码。 nf 意味着恰好要输入的字符个数。n从1到9。f是格式代码。 \ 是转义输出字符。 格式化字符可以组合使用来表示一种特定的格式输入。但是强制一定的输入应当避免在用户出错的时候没有提示信息。如果输入是不正确的,该填写的区域一般仍保持空白,直到让用户知道应该输入什么。如果只想输入数字,使用“*N”那么将直接转跳到数字输入模式。如果只想输入大写的字符,使用“*M”转跳到大写输入模式。现举一些例子: maxlength参数控制着输入字符的总个数。 21. 如何防止一个空的field? 在大多数情况下需要知道用户确实是输入了一些内容在field中,不能让这些内容为空。这个可以通过在服务端的检测来完成,也可以通过WML来完成。 |