xmlsquishsource. compose. build.
English

XML DSL 与项目指南

理解让构建保持可预测的边界

递归程序在显式预算内运行,稳定身份与语言不变量则让项目保持可审计。

跳转到章节
本页目录

资源预算

递归展开合法但并非无限:深度、步数、节点、字节与正则工作量都有预算。预算错误应被视为程序设计信号。

  • 展开深度与总步数
  • 生成节点数与输出字节数
  • 正则输入与捕获工作量

语言不变量

比较严格区分大小写。该地址只标识词汇;构建过程绝不会通过网络获取它。

相对导入路径以声明它的文件为基准。管理器按源码身份只装载一次,并在展开前冻结导入闭包。

调用时先在调用方求值 arg 与 fill;随后宏体在定义位置运行,只能看到显式输入。

用 xs:insert 把标量作为转义文本输出;它绝不会把 <、> 或 & 重新解析成标记。需要保留结构时使用 xs:fill/xs:slot。

规范、示例与沿革

命名空间 URI 后不要追加版本号或末尾斜线。只有审计旧版本实现的语言契约时才使用快照。