注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

移动Labs

http://labs.chinamobile.com/

 
 
 

日志

 
 
关于我

移动Labs(labs.chinamobile.com):中国移动研究院主办的通信行业汇聚门户,专注于移动通信和互联网领域,核心会员是中移动广大员工及ICT行业用户。提供资讯、博客、讨论组、专业报告、视频、电子日报等信息及知识服务,以及研究院主办的每周线下活动“无限论坛”。

网易考拉推荐

BAE团队:JIL Widget规范(微技格式及打包分成)  

2010-08-18 15:43:07|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

独家供稿:移动Labs

中国移动BAE团队是JIL Widget规范制定的主要参与者之一。考虑到起草规范的时间紧迫、面向的读者覆盖全球,JIL Widget规范统一采用英文编写。许多开发者通过jil.org,中国移动开发者社区、BAE友好开发者等多种途径反映:希望能提供JIL Widget规范中文版本,以便于阅读。因此,中国移动BAE团队陆续将JIL Widget规范翻译成中文,供广大开发者参考。 

 

1.前言

1.1关于此文档

此文档提供JIL Widget 打包的高级别技术设计规范。此版本包含了JIL高级别技术规范Widget Formats 1.0.2的升级,以使其兼容于最新的W3C打包规范需求。 

1.2文档所针对的对象

此文档的预定读者是负责实现文档功能或验证其实现的工程师,开发者,QA测试者,和设计者。

1.3读者评论

这种文档永远不是十全十美的。我们不指望现存版本完全清晰;所以,您的评论对于把此文档修正为对方案的清晰描述是至关重要的。您的反馈是重要的并将被考虑在此文档的新版本中加入。请您通过www.jil.org上“联系我们”发送您的回馈。

1.4相关文档

文档题目和版本

文件名及所在位置

JIL Widget System High Level Technical Specification: WidgetFormats v1.0.x

请通过www.jil.org上“联系我们”发送文档请求

JIL Widget System API Specification:

Handset APIs v1.1.5

请通过www.jil.org上“联系我们”发送文档请求

JIL Widget System High Level Technical Specification: Security v1.2

请通过www.jil.org上“联系我们”发送文档请求

 

2.设计目标

JIL Widget最初最重要目标是商业化。尽管与标准兼容重要,但这是第二位的。因此,只要在W3C范围内JIL能够充分发展并且采用W3C的标准不会阻碍其商业化方面的努力,JIL将会采用W3C标准。

JIL 1.0.x 格式和打包规范是从2008年12月的W3C格式草案衍生出来的。JIL 1.2 格式和打包规范完全包含和扩展了包含并扩展了下述W3C候选发布文档:

    Widgets 1.0: Packaging and Configuration

Widgets Digital Signatures

Media Queries

前查看此文档的“参考”部分查阅相关W3C标准。

那些处于不同状态的草案过程的附加规范,W3C也在这些附加规范上做工作。然而JIL规范不特定包含这些规范,尽管其中一些通过JIL Widget 命名空间加入到了JIL特殊能力。值得注意的是,没有明确被JIL 1.2采用的W3C草案规范有:

Widgets 1.0: Access Requests Policy

Widgets 1.0: APIs and Events

Widgets 1.0 Window Modes and Media Query Extensions

Widgets 1.0: Updates

Widgets 1.0: URI Scheme

 

3.打包和配置 

JIL 1.2 规范包含了W3C Widgets 1.0 打包和配置规范,同时通过它自己的JIL命名空间提供了专有扩展。因此可期待JIL Widget运行时环境可以运行符合W3C包装要求的任意Widget,当然,这是在假定此Widget没有运用非JIL手机API的前提下。

根据W3C包装规格,一个JIL Widget的首要命名空间必须是“http://www.w3.org/ns/widgets”。JIL 专有扩展与命名空间“http://www.jil.org/ns/widgets1.2”相对应。

注意,JIL1.0.x 的命名空间仍然是“http://www.jil.org/ns/widgets”。

此文档不打算重复讲述W3C Widget 格式规范。W3C规范的所有方面都必须被采用。JIL同时需要除W3C之外的附加支持。下面讲述了JIL 1.2 规范值得注意的方面,它们与JIL 1.0.x和W3C CR(候选发布文档)规范相关。

 

3.1命名空间校验规则

