Markdown的SGML解析器可能吗?

时间:2019-01-03 10:30:29

标签: markdown sgml

SGML具有许多可选功能以允许最小化标记,例如可选或隐含的开始和结束标签,而showLoading用于简化标签的别名。因此,是否有可能编写一个DTD,使一个完美的SGML实现(过去一直是不存在的东西)可以用来成功解析任意降价文档?

Commonmark试图标准化现有降价解析器之间的差异,因此基于SGML的解析器在边界案例中还有一些余地。

1 个答案:

答案 0 :(得分:1)

尽管可以使用SGML短引用将许多markdown构造解析为HTML,但是markdown的内联和引用链接却不能。

诸如[link text](link URL)之类的内联链接是有问题的,因为必须使用链接URL作为值来填充所产生的href元素的a属性,这对于SGML完全无效。简短参考。另外,参考链接需要无限制的超前功能,因为它们可以在实际使用之前或之后放置在文本的任何位置。

另一个问题是降价自动转义和自动链接。

编辑:sgmljs.net(我的项目)仅出于您的信息,包含对SGML解析器中嵌入的HTML翻译的完整markdown(+通用扩展名),但仅通过公开方式“虚拟”公开了markdown简短参考地图声明。在文档的序言中引用时,“神奇地”将markdown转换为HTML翻译的标识符;实际的降价翻译和处理使用JavaScript进行了硬编码(请参见http://sgmljs.net/docs/markdown.html)。未提及使用SGML中的markdown的问题是markdown希望有一个“ markup块”(HTML块被通用化以允许任何显式元素标签或其他标记构造),并与之前或之后的markdown文本用换行符隔开。在SGML中无法捕获。