XML文档设计说明
一简介
为了减少代码的书写量,我们可以通过编写符合一定规范的
XML
文档,直接完成界面的设计。下面是一个符合我们规范的文档样式:
<?xml version="1.0" encoding="UTF-8"?>
<
XmlFile
>
<
Html
Name
="
test
"
AutoSave
="
1
" A
utoCache="
1
"
>
<
Body
Data1
="
16
"
Data2
=""
bgColor
="">
<
Item
Type
="
Content
"
Color
=""
BackColor
=""
Align
="">
XML
文档
</
Item
>
</
Body
>
</
Html
>
</
XmlFile
>
首先,这个文档必须是
XML
格式的,因为我们的框架是通过分析符合
XML
格式的文档来生成相应的
ITEM
,从而在手机屏幕上显示出来。
其次,在这个规范中,最重要的是
ITEM
的
TYPE
属性,我们已经预先定义了几种
TYPE
类型,每种类型对应界面上的某种显示效果,当然,我们也允许你实现自己的
TYPE
类型(前提是要符合规范),除了
TYPE
以外,每个
ITEM
还具有其它共用的属性,通过设置这些属性,我们可以控制该
ITEM
在手机上的字体颜色、背景颜色、上边距、下边距等等,每个
ITEM
都具有以下属性:
Type item 的类型,这个值是必填项 ,而且是大小写敏感
ID ITEM 的数值
Type item 的类型,这个值是必填项 ,而且是大小写敏感
ID ITEM 的数值
Name
ITEM
的标识
Align
水平布局方式,它的值必须为
LEFT,CENTER,RIGHT
之一,大小写不敏感。
TopMargin
上边距,选填,如是不写的话,默认值为
0
BottomMargin
下边距,选填,如是不写的话,默认值为
0
LeftMargin
左边距,选填,如是不写的话,默认值为
0
RightMargin
右边距,选填,如是不写的话,默认值为
0
Color
未选中时的字体颜色
。选填,如是不写的话,用系统默认的颜色值。
SelectColor 选中时的字体颜色 。选填,如是不写的话,用系统默认的颜色值。
SelectBgColor 未选中时的背景色 。选填,如是不写的话,用系统默认的颜色值。
UnSelectBgColor 选中时的背景色 。选填,如是不写的话,用系统默认的颜色值。
对于不同的 TYPE 类型,也有各自的属性,下面将对预先定义的 TYPE 类型做详细的介绍。
SelectColor 选中时的字体颜色 。选填,如是不写的话,用系统默认的颜色值。
SelectBgColor 未选中时的背景色 。选填,如是不写的话,用系统默认的颜色值。
UnSelectBgColor 选中时的背景色 。选填,如是不写的话,用系统默认的颜色值。
对于不同的 TYPE 类型,也有各自的属性,下面将对预先定义的 TYPE 类型做详细的介绍。
二类型说明
1 CONTENT类型。
说明:
显示文字
显示文字
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
Example:
<
Item
Type
="
Content
"
Color
="00000"
UnSelectBgColor
="FFFFF"
Align
="center"
TopMargin
="
10
"
BottomMargin
="
20
"
LeftMargin
="
10
"
RightMargin
="2">
员工列表
:
</
Item
>
2 Hr类型
说明:
显示一条横线
显示一条横线
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
Example:
Example:
<
Item
Type
="
Hr
"
Color
="000000" />
3 InputBox类型
说明:
输入框,类似于高级控件里的 TEXTBOX
输入框,类似于高级控件里的 TEXTBOX
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
Default 输入框的默认值。
Length 允许输入的值长度。
Height 输入框的高。
Width 输入框的宽度。
LineColor 边框未选中时的颜色。
SelectLineColor 边框选中时的颜色。
Constraints 与 TEXTBOX 的 Constraints 相对应,表示输入内容的类型,目前只实现了几种。
Example:
DisplayName 在界面上显示的值。
Default 输入框的默认值。
Length 允许输入的值长度。
Height 输入框的高。
Width 输入框的宽度。
LineColor 边框未选中时的颜色。
SelectLineColor 边框选中时的颜色。
Constraints 与 TEXTBOX 的 Constraints 相对应,表示输入内容的类型,目前只实现了几种。
Example:
<
Item
Type
="
InputBox
"
DisplayName
="
用户名
:
"
Name
="
UserName
"
Default
="139"
Length
="
20
"
Width
="
100
"
Height
="
20
"
Constraints
="
ANY
"
LineColor
="
000000
"
SelectLineColor
="
0000FF
"
/>
4 RadioGroup类型
说明:
单选按钮组合
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
Border 是否加上边框。
ColumnSize 在同一行显示的个数。
Example:
DisplayName 在界面上显示的值。
Border 是否加上边框。
ColumnSize 在同一行显示的个数。
Example:
<
Item
Type
="
RadioGroup
"
Name
="
NetSetting
"
DisplayName
="
网络设置
"
TopMargin
="
10
"
Border
="
true
"
ColumnSize
="
1
"
BackColor
="
0000FF
">
<
Radio
Name
="
Radio1
"
DisplayName
="
CMWAP
"
Color
="
0000FF
"
SelectColor
="
FFFFFF
"
SelectBgColor
="
5277BB
"
UnSelectBgColor
="
FFFFFF
"/>
<
Radio
Name
="
Radio2
"
DisplayName
="
CMNET
"
Checked
="
true
" />
</
Item
>
子关键字说明:
5 Radio
说明:
单选按钮,必须包含在 ITEM 节点之间,单独写是无效的
单选按钮,必须包含在 ITEM 节点之间,单独写是无效的
属性:
DisplayName 在界面上显示的值。
Checked true 和 false ,如果为 true ,表示默认为选中。
DisplayName 在界面上显示的值。
Checked true 和 false ,如果为 true ,表示默认为选中。
6 Task类型
说明:
先通过 File 属性的值,判断手机上是否已存在该 db ,如果不存在,通过 Host 和 AHref 提供的属性值组成 URL 地址,上服务器查找,如果有结果返回,就显示在手机上
先通过 File 属性的值,判断手机上是否已存在该 db ,如果不存在,通过 Host 和 AHref 提供的属性值组成 URL 地址,上服务器查找,如果有结果返回,就显示在手机上
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
ID 跟具体的业务有关,一般指数据库中某一项的 ID 。
File 已经保存在手机上的 DB 名称。
Host 这个跟 JAD 的 USER DEFINE 中的值相对应,一般表示服务器基地址。
AHref 服务器上的相对地址。
DisplayName 在界面上显示的值。
ID 跟具体的业务有关,一般指数据库中某一项的 ID 。
File 已经保存在手机上的 DB 名称。
Host 这个跟 JAD 的 USER DEFINE 中的值相对应,一般表示服务器基地址。
AHref 服务器上的相对地址。
Example:
<
Item
DisplayName
="
张三
"
ID
="
1
"
File
="
UserInfo1
"
AHref
="
&UserID=16&Viewxml=Source
"
Host
="
Url
"
Type
="
Task
"/>
7 CheckBox类型
说明:
复选框
复选框
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
ID 跟具体的业务有关,一般指数据库的 ID 。
Checked true 和 false ,如果为 true ,表示默认为选中 。
DisplayName 在界面上显示的值。
ID 跟具体的业务有关,一般指数据库的 ID 。
Checked true 和 false ,如果为 true ,表示默认为选中 。
Example:
<
Item
DisplayName
="
开发部
"
ID
="
11
"
Checked
="
true
"
Color
="
000000
"
SelectColor
="
FFFFFF
"
SelectBgColor
="
5277BB
"
UnSelectBgColor
="
FFFFFF
"
Type
="
CheckBox
"/>
8 Buttons类型
说明:
页面上的功能按钮,每种按钮都实现了一种功能,系统已经实现了上一页,下一页,全选,反选,全不选,打电话,发短信 7 种功能,它们分别使用在不同的场合
页面上的功能按钮,每种按钮都实现了一种功能,系统已经实现了上一页,下一页,全选,反选,全不选,打电话,发短信 7 种功能,它们分别使用在不同的场合
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
Host 这个跟 JAD 的 USER DEFINE 对应,一般表示服务器基地址。
AHref 服务器上的相对地址。
Example:
DisplayName 在界面上显示的值。
Host 这个跟 JAD 的 USER DEFINE 对应,一般表示服务器基地址。
AHref 服务器上的相对地址。
Example:
<
Item
Type
="
Buttons
"
DisplayName
="
button
"
AHref
="
Source=WebUserInfoPage.tkx&Page=
"
Host
="
Url
">
<
Button
Name
="
PrePage
"
DisplayName
="
上一页
"
Type
="
Page
"
Ins
="
1
"
Color
="
0000FF
"
SelectColor
="
FFFFFF
"
SelectBgColor
="
5277BB
"
UnSelectBgColor
="
FFFFFF
"/>
<
Button
Name
="
NextPage
"
DisplayName
="
下一页
"
Type
="
Page
"
Ins
="
3
"
Color
="
0000FF
"
SelectColor
="
FFFFFF
"
SelectBgColor
="
5277BB
"
UnSelectBgColor
="
FFFFFF
"/>
<
Button
Name
="
phone
"
DisplayName
="
打电话
"
Type
="
Phone
"
Dest
="
13706515453
"
Default
="
是不是拨打电话
:
"
Color
="
0000FF
"
SelectColor
="
FFFFFF
"/>
<
Button
Name
="
sms
"
DisplayName
="
短信
"
Type
="
Sms
"
Default
="
你好,非常高兴认识你
"
Dest
="
13706515453
"
Input
="
false
"/>
<
Button
Name
=" "
DisplayName
="
全选
"
Index
="
1
"
Type
="
Select
"
Color
="
0000FF
"/>
<
Button
Name
=""
DisplayName
="
反选
"
Index
="
2
"
Type
="
Select
"
/>
<
Button
Name
=""
DisplayName
="
全不选
"
Index
="
3
"
Type
="
Select
"
/>
</
Item
>
9 Button
说明:
分别实现了上一页,下一页,全选,反选,全不选,打电话,发短信等功能,必须包含在 ITEM 节点之间,单独写是无效的
属性:
DisplayName 在界面上显示的值。
Type 它的可选值为:“ Page ”,“ Phone ”,“ Sms ”,“ Select ”
分别实现了上一页,下一页,全选,反选,全不选,打电话,发短信等功能,必须包含在 ITEM 节点之间,单独写是无效的
属性:
DisplayName 在界面上显示的值。
Type 它的可选值为:“ Page ”,“ Phone ”,“ Sms ”,“ Select ”
如果
Type
为
“
Page
”,属性
Ins
该值表示页号
,
必须是唯一的,
,
属性
Name
也是必须的,“
PrePage
“表示当前按钮是上一页,
" NextPage "
表示当前按钮是下一页,这个关键字是大小写敏感的
如果 Type 为 “ Phone ”,属性 Dest 是必须的,该值表示要拨打的手机号;属性 Default ,该值表示确认页面的提示信息;
如果 Type 为 “ Sms ”,属性 Dest 是必须的,表示要发送短信给该手机号;属性 Input ,如果为 true ,表示自己输入要发送的短信内容,否则的话,用 Default 的值做为默认值;属性 Default ,该值表示要发送的短信内容,只有在 Input 为 falser 的时候有效;
如果 Type 为 “ Select ”,属性 Index 是必须的,“ 1 “表示全选,“ 2 “表示反选,“ 3 “表示全不选
如果 Type 为 “ Phone ”,属性 Dest 是必须的,该值表示要拨打的手机号;属性 Default ,该值表示确认页面的提示信息;
如果 Type 为 “ Sms ”,属性 Dest 是必须的,表示要发送短信给该手机号;属性 Input ,如果为 true ,表示自己输入要发送的短信内容,否则的话,用 Default 的值做为默认值;属性 Default ,该值表示要发送的短信内容,只有在 Input 为 falser 的时候有效;
如果 Type 为 “ Select ”,属性 Index 是必须的,“ 1 “表示全选,“ 2 “表示反选,“ 3 “表示全不选
10 Delete类型
说明:
删除指定名称的 DB
删除指定名称的 DB
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
File 要删除的 DB 的名称。
Example:
DisplayName 在界面上显示的值。
File 要删除的 DB 的名称。
Example:
<
Item
DisplayName
="
删除数据
"
File
="
Favorite
"
Type
="
Delete
"/>
11 Image类型
说明:
显示图片 , 它的内容为图片的二进制表示
显示图片 , 它的内容为图片的二进制表示
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
vAlign 垂直方向的对齐方式
Example:
vAlign 垂直方向的对齐方式
Example:
<
Item
Type
="
Image
">00FFFA7874942804838439
</Item>
12 Refresh类型
说明:
刷新按钮,它跟 TASK 很类似,只是没有 FILE 属性,所以直接去连接服务器
刷新按钮,它跟 TASK 很类似,只是没有 FILE 属性,所以直接去连接服务器
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
ID 跟具体的业务有关,一般指数据库中某一项的 ID 。
Host 这个跟 JAD 的 USER DEFINE 中的值相对应,一般表示服务器基地址。
AHref 服务器上的相对地址。
Example:
DisplayName 在界面上显示的值。
ID 跟具体的业务有关,一般指数据库中某一项的 ID 。
Host 这个跟 JAD 的 USER DEFINE 中的值相对应,一般表示服务器基地址。
AHref 服务器上的相对地址。
Example:
<
Item
Name
="
R1
"
DisplayName
="
刷新
"
AHref
=""
&ID=16
"
Host
="
url
"
Type
="
Refresh
"
/>
13 Back类型
说明:
返回到指定的页面,默认为返回上一页
返回到指定的页面,默认为返回上一页
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
DisplayName 在界面上显示的值。
PageID
页面的名称,与
HTML
节点的
name
属性值对应。
Example:
Example:
<
Item
DisplayName
="
返回
"
PageID=
"
Index
"
Type
="
Back
"/>
14 Exit类型
说明:
退出当前系统,退出前会有个提示框
退出当前系统,退出前会有个提示框
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的内容。
DisplayName 在界面上显示的内容。
Message
默认为
TRUE,
如果设为
FALSE,
不显示提示框
Example:
<
Item
DisplayName
="
退出
"
Message
="
false
"
Type
="
Exit
"/>
15 ColumnItem类型
说明:
它是 Type 的容器,能将各种 TYPE 类型集中起来,做为一个整体来处理
它是 Type 的容器,能将各种 TYPE 类型集中起来,做为一个整体来处理
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
| ||||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
属性:
DisplayName 在界面上显示的值。
Border 是否加上边框。
ColumnSize 在同一行显示的个数。
DisplayName 在界面上显示的值。
Border 是否加上边框。
ColumnSize 在同一行显示的个数。
Example:
<
Items
Type
="
ColumnItem
"
ColumnSize
="
2
"
Border
="
true
">
<
Item
DisplayName
="
我收藏的帖子
"
File
="
Favorite
"
Type
="
Delete
"/>
<
Item
Ico
="
Catogary
"
DisplayName
="
张三
"
ID
="
1
"
File
="
UserInfo1
"
AHref
="
&UserID=16&Viewxml=Source
"
Host
="
Url
"
Type
="
Task
"/>
</
Items
>