XDSL 业务语言

XDSL(X Dynamic Scripting Language)是一个非常精干的领域特定语言,为 axeac 移动应用开发平台设计和创建。以面向对象的形式提供各种组件,所用的语句均为 key = value 定义语法体系。它允许用户执行(解释)用该语言编写的代码,生成用于移动应用客户端业务。

目标

XDSL 的目标是成为一个极简、易读的配置文件格式。

规范

  • XDSL 是大小写敏感的
  • XDSL 文件必须是 UTF8 编写的
  • XDSL 是顺序解析的脚本语言

注释

用符号 # 来表示注释

# 这是一行注释

关键字

  • userid #当前登录用户
  • root #当前系统 URL 路径

组件

基本规则

  • 用[ ]来定义一个表单和组件
  • 设置组件和方法的属性设置格式为:属性名称 = 属性值
  • 用.来表示组件间的父子关系
  • 组件声名中为“组件所属的类型_组件 id”,下划线前为组件类型,下划线后为组件 ID
[Form]
id = “TestForm”
title = “测试表单”
refresh = “true”

[Form1.Labeltext_Labeltext1]
label = “姓名”
text = ”张三“
labelWidth =“20%”
add = ”true“

[Form.LableText_2]
label = "测试2"
text = "输入内容2"
labelWidth = ”20%“
add = “true”

Container/GroupContainer 组件说明

[Form]
id = "testForm"
title = "测试表单"
refresh = "true"

[Form.Container_Container1]
layout = “BoxLayoutY”

[Form.Container_1.LableText_3]
label = "测试3"
text = "输入内容3"
labelWidth = ”20“

[Form.Container_Container2]
layout = “BoxLayoutX”

[Form.Container_2.LableText_4]
label = "测试4"
text = "输入内容4"
labelWidth = ”20“

[Form.GroupContainer_GroupContainer1]
title = "基本信息"
icon = “img:baseinfo.png”

[Form.GroupContainer_GroupContainer1.LableText_LableText7]
label = "测试7"
text = "输入内容7"
labelWidth = “20%”
add = “true”

[Form.GroupContainer_GroupContainer1.LableText_LableText8]
label = "测试8"
text = "输入内容8"
labelWidth = “20%”
add = “true”

TabContainer 组件说明

[Form]
id = "testForm"
title = "测试表单"
refresh = "true"

[Form.TabContainer_TabContainer1]

[Form.TabContainer_TabContainer1.LableText_LableText5]
label = "测试5"
text = "输入内容5"
labelWidth = “20%”
index = 1
#组件所属的标签页下标、标签页下标从1开始
add = “true”

[Form.TabContainer_TabContainer1.LableText_LableText6]
label = "测试6"
text = "输入内容6"
labelWidth = “20”
index = 2
add = “true”

OperatingButton 组件说明

[Form]
id = "testForm"
title = "测试表单"
refresh = "true"

[Form.OperatingButton_OperatingButton1]
pageId = "userlist"
textposition = "用户列表"
opParam1 = "a"
opParam2 = "b"
opParam3 = "c"
opParam4 = "d"
opParam5 = "e"

[Form.OperatingButton_OperatingButton2]
opId = "userlist"
textposition = "新增用户"
opParam1 = "a"
opParam2 = "b"
opParam3 = "c"
opParam4 = "d"
opParam5 = "e"

Table 组件说明

[Form]
id = “testForm”
title = ”测试表单“
refresh = “true”

[Form.Table_Table1]
addTitle0 = “编号,10%”
addTitle1 = “审批时间,30%”
addTitle2 = ”标题,40%“
addTitle3 = “来自,30%”
addData0 = “安全帽||2017-11-15 15:32||张三||二道门”
addData1 = ”安全帽||2017-11-15 12:32||李四||二次风机“
addData2 = “安全帽||2017-11-15 9:23||张三||13 米”
addData3 = ”安全帽||2017-11-15 8:12||张三||0 米“
addData4 = “安全帽||2017-11-15 6:18||张三||二道门”
addData5 = ”安全帽||2017-11-15 3:21||张三||二道门“
addData6 = “安全帽||2017-11-15 1:29||张三||二道门”
click = ”PAGE:nk_list_xq||id=0,name=1“