为了支持向前兼容,同时使得一个Widget支持JIL 1.0.x和JIL 1.2包装规范,Widget运行时环境必须遵循下述命名空间校验规则:

在根目录下查找名为“config.xml”的文件。

·如果存在并且包含http://www.jil.org/ns/widgets 命名空间,则作为JIL 1.0.x的Widget安装

·如果文件存在并且包含http://www.w3.org/ns/widgets 命名空间,则作为W3C Widget安装;如果同时包含http://www.jil.org/ns/widgets1.2 命名空间,那么同时处理JIL1.2的扩展。

·如果文件存在,但不包含JIL 1.0.x也不包含W3C命名空间,那么终止安装。

·如果config.xml不存在,终止安装。

 

3.2config.xml 示例

示例中同时使用W3C和JIL 1.2命名空间,所有JIL 1.2的扩展元素必须按照“Widget”元素声明使用jil前缀。

<?xml version="1.0" encoding="utf-8" ?>

<widget

xmlns="http://www.w3.org/ns/widgets"

xmlns:jil="http://www.jil.org/ns/widgets1.2"

id="

http://org.jil/wid/b4c3addd8a1004ee5c651ca52bdc42353ad5a51db258aa0597cfb4f63df36e41/WeatherWidget"

version="1.0.Beta"

height="150"

width="100">

 

<name>Widget Example</name>

<description>An example widget</description>

<author email="czheng@mail.com">czheng</author>

<icon src="icon.png"/>

<license href="http://creativecommons.org/licenses/by/3.0/">

Creative Commons Attribution License

</license>

 

<content src="myWidgetContent.html" encoding="utf-8" />

 

<update href="http://www.jil.org/widgets/" period="1"/>

 

<feature name="http://jil.org/apis/api.DeviceInfo" required="true"/>

<feature name="http://jil.org/apis/api.CalendarItem" required="false"/>

 

<jil:access network="true" localfs="true" remote_scripts="false"/>

<jil:maximum_display_mode height="300" width="200"/>

<jil:billing required="true"/>

 

</widget>

 

3.3<widget> 元素

3.3.1 id属性

根据W3C规范,Widget标签的“id”属性是可选的。然而,JIL要求在它参与的所有Widget中这个属性存在。因此,“id”属性应该被视为必不可少的。它的值一般是由JIK SDK签署的。

id是一个URI,它包含了用户昵称的SHA256加密,同时包含了URL编码的Widget名称。作为一个例子,如果开发者的用户昵称为“JoeSmith”,Widget名称为“Weather Widget”,那个Widget ID与下述类似:

http://org.jil/wid/b4c3addd8a1004ee5c651ca52bdc42353ad5a51db258aa0597cfb4f63df36e41/Weather20%Widget

3.3.2 version属性

Widget标签的“version”属性应该遵从下述的ABNF规则:

jil-rec-version-tag = major-version "." minor-version ["." version-desc]

major-version = 1*2DIGIT; one - two digits from 0-9

minor-version = 1*2DIGIT; one - two digits from 0-9

version-desc = 1*10ALPHA; optional version description in 1 to 10 Upper- and lower-case ASCII letters(A–Z, a–z)

与jil-rec-version-tag兼容的推荐版本值例如:

2.11;

1.1.beta;

99.99.testBetaXY.

注意:JIL开发者门户网站将强制使用jil-rec-version-tag并将拒绝任何不兼容的Widget,并且通知软件作者拒绝的原因以及怎样修正它。此外,JIL开发者门户网站将要求被认定为升级版的Widget(通过相同的“id”属性值)的主版本号和次版本号的组合要比原有的大。

3.3.3 viewmodes属性

Widget标签的“viewmodes”属性仅需要W3C定义的“floating”(浮动)和“fullscreen”(全屏)模式。JIL Widget运行时环境必须支持这两种模式。按照W3C标准,“viewmodes”是可选的。不管Widget定义了何种模式,JIL Widget 运行环境必须支持floating模式,以使得多个Widget同时在界面上显示。尽管JIL给厂商提供了推荐,但是floating widget 的显示和布局交由Widget 运行时环境决定。更多信息,请参见JIL。

在全屏模式下,只有一个Widget在屏幕上显示。Widget的默认宽度和高度是屏幕所有的可显示区域的宽度和高度。然而,Widget可以通过使用JIL专有的“maximum_display_mode”扩展确定全屏的范围。

