自定义 DSL 流程图(含XML 描述邮件,XML 描述流程图)

什么是 DSL?

领域特定语言(英语:domain-specific language、DSL)指的是专注于某个应用程序领域的计算机语言。又译作领域专用语言。不同于普通的跨领域通用计算机语言(GPL),领域特定语言只用在某些特定的领域。 比如用来显示网页的HTML,以及Emacs所使用的Emac LISP语言。

什么是 XML?

可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

XML就是一种DSL

自定义一个 XML 来描述邮件,可以自定义标签和属性。

html 复制代码
<!-- 用 XML 描述一封邮件,可以自定义标签和属性 -->
<mail>
    <to>123@qq.com</to>
    <form>789@qq.com</from>
    <title color="red">邮件标题</title>
    <body>邮件标题</body>
</mail>

用 xml 描述这个流程图

html 复制代码
<chart>
    <start-end id="start">开始</start-end>
    <flow id="flow1">流程1</flow>
    <judge id="judge1">评审</judge>
    <flow id="flow2">流程2</flow>
    <start-end id="end">结束</start-end>
    <arrow from="start" to="flow1"></arrow>
    <arrow from="flow1" to="judge1"></arrow>
    <arrow from="judge1" to="flow2">Y</arrow>
    <arrow from="judge1" to="end">N</arrow>
    <arrow from="flow2" to="end"></arrow>
</chart>
<!-- 另,每个节点还可以加上 x y 的定位信息,尺寸,边框 -->
相关推荐
前网易架构师-高司机5 天前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
逍遥德5 天前
Maven教程.01- settings.xml 文件<profile>使用详解
xml·java·maven
逍遥德5 天前
Maven教程.03-如何阅读pom.xml文件
xml·java·后端·maven
PD我是你的真爱粉6 天前
Vue 3 生命周期完全指南:从流程图到最佳实践
前端·vue.js·流程图
松叶似针6 天前
Flutter三方库适配OpenHarmony【doc_text】— .docx 解析全流程:从 ZIP 解压到 XML 提取
xml·flutter·harmonyos
CORNERSTONE3656 天前
生产质量管理体系全过程流程图
流程图·质量管理·管理流程·生产质量
Blockbuater_drug6 天前
Amber分子动力学模拟5.3: 冷冻电镜结构评估与选用
流程图·分子动力学模拟·cryo-em结构·蛋白结构评估·冷冻电镜结构
松叶似针6 天前
Flutter三方库适配OpenHarmony【doc_text】— parseDocxXml:正则驱动的 XML 文本提取
xml·flutter
2301_780669867 天前
MyBatis(配置,增删改查,注解与XML两种开发方式)、SpringBoot配置文件(yml简化properties)
xml·spring boot·mybatis·javaweb
强子感冒了9 天前
JSON和XML学习笔记
xml·学习·json