addRowButton0 = “modifyinfo||修改||ICON||PAGE:PAGEID||id=0,name=1”
addRowButton1 = ”deleteop||删除||ICON||PAGE:PAGEID||id=0,name=1“
  • 第一个数据的第一个内容判断请求的是页面还是操作 PAGE/OP 第二个内容是页面或者操作对应的 ID
  • 第二个数据为请求所需要传递的参数可有多个,id=0:name=1 表示应当传递 id 和 name 到后台
  • 并且他们对应的值从当前点击行的 数据中获取,0 和 1 代表值的下标,此例中点击第二行应当返回
  • id = 2 以及 name = 22,...表示可以有多个不限个数

其他多行数据组件

其他组件规则凡是涉及到增加多行内容的均采用以上 table datas 类似的做法

[Form.Bar_Bar1]
addData1 = “1||收入||2011||500||500”
addData2 = ”2||收入||2012||550||550“
addData3 = “3||收入||2013||610||610”
addData4 = ”4||收入||2014||710||710“
addData5 = “5||收入||2015||710||710”

[Form.Map_Map1]
addposition0 = "31.235167,121.505738,金茂大厦"
addposition1 = "31.226254, 121.456372,上海民主党派大厦"

[Form.Pie_Pie1]
adddata0 = "ID3||博士 5||0||博士"
adddata1 = "ID4||硕士||10||硕士"
adddata2 = "ID1||本科||30||本科"
adddata3 = "ID2||专科||10||专科"

[Form.Line_Line1]
titleTop = "年度收支分析"
adddata0 = "1||收入||2011||500||1000"
adddata1 = "2||收入||2012||550||1000"
adddata2 = "3||收入||2013||610||1000"
adddata3 = "4||支出||2011||409||1000"
adddata4 = "5||支出||2012||359||1000"
adddata5 = "6||支出||2013||419||1000"

字符串

XDSL 仅支持单行文本,多行文本 通过/n 进行换行

方法

方法用来定义组件操做及操作事件

方法主要有以下几类

click

click = "PAGE:nk_list_xq||id=0,name=1"
  • 第一个数据的第一个内容判断请求的是页面还是操作 PAGE/OP 第二个内容是页面或者操作对应的 ID
  • 第二个数据为请求所需要传递的参数可有多个,id=0:name=1 表示应当传递 id 和 name 到后台
  • 并且他们对应的值从当前点击行的 数据中获取,0 和 1 代表值的下标,此例中点击第二行应当返回
  • id = 2 以及 name = 22,...表示可以有多个不限个数

adddata

# adddata静态数据
[Form.Pie_Pie1]
adddata0 = "ID3||博士 5||0||博士"
adddata1 = "ID4||硕士||10||硕士"
adddata2 = "ID1||本科||30||本科"
adddata3 = "ID2||专科||10||专科"

# adddata动态数据
BindMulit('nk_list.list','Table1','addData');
  • 参数用双竖线分割

addRowButton

addRowButton0 = "modifyinfo||修改||ICON||PAGE:PAGEID||id=0,name=1"
addRowButton1 = "deleteop||删除||ICON||PAGE:PAGEID||id=0,name=1"

数据绑定

单值绑定

BindSingle(‘数据项.Sql_id.数据列’,'组件',‘属性’)

BindSingle('nk_officelist_xq.list.ID','LabelText1','text');

单值 Json 绑定

[Form.LabelText_1]
text = "{json->数据项.Sql_id.数据列}"

[LabelText_1]
text = "{json->ax_democontactsbmrydetail.persondetail.id}"

多值绑定

BindMulit(‘数据项.Sql_id’,'组件',‘方法’)

BindMulit('nk_list.list','Table1','addData');
Copyright © 快虎信息 2019 all right reserved,powered by Gitbook该文件修订时间: 2019-03-22 09:13:09

results matching ""

    No results matching ""