gpt4 book ai didi

markdown - 用于 Markdown 的 SGML 解析器可能吗?

转载 作者:行者123 更新时间:2023-12-04 15:50:32 26 4
gpt4 key购买 nike

SGML 有许多允许标记最小化的可选特性,例如可选或隐含的开始和结束标记,以及用于更简单的标记别名的 SHORTREF。因此是否有可能编写一个 DTD,一个完美的 SGML 实现,这一直是一个罕见的甚至不存在的东西,可以用来成功解析任意 Markdown 文档?

现有的 markdown 解析器之间存在差异,Commonmark 试图将其标准化,因此基于 SGML 的解析器在边界情况下有一些余地。

最佳答案

虽然许多 markdown 结构可以使用 SGML 短引用解析为 HTML,但 markdown 的内联和引用链接不能。

[link text](link URL) 等内联链接存在问题,因为必须填充生成的 a 元素的 href 属性以链接 URL 作为值,这对 SGML 短引用根本不起作用。此外,引用链接需要无限制的前瞻性,因为它们可以在实际使用之前或之后放置在文本中的任何位置。

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

编辑:仅供引用,sgmljs.net(我的项目)包含对嵌入 SGML 解析器中的 HTML 翻译的完整 Markdown (+ 通用扩展),但它仅通过公共(public)“虚拟”公开 Markdown 简短引用 map 声明在文档的序言中引用时“神奇地”将 markdown 转换为 HTML 的标识符;实际的 Markdown 翻译和处理是使用 JavaScript 硬编码的(参见 http://sgmljs.net/docs/markdown.html)。使用未提及的 SGML 中的 markdown 的一个问题是 markdown 需要一个“标记 block ”(泛化为允许任何显式元素标签或其他标记结构的 HTML block )由换行符与前面或后面的 markdown 文本分隔,这是一个约束无法在 SGML 中捕获。

关于markdown - 用于 Markdown 的 SGML 解析器可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54020477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com