CML是基于XML的化学信息专用标记语言,用于准确描述分子结构、反应式等并支持计算机解析与复用;它遵循XML规则,用标签表示化学单元,支持三维坐标、元数据及多格式无损转换。

CML(Chemical Markup Language)是一种基于XML的专用标记语言,专为描述和交换化学信息而设计。它不是通用格式,而是让分子结构、反应式、晶体数据、光谱属性等能被计算机准确识别、解析和复用的标准方式。
什么是CML
CML全称Chemical Markup Language,中文常译作“化学标记语言”或“化学置标语言”。它本质上是XML的一个应用子集,所有CML文件都是合法的XML文档,遵循严格的语法和语义规则。
- 用标签明确表示原子(
)、键( )、分子( )、反应(reaction>)等基本单元 - 支持三维坐标、电荷、自旋态、同位素、立体化学等细节描述
- 可嵌入元数据,如作者、来源、计算方法、实验条件等,实现自描述性
- 与其他化学格式(如MOL、SDF、SMILES)可双向转换,且不丢失信息
XML在化学领域的典型应用
XML本身是通用框架,CML是其最成熟、最广泛采用的化学领域实现。除此之外,还有几个关联性强、实际落地的应用方向:
- CML作为数据交换核心:在化学数据库(如ChemSpider、RCSB PDB的部分扩展)、开源工具(如JChemPaint、Avogadro、Ketcher)中,CML常作为中间格式用于结构导入导出和自动化测试
- 与MathML协同表达化学方程:XML生态中,CML负责结构,MathML负责数学表达(如平衡系数、热力学公式),二者嵌套使用可完整呈现带计算的反应体系
- 支撑语义化出版与检索:期刊平台(如RSC、ACS部分数字出版系统)允许作者提交含CML附件的论文,使分子结构可被搜索引擎直接索引、比对甚至参与AI训练
- 驱动Web化学工具链:前端化学编辑器(如Ketcher)默认生成CML;后端服务(如OPSIN、CDK)接受CML输入进行名称解析、性质预测或反应模拟
基本上就这些。CML不是炫技产物,而是解决“机器看不懂化学”的务实方案——结构可读、格式稳定、扩展灵活。用不用它,取决于你是否需要让化学信息走出PDF和图片,真正进入程序流程。










