自定义 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 的定位信息,尺寸,边框 -->
相关推荐
微小冷12 天前
用Mermaid画时序图
运维·流程图·时序图·mermaid·生命线
执明wa13 天前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio
wl851113 天前
SAP CPI 教程004 如何通过groovy修改XML节点属性值
xml
码匠许师傅14 天前
【C++三方组件】TinyXML2:两个文件的极简 XML 解析器
xml·c++
yuzhiboyouye16 天前
my-batisPlus什么时候用xml什么时候用mapper自带的方法,这两种写法专业一点叫什么,什么场景分别使用
xml
筝筝ba17 天前
如何跳过FFDC
xml·linux·运维·服务器·网络
yuzhiboyouye17 天前
那xml对应的sql语法,列举一下
xml·数据库·sql
tedcloud12319 天前
Wand-Enhancer:如何搭建一套远程开发与测试环境
前端·人工智能·macos·开源·流程图
筝筝ba22 天前
OpenBMC 自动化测试中的多进程陷阱:从 Execute Process 返回异常到 output.xml 损坏问题分析
xml·linux·运维·服务器·网络
HineMusk22 天前
如何使用 Codex 为数学建模论文高效绘图:以 2023 国赛 C 题为例
数学建模·流程图·画图