W3C也定义了在两种模式之间切换时所调用的API的草案。由于API现在还是草案版本,在JIL 1.2中,是不需要这些接口的。实际上,JIL手机API规范定义了两个回函数,“onMaximize()” 和 “onRestore()”,此两个函数在Widget模式切换时调用。更多细节,请参见Handset API规范。

W3C潜在的支持多种视图模式。潜在支持的视图模式没有被JIL明确的禁止,因此可能会被特定的厂商支持。只有floating和fullscreen模式是JIL Widget和JIL 运行时环境必需支持的。

3.4 <name>元素

name元素的short属性是由W3C CR(候选发布文档)规范引入的。short属性必须由JIL 1.2 Widget运行环境支持,对于Widget来说是可选的。具体细节,参见W3C 8.6.1节。

3.5 <icon>元素

JIL 1.0.x规范指出icon元素能够被声明至多1次。为了与W3C CR兼容,JIL 1.2规范允许icon元素在config.xml中多次出现。同时JIL 1.2也需要附加属性“xml:lang”。更多信息,请参看W3C 8,10节。

扩展:在JIL 1.0.x规范定义中,icon元素代表Widget的图标,widget user agent 应该将图标设置为对用户可见。icon的格式至少包括以下格式:[PNG], [GIF87], [JPEG], [GIF89]。src属性为Icon元素的必须属性,width和height属性为可选属性。src指向widget文件夹下的一个有效图形文件。如果是数字栅格图像(raster graphic),width和height属性会被忽略,如果为向量图像(vector graphic),则不会被忽略(若未定义,则使用默认值)。

3.6 <author>元素

JIL 1.0.x包装规范指出author元素支持“xml:lang”属性。然而在目前的W3C CR规范中,此属性不被支持了,在JIL 1.2 中,便也不支持此属性了。

扩展:在JIL 1.0.x规范中,author元素可以由四种属性,href, email, xml:lang, its:dir, 每种属性都可以声明0或1次。它表示了创建widget的人或组织。

3.7 <content>元素

content元素的目的是在JIL 1.0.x和JIL 1.2/W3C之中是相同的。万一content元素丢失,WRT应该将Widget根目录下的下述文件之一作为启动文件,查找的优先级如下:

index.html

index.htm

index.xhtml

index.xht

注意:尽管JIL 1.0.x运用“charset”属性来指明字符集,然而JIL 1.2/W3C通过“encoding”属性标识字符集。如同其他方面的差异,该Widget运行库必须支持所引用的命名空间的两个机制。

扩展:在JIL 1.0.x规范定义中,content元素用来指定widget user agent初始化widget时所用到的资源。content元素必须包含src属性,可以包含type和charset可选属性。src指向Widget文件夹下的文件,type指出文件类型(默认为text/html),charset指出文件的编码格式。

3.8 <feature>元素

在W3C规范中,feature标签被重新定义了。JIL 1.2 Widget 必须遵照W3C的定义。像其他元素一样,Widget 运行时环境通过config.xml中的命名空间推断出feaure标签的含义。为了向后兼容,JIL 1.2 WRT 必须基于Widget所用的命名空间对feature标签做不同的解释。

在JIL 1.0.x中,只有具有安全限制的Widget才需要声明使用此元素。而在JIL 1.2环境下,任何由Widget应用的 Handset API 都必须声明。因此,JIL 1.2中的feature元素值的列表比JIL 1.0.x重更长。

扩展:在JIL 1.0.x规范定义中,feature元素代表Widget声明使用的敏感API或API组。此元素必须要有name属性,可以有required属性,required属性的默认值为false。

W3C支持嵌套的feature标签。与JIL 1.2规范兼容的Widget运行时环境必须支持这种能力以于W3C吻合。然而,实际中由于JIL的特征定义不是分层的,因此不会使用嵌套feature标签。

在JIL 1.0.x规范中,如果feature元素没有required属性,那么required属性的默认值为false。然而,这在W3C CR和JIL 1.2规范中改变了。由于这种冲突,Widget运行时环境必须去除在config.xml中基于命名空间的required属性的默认值。

应注意到JIL Feature IRIs包含那些添加或明显改变API规范的版本号。大多特征是参考最初版本API v1.1的。例如

http://jil.org/jil/api/1.1/filesystem

