插件开发技术说明(4)---xml编程

前端之家收集整理的这篇文章主要介绍了插件开发技术说明(4)---xml编程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

以下是sba.pr协议规则文件中2个协议处理的描述.

通过本示例可以了解如何使用l编写xml协议处理脚本,取代编写c++代码

使用xml协议规则文件的具体的局限和缺陷后续给出。

协议规则文件插件同名,扩展名为:pr

1.示例

7150-Request:演示如何insert

7151-Request:演示如何查询数据,有条件

sba插件的sba.pr内容如下:

<?xml version="1.0" encoding="gb2312" standalone="yes" ?>
<protocol>
<msgs>
<!--@加入购物车 -->
<msg id="7150" type="5" desc="加入购物车">
<parameters>
<parameter>
<name>EId,UserID,CoEId,GoodsID</name>
<comment>企业ID,用户ID,供应商ID,商品ID</comment> 
<type>1</type>  <!-- 整型 -->
<nullable>false</nullable>  <!-- 不允许为空 -->
</parameter>

<parameter>
<name>SKUNum,PKNum</name> 
<comment>单品数,整装数</comment> 
<type>1</type>
<nullable>true</nullable>  <!--允许为空 --> 
</parameter>

<parameter>
<name>handlerid</name> 
<comment>HandlerID</comment> 
<type>3</type> <!--字符串类型 -->
<nullable>false</nullable>  
</parameter>

</parameters>

<script>
<action>1</action> <!--必须参数 动作1-Insert 2-update 3-delete 4-query  -->
<table>t_Ven_ShoppingCart</table> <!--除action=4外,必须有此参数 -->
<vars>
<var>curdate=DATE()</var> <!-- 定义变量curdate,取值DATE()函数,获取当前时间-->
</vars>

<field_bind> <!-- 字段绑定参数和字段的绑定,如果action=4则不需要此节点 -->
<field>
<name>EId,GoodsID,SKUQty,PackQty</name> 
<method>1</method>  <!-- 绑定方式: 1-参数值 2-参数编码表 3-常量 4-变量-->
<value>EId,SKUNum,PKNum</value> 
</field>

<field>
<name>AddTime</name> 
<method>4</method>  <!-- 绑定方式: 1-参数值 2-参数编码表 3-常量 4-变量-->
<value>curdate</value> 
</field>

</field_bind>


<result>
<parameters> <!-- 需要显式返回的参数-->
<parameter>
<name>handlerid</name>
<method>1</method><!-- 参数计算方式 1-引用原来的同名参数 2-... 3-变量-->
</parameter>
</parameters>

</result>

</script>
</msg>

<!--@查询购物车(简版) -->
<msg id="7151" type="5" desc="查询购物车(简版)">
<parameters>
<parameter>
<name>EId,TopNum</name> 
<comment>企业ID,查询记录数</comment> 
<type>1</type> <!-- 1-整数 2-浮点数 3-字符串 4-日期 5-时间 6-日期时间 7-bool(0或1) 8-二进制数据 9-set(集合)--> <!--默认:字符串-->
<nullable>false</nullable>  
</parameter>
</parameters>


<script>
<action>4</action> <!--必须参数 动作1-Insert 2-update 3-delete 4-query  -->

<select> 
<cmd>
<when>select top @TopNum d.eid,d.ename,a.objectid,a.goodsid,b.brandid,brandname,stype,spec,skuqty as skunum,packqty as pknum,addtime 
from t_ven_shoppingcart a,t_bas_mygoods b,t_bas_brand c,t_sys_org d 
where a.coeid=b.eid and a.goodsid=b.goodsid 
and b.brandid=c.brandid and d.eid=a.coeid and a.eid=@EId and userid=@UserID and a.status=0</when>
</cmd>
</select>

<result>
<method>1</method> <!-- 1-以行集形式返回 2-以参数形式返回 -->
</result>

</script>
</msg>


</msgs>
</protocol>


2.协议定义

对应的协议定义如下.

。加入购物车

协议名称

加入购物车

协议编号

7150

通信模式

请求-确认

请求内容

参数

参数

名称

说明

企业ID

EId

用户ID

UserID

供应商ID

CoEId

商品ID

GoodsID

单品数

SKUNum

整装数

PKNum

返回内容

参数

说明

查询购物车

协议名称

查询购物车

协议编号

7151

通信模式

请求-确认

请求内容

参数

说明

企业ID

EId

用户ID

UserID

查询记录数

TopNum

返回内容

参数

说明

购物车商品列表

说明

供应商ID

EId

供应商名称

EName

记录编号

ObjectID

商品ID

GoodsID

商品名称

GoodsName

品牌ID

BrandID

品牌名称

BrandName

型号

SType

规格

Spec

单品数

SKUNum

单品价

SalePrice

整装数

PKNum

整装价

WholePrice

商品图片

Pic

加入时间

AddTime

猜你在找的XML相关文章