PQL 快速入门
PQL基础
数据流转
输出文件
PQL 中的语句
分支和循环
更优雅的数据操作
PQL 高级特性
系统函数
自定义函数
扩展操作
其他语言相关
附录
嵌入式 PQL 是 PQL 的扩展应用,其主要思想是可以将 PQL 嵌入到任何格式的文本中,如 HTML、Markdown、Json,甚至 Python。通过嵌入式 PQL 解析器解析,得到解析后的文本结果,可以在解析之前进行传参以获得不同的结果。
嵌入式 PQL 的语法非常简单,跟 Asp 和 Jsp 的规则几乎一样,在要嵌入 PQL 的文本中使用<%`和`%>
包含 PQL 语句。
上例中接收参数id
,从数据表students
中查出明细,然后把各个字段输出到页面上,最终生成一个 student 的 Json 对象数据。上例中,PQL 代码都由<%`和`%>
包围起来,其中<%=`和`%>
表示输出变量的值,也可输出表达式计算后的结果,是 OUTPUT 语句的简单形式。嵌入式 PQL 除了这些,再没有更多其他语法。
嵌入式 PQL 在整个 PQL 家族中应用主要在以下几个地方:
VOYAGE
指令,可以传递不同的参数将 PQL 嵌入的文本文件保存为解析后的文件。比如 DataX 需要 Json 格式的文件进行配置。在不同的应用中,有稍有不同的传参形式。比如 Voyager 模板引擎支持 URL 地址传参和 Json 对象传参,Keeper 工作流和命令模板提供专门的传参输入框或预设参数,FILE 语句支持WITH
指令传参。但无论何种方式,最多支持两种格式的参数,即查询字符串格式和 Json 对象格式。
查询字符串格式为name=Tom&age=18&score=78
,不同的参数之间使用&
隔开,参数名和参数值之是使用=
隔开。如果遇到字符冲突,比如参数值中包含行号=
或&
,那么要替换为%3D
和%26
,详细请参照地址中的特殊字符处理。
Json 对象格式传参时不需要对特殊字符进行转义,且支持数据类型。示例如下:
参考链接