如果一个新的API发布或更改了,那么包含此API的Handset API规范修订版本将在feature IRI中被引用,例如

http://jil.org/jil/api/1.1.5/radiosignalsourcetypes

扩展细节请查阅Handset API规范。本文档附录定义了feature元素的默认值。在Handset API规范中规定的任何值都比在此打包规范中出现的默认定义优先级高。

3.9 <param>元素

W3C定义的param元素提供了任何特征(通过feature元素定义)的可选参数。JIL Widget WRT厂商应在将来的发行版中支持这个元素。然而,目前JIL feature并不允许带有参数。因此,此元素与目前的JIL 1.2规范无关。

3.10 <preference>元素

preference元素由W3C CR引进而且必须被JIL 1.2支持。在JIL Handset API规范定义中,此元素值可通过Widget.preferenceForKey() 和Widget.setPreferenceForKey()设置和获取。

注意,此元素可选的readonly属性必须由JIL 1.2运行时环境实现。如果元素是readonly的,那么不能通过Widget.setPreferenceForKey()改变它的值。

3.11 <access>元素(JIL扩展)

此元素由JIL 1.0x打包规范定义,在JIL 1.2中通过JIL命名空间作为一项私有扩展。

access元素描述了Widget的权限。

此元素应用上下文

widget元素的子元素

内容模型

出现

    至多一次

属性

    network:0 或1次

    localfs:0 或1次

    remote_scripts:0 或1次

network属性表示Widget能否通过HTTP/HTTPS连接在线web资源。此属性的有效值为true或false。

true表示Widget需要使用HTTP/HTTPS连接在线web资源。false表示Widget不需要使用HTTP/HTTPS连接在线web资源,并且Widget 用户代理必须阻止Widget连到网络。

如果不写此属性,此属性默认为false。

locals属性表示Widget是否允许访问本机文件系统。此属性的有效值为true或false。true表示Widget需要访问本机文件系统。false表示Widget不需要访问本机文件系统,并且Widget 用户代理必须阻止Widget访问本机文件系统。

如果不写此属性,此属性默认为false。

remote_scripts属性表示Widget是否允许获取并加载Widget资源之外的JavaScript,如远程web服务器上的JavaScript。此属性的有效值为true或false。true表示Widget需要访问外部Javascript。false表示Widget不需要访问外部Javascript,并且Widget 用户代理必须阻止Widget加载外部Javascript。

如果不写此属性,此属性默认为false。

例如:

<widget

xmlns="http://www.w3.org/ns/widgets"

xmlns:jil=http://www.jil.org/ns/widgets1.2>

<jil:access network=”true” localfs=”true” remote_scripts=”false”/>

</widget>

 

3.12 <maximum_display_mode>元素(JIL扩展)

maximum_display_mode标签最初出现在JIL 1.0.x 规范中,并且通过JIL 1.2命名空间作为一项属性扩展到了JIL 1.2。maximum_display_mode描述了全屏模式下Widget的行为和表现。当Widget在全屏模式下运行时,此Widget是唯一由Widget user agent描绘的并且此Widget接管整个屏幕。

如果maximum_display_mode指定的高度和宽度小于屏幕的,Widget user agent将根据maximum_display_mode中小的高度和宽度值描绘Widget。Widget运行时环境将把Widget居中并且自己决定填充周围空隙。

如果maximum_display_mode指定的高度和宽度有比屏幕的大,Widget user agent将根据实际屏幕的大小绘制Widget。

maximum_display_mode是一个可选元素。如果省略,当Widget在全屏模式下运行时,widget user agent应根据屏幕大小绘制Widget。

元素上下文:

    作为Widget元素的子元素。

内容:

    空

出现次数:

    0或1次

属性:

l  height:0或1次

l  width:0或1次

height元素以CSS像素的形式表示所显示Widget的最大高度。如果不写此项,widget user agent应使用屏幕高度。width元素使用类似于height元素

 

例如:

<widget

xmlns="http://www.w3.org/ns/widgets"

xmlns:jil=http://www.jil.org/ns/widgets1.2>

<jil:maximum_display_mode height=”200” width=”100”>

</widget>

3.13 <billing>元素(JIL扩展)

JIL 1.0.x 规范中引入了billing元素,此元素通过JIL 1.2命名空间作为JIL 1.2的专有扩展,使用方法与JIL 1.0.x 规范中的一样。

