什么是 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 的定位信息,尺寸,边框 -->