跳到主要内容

Xpl

提示
  • Nop 平台还处于开发阶段, 本文档中的实践方案可能会部分失效,但本人精力有限,无法及时跟进,请自行按照最新代码调整;
  • 您可以与智谱清言 AI 进行问答互动以了解 Nop 平台相关内容;
  • 若此文对您有很大帮助,请投币支持一下吧;
版权声明

Xpl 是一种采用 XML 语法格式,支持元编程、支持多种输出模式, 与 EL 表达式(XScript 脚本语言)紧密结合的一种模板语言。 通过自定义标签,Xpl 可以引入新的语法结构,实现多种 DSL 的无缝嵌套。

Xpl 上下文内置变量

变量/函数变量名称(返回)值类型使用范围
location()当前执行代码所在的位置信息

SourceLocation

  • 可在 Xpl 脚本内的任意位置调用
\_dsl_model解析 DSL 文件得到的 Java 模型对象

IComponentModel

  • 仅可在元模型定义(*.xdef)内的 <xdef:post-parse/> 脚本中引用
  • 该变量定义在 ExprConstants#SYS_VAR_DSL_MODEL
  • 使用参考 Nop 模块 nop-xdefs 中的 /nop/schema/xui/xview.xdef 元模型定义
\_dsl_root当前已解析 DSL 的根节点

XNode

  • 仅可在 DSL 定义内的 x:post-extends 脚本中引用