扩展:在JIL 1.0.x 规范定义中,billing元素用来指示Widget是否需要付费的授权。

billing元素指示了Widget操作时账单是否应该出现。

元素上下文:

    作为Widget元素的子元素。

内容:

    空

出现次数:

    0或1次

属性:

l  required:1次

required元素指示Widget是否得到付费的授权。此属性的有效值为true或false。true表示Widget必须得到付费授权,false表示Widget禁止付费授权。如果省略或写错,其默认值为false。

例如:

<widget

xmlns="http://www.w3.org/ns/widgets"

xmlns:jil=http://www.jil.org/ns/widgets1.2>

<jil:billing required=”true”/>

</widget>

3.14 <update>元素(JIL扩展)

JIL 1.0.x 规范中引入了update元素,此元素通过JIL 1.2命名空间作为JIL 1.2的专有扩展。

update元素描述了一种方法,widget user agent可通过此方法从在线资源中升级Widget到新的发布版。

注意:如果updae在配置文档中声明,widget元素的version属性必须存在而且包含有效值,这是在此规范中规定的。

元素上下文:

    作为Widget元素的子元素。

内容:

    空

出现次数:

    0或1次

属性:

l  href:1次

l  period:1次

href属性描述了widget user agent用来下载升级描述文档(UDD)的URL。UDD的目标是描述详细升级信息。UDD文件格式是基于W3C Widgets 1.0草案的Updates 规范。详细细节请参看附录UDD文件格式。

period属性描述了widget user agent用来自动升级的时间间隔。此元素的值及含义如下:

0:每次Widget以最大化方式打开时

1:每天

2:每周

3:每月

例如:

<widget

xmlns="http://www.w3.org/ns/widgets"

xmlns:jil=http://www.jil.org/ns/widgets1.2>

<jil:update href=”http://www.jil.org/repository/widget99090” period=”1”/>

</widget>

 

4.W3C规范附加要求

为兼容JIL1.2打包的要求,支持以下W3C规范是强制的。

4.1 HTML 4.01

JIL 1.2Widget运行时环境必须遵照HTML 4.01规范支持text/html多媒体类型文件。.html和.htm扩展都必须被支持。

4.2 XHTML Basic 1.1

JIL 1.2Widget运行时环境必须遵照XHTML Basic 1.1 Specification支持application/xhtml+xml文件。这种类型的文件必须有.xhtml后缀。

4.3 CSS 2.1

在Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification中定义的CSS文件格式必须被支持。

4.4 数字签名

W3C数字签名是规范Widgets 1.0: Digital Signatures specification。JIL格式必须遵循此规范,除非在JIL Security HLTS中另作说明。

4.5 Media Queries

W3C规范需要完全支持Media Queries Specification.

4.6 SVG Tiny 1.2

JIL 1.2Widget运行时环境必须在图标方面和Widget里支持Scalable Vector Graphics (SVG) Tiny 1.2 Specification。

下述特征是JIL 1.2规范必需的特征,这些特征基于http://www.w3.org/TR/SVGMobile12/

# 4 Basic Data Types

# 5 Document Structure

# 6 Styling

# 7 Coordinate Systems, Transformations and Units

# 8 Paths

# 9 Basic Shapes

# 10 Text(Partial)

# 11 Painting: Filling, Stroking, Colors and Paint Servers

# 15 Scripting

# 16 Animation(Only require JS based animation)

# 18 Metadata

 

5.元素总览

下表提供了JIL 1.2 / W3C config.xml中定义的,以及JIL 1.0.x config.xml中定义与JIL 1.2 /W3C specification不一致的所有元素及他们的属性。请参考第3部分查看有差异元素和属性的附加信息。

 

JIL 1.0.x

JIL 1.2

W3C

NameSpace

http://www.jil.org/ns/widget

http://www.wc.org/ns/widgets http://www.jil.org/ns/widget1.2

http://www.wc.org/ns/widgets

Widget Elements

 

 

 

Name Element

Zero or one

Zero or more

Zero or more

Description Element

Zero or one

Zero or more

Zero or more

Author Element

Zero or one

Zero or one

Zero or one

License Element

Zero or one

Zero or more

Zero or more

Icon Element

Zero or one

Zero or more

Zero or more

Content Element

Zero or one

Zero or one

Zero or one

Update Element

