下表详细说明了各种 XLANG/s 构造和 BPEL4WS 构造之间的转换。
注意
XPath 1.1 不支持以指数记数法表示的数字或双精度格式。 XLANG/s 业务流程中使用这些格式的文本值使用 %f 格式导出到 BPEL4WS,因此可能会影响精度。
文本(如果文本是表达式的一部分)
XLANG/s | Bpel4ws |
---|---|
字符串、字符 | XPath 字符串 |
整数、实型 | XPath 数字 |
布尔值“true”、“false” | XPath true()、false() 函数 |
文本(单独赋值)
XLANG/s | Bpel4ws |
---|---|
文本常数 | XSD 等价 |
变量
XLANG/s | Bpel4ws |
---|---|
变量引用 | bpws:getContainerData (%varName%,part, %locationPath%) |
消息引用(.NET 类型) | bpws:getContainerData(%msgName%, part, %locationPath%) |
消息部分引用 | bpws:getContainerData(%msgName%, %locationPath%) |
可分辨字段引用 | bpws:getContainerData(%msgName%, %partName%, %locationPath%) |
消息数据属性引用 | bpws:getContainerProperty(%msgName%, %propertyQName%) |
运算符
XLANG/s | Bpel4ws |
---|---|
Unary + | 忽略 |
一元:- | XPath unary - |
Unary ! | XPath not() 函数 |
二进制 &&,|| | XPath 'and'、'or' 运算符 |
Binary ==, !=, <=, =>, <> | XPath '='、'! =', '<=', '<', '>=', '>' 运算符 |
使用两个整数操作数的 Binary +、-、*、% | XPath '+'、'-'、'*'、'mod' 运算符 |
BPEL4WS 中不允许的 XLANG/s 构造
消息上下文属性引用
服务属性引用
端口属性引用
服务链接属性引用
一元 – 非整数类型
Unary ~
强制转换运算符
Binary,使用整数操作数
Binary +、-、*、%,使用非整数操作数
具有非字符串操作数的 Binary <=, <> 、 >=
Bitwise 运算符和、^、|
Shift 运算符 <<、 >>
已检查表达式
内部表达式
前递增、后递增、前递减和后递减 ++、--
对象调用(有 out、没有 out 和/或 ref 参数)
'new' 运算符