Zero or one

Zero or one

N/A

Feature Element

Zero or more

Zero or more

Zero or more

Access Element

Zero or one

Zero or one

N/A

Preference Element

N/A

Zero or more

Zero or more

Maximum_display_ mode Element

Zero or one

Zero or one

N/A

Billing Element

Zero or one

Zero or one

N/A

Widget Attributes

 

 

 

Id

Required

Required

Optional

Version

Optional, but mandated by the JIL portal.

Optional Required for updates and for ingestion into JIL portal.

Optional

Height

Optional

Optional

Optional

Width

Optional

Optional

Optional

Viewmodes

N/A

Optional. JIL only requires support for “floating” and “fullscreen”.

Optional. “floating”, “fullscreen”, “application”, “mini” or “all” supported

Name Attributes

 

 

 

xml:lang

Optional

Optional

Optional

Its:dir

Optional

Optional

Optional

Short

N/A

Optional

Optional

Description Attributes

 

 

 

xml:lang

Optional

Optional

Optional

Its:dir

Optional

Optional

Optional

Author Attributes

 

 

 

href

Optional

Optional

Optional

email

Optional

Optional

Optional

its:dir

Optional

Optional

Optional

Icon Attributes

 

 

 

src

Required

Required

Required

width

Optional

Optional

Optional

height

Optional

Optional

Optional

xml:lang

N/A

Optional

Optional

License Attributes

 

 

 

href

Optional

Optional

Optional

xml:lang

Optional

Optional

Optional

its:dir

Optional

Optional

Optional

Content Attributes

 

 

 

src

Required

Required

Required

type

Optional

Optional

Optional

Feature Attributes

 

 

 

name

Required

Required

Required

required

Optional

Optional

Optional

Param Attributes

 

 

 

Name

N/A

Optional

Required

Value

N/A

Optional

Required

Access Attributes

 

 

 

Network

Optinoal

Optinoal

N/A

Localfs

Optinoal

Optinoal

N/A

remote_scripts

Optinoal

Optinoal

N/A

Update Attributes

 

 

 

href

Required

Required

N/A

period

Required

Required

N/A

Billing Attributes

 

 

 

required

Optinoal

Optinoal

N/A

 

 6.缩略词

下表定义了此文档中使用的缩略词。

缩略词

全称

JIL

Joint Innovation Lab

Widget

显示(或更新)本地或网络数据的单一目的的交互式程序,它打包成单一下载文件并能安装在用户终端设备上。

W3C

World Wide Web Consortium

Widget Package Archive

包含所有Widget资源的zip文件,能够在线或离线下载到手机上。

Widget Root Folder

从Widget包解压到设备存储器的文件夹。一般来说,其名与Widget包名相同。

Widget Resource

Widget Root Folde所有的文件和子目录

GPRS

General Packet Radio Service

HTTP

Hyper Text Transfer Protocol

OTA

Over The Air

SMS

Short Message Service

SNI

Script Native Interface

 

7.参考

7.1. Widgets 1.0: Packaging and Configuration

W3C Candidate Recommendation 23 July 2009

http://www.w3.org/TR/2009/CR-widgets-20090723/

7.2. Widgets 1.0: Digital Signatures

W3C Candidate Recommendation 25 June 2009

http://www.w3.org/TR/2009/CR-widgets-digsig-20090625/

7.3. Media Queries

W3C Candidate Recommendation 23 April 2009

http://www.w3.org/TR/2009/CR-css3-mediaqueries-20090423/

7.4. Widgets 1.0: Access Requests Policy

W3C Working Draft 4 August 2009

http://www.w3.org/TR/2009/WD-widgets-access-20090804/

7.5. Widgets 1.0: APIs and Events

W3C Working Draft 23 April 2009

http://www.w3.org/TR/2009/WD-widgets-apis-20090423/

7.6. Widgets 1.0: Window Modes and Media Query Extensions

W3C Working Draft (Note: This page has not been made permanent yet.)

Reference Date: 14 August 2009

http://dev.w3.org/2006/waf/widgets-wm/Overview.src.html

7.7. Widgets 1.0: Updates

W3C Working Draft 07 October 2008

http://www.w3.org/TR/widgets-updates/

7.8. Widgets 1.0: URI Scheme

W3C Working Draft 18 June 2009

http://www.w3.org/TR/2009/WD-widgets-uri-20090618

7.9. HTML 4.01 Specification

W3C Recommendation 24 December 1999

http://www.w3.org/TR/1999/REC-html401-19991224/

7.10. XHTML Basic 1.1

W3C Recommendation 29 July 2008

http://www.w3.org/TR/2008/REC-xhtml-basic-20080729/

7.11. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification

W3C Candidate Recommendation 23 April 2009

http://www.w3.org/TR/2008/REC-xhtml-basic-20080729/

JIL Widget System High Level Technical Specification 25

7.12. Scalable Vector Graphics (SVG) Tiny 1.2 Specification

W3C Recommendation 22 December 2008

http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/

 

8.附录

8.1 JIL Feature Values

最后更新:2009/8/13

Widget中所用的任何handset API都必须在Widget的config.xml通过<feature> 标签声明。此标签需要一个name属性,此属性包含代表所用API的IRI。<feature> 标签可选包含一个required属性,例如

<feature name=”http://jil.org/jil/api/1.1/Camera” required=”false”/>

如果Widget试图调用没有通过<feature>标签声明的受限API函数,Widget运行时环境应该抛出一个JavaScript安全异常。如果Widget需要WRT不支持的API,那么WRT不应该安装此Widget。

下表标识了与JIL 1.2 packaging specification兼容的缺省Widget feature值。此表只提供了缺省值,任何在JIL Handset API Specification中定义的值都优先于这些值。

这些features是在对象级别定义的,feature声明不会级联到子对象。例如声明使用Multimedia feature并不暗含声明使用VideoPlayer feature。任何Widget使用的handset API必须通过feature标签声明。


API Object

Feature IRI

AccelerometerInfo

http://jil.org/jil/api/1.1/accelerometerinfo 

Account

http://jil.org/jil/api/1.1/account 

AccountInfo

http://jil.org/jil/api/1.1/accountinfo 

AddressBookItem

http://jil.org/jil/api/1.1/addressbookitem 

ApplicationTypes

http://jil.org/jil/api/1.1.5/applicationtypes

Attachment

http://jil.org/jil/api/1.1/attachment

AudioPlayer

http://jil.org/jil/api/1.1/audioplayer 

CalendarItem

http://jil.org/jil/api/1.1/calendaritem 

CallRecord

http://jil.org/jil/api/1.1/callrecord

CallRecordTypes

http://jil.org/jil/api/1.1.1/callrecordtypes 

Camera

http://jil.org/jil/api/1.1.2/camera

Config

http://jil.org/jil/api/1.1/config

DataNetworkConnectionTypes

http://jil.org/jil/api/1.1.5/datanetworkconnectiontypes 

DataNetworkInfo

http://jil.org/jil/api/1.1.1/datanetworkinfo 

Device

http://jil.org/jil/api/1.1/device

DeviceInfo

http://jil.org/jil/api/1.1/deviceinfo 

DeviceStateInfo

http://jil.org/jil/api/1.1/devicestateinfo 

EventRecurrenceTypes

http://jil.org/jil/api/1.1/eventrecurrencetypes 

Exception

http://jil.org/jil/api/1.1.5/exception 

ExceptionTypes

http://jil.org/jil/api/1.1.5/exceptiontypes

File

http://jil.org/jil/api/1.1.1/file

Message

http://jil.org/jil/api/1.1/message

MessageFolderTypes

http://jil.org/jil/api/1.1.4/messagefoldertypes

MessageQuantities

http://jil.org/jil/api/1.1/messagequantities

MessageTypes

http://jil.org/jil/api/1.1/messagetypes

Messaging

http://jil.org/jil/api/1.1/messaging

Multimedia

http://jil.org/jil/api/1.1/multimedia

PIM

http://jil.org/jil/api/1.1.1/pim

PositionInfo

http://jil.org/jil/api/1.1/positioninfo

PowerInfo

http://jil.org/jil/api/1.1/powerinfo

RadioInfo

http://jil.org/jil/api/1.1.1/radioinfo

RadioSignalSourceTypes

http://jil.org/jil/api/1.1.5/radiosignalsourcetypes

Telephony

http://jil.org/jil/api/1.1.1/telephony

VideoPlayer

http://jil.org/jil/api/1.1.2/videoplayer

Widget

http://jil.org/jil/api/1.1/widget 

WidgetManager

http://jil.org/jil/api/1.1.1/widgetmanager 


 

 

8.2 更新描述文档(UDD)详细说明

更新描述文档(Update Description Document)由08年10月7日的W3C工作草案 “Widgets 1.0: Updates” 规范定义。

UDD的目标是描述升级的细节。由于规范还是草案,请注意所用的命名空间是JIL 1.2的专有扩展。

下面是一个典型UDD的例子。为了使widget user agent检索和处理UDD,作者必须首先为update元素声明一个存放在Widget的配置文档中的有效URI(例如<update src="https://example.com/myWidget/updates"/>)

<widgetupdate xmlns="http://www.jil.org/ns/widgets1.2"

src="https://example.com/myWidget/v1.1b/awesome.wgt"

version="1.0"

id="http://example.com/myWidget"

bytes="1024"

notify="https://example.com/myWidget/updateManager.php">

<details href="http://a.com/myWidget/1.1/whatsnew">

We fixed some bugs and improved performance!

</details>

</widgetupdate>

对于widgetupdate元素:

l  必须的src属性代表了升级URI(通常为URL)

l  必须的version属性代表了升级的版本值

l  可选的id属性表示了此Widget的标识符。id属性的值意图是匹配已装Widget的标志值,此标志值已由著作者在配置文件中声明(通过widget元素的id属性)

l  可选的bytes属性代表了升级的字节数

l  可选的notify属性表示当升级完成时通过HTTP POST请求的URI

可选的details元素表示升级的变更细节。其属性href表示可以获得更多细节的(HTML)超链接。

8.3 JIL 1.2 XSD

此节定义了所有JIL专有扩展都必须遵从的XSD,如下:

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"

targetNamespace="http://www.jil.org/ns/widgets1.2"

xmlns:widgets="http://www.w3.org/ns/widgets"

xmlns:common="http://www.w3.org/2005/11/common"

xmlns:jil="http://www.jil.org/ns/widgets1.2">

<xs:import namespace="http://www.w3.org/2005/11/common" schemaLocation="widgetcommon.xsd"/>

<!-- Extended for JIL not in W3C specs -->

 

<xs:element name="maximum_display_mode">

<xs:complexType mixed="true">

<xs:attribute name="height" type="common:data.positiveNumber" />

<xs:attribute name="width" type="common:data.positiveNumber"/>

</xs:complexType>

</xs:element>

 

<xs:element name="billing">

<xs:complexType mixed="true">

<xs:attribute name="required" type="common:data.boolean"/>

</xs:complexType>

</xs:element>

 

<xs:element name="access">

<xs:complexType>

<xs:attributeGroup ref="common:attr.allowed"/>

<xs:attribute name="network" type="common:data.boolean"/>

<xs:attribute name="localfs" type="common:data.boolean"/>

<xs:attribute name="remote_scripts" type="common:data.boolean"/>

</xs:complexType>

</xs:element>

 

<xs:element name="update">

<xs:complexType>

<xs:attributeGroup ref="common:attr.allowed"/>

<xs:attribute name="href" type="xs:anyURI"/>

<xs:attribute name="period">

<xs:simpleType>

<xs:restriction base="xs:token">

<xs:enumeration value="0"/>

<xs:enumeration value="1"/>

<xs:enumeration value="2"/>

<xs:enumeration value="3"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<!-- END JIL ELEMENTS-->

</xs:schema>

8.4 具体变更历史

Widget Format and Packaging经历过如下变更:

Version 1.2.1: 09/9/11

添加第五部分“具体变更历史”

将元素出现总结表放置第六部分

 

Version 1.2: 09/8/14

widget元素

添加id属性的编码要求

添加属性viewmodes

name 元素

添加属性short

icon 元素

添加属性xml:lang

content元素

添加属性encoding

param元素

添加此元素

preference元素

添加此元素

添加readonly属性

 

 (中国移动研究院 BAE团队    BAE123@139.COM

BAE团队发表在移动Labs上的原文地址:http://labs.chinamobile.com/mblog/387842_61756

BAE团队相关博文推荐:

       如何让你的移动微技应用支持多种分辨率手机

       JIL Widget应用开发红宝书

 

       更多精彩内容推荐:

       投资与移动互联网产业机会 

       物联网手机掘金2000亿市场 或撬动新消费潜力

  评论这张
 
阅读(2874)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017