HTML5 Domparser 的文档类型
HTML5 Doctype for Domparser
任务: 我想使用 DOMParser (https://developer.mozilla.org/en-US/docs/Web/API/DOMParser) 解析 XML 文档。我没有也不需要正式的 DTD,并且将其解析为 "text/xml" 效果很好。现在我想在我的 xml 中使用某些符号实体,例如 ,解析器当然会抱怨它们是未知的。由于原则上我希望能够访问所有现有 html 实体,因此我尝试使用文档类型规范
http://www.w3.org/TR/html4/strict.dtd">
这按预期工作,因为 DOMParser 似乎预加载了此文档类型和连接的实体列表。但是,此文档类型已过时。所以我尝试了新的 但这 没有 工作。这也是预料之中的,因为新的 html5 doctype 标签的工作方式与旧的基于 xml/sgml 的标签不同。
问题: 浏览器可以识别并包含预加载的 HTML 实体的 html (5) 是否有一些标准化的 !DOCTYPE。 (我不想将所有实体的列表复制为单独的实体定义,浏览器在某处有它们,我只是不知道如何通过 html5 的 xml/sgml 样式 DTD 激活它们)
如果您想继续使用 XML,但不想使用 XHTML 文档类型,那么您 有 来声明字符XHTML 的实体直接在文档中通过 ENTITY
声明(在内部子集或外部声明集中),因为只有 HTML 具有 nbsp
和许多其他预定义实体( XML 只有 quot
、amp
、apos
、lt
和 gt
)。您可以使用 https://www.w3.org/2003/entities/2007/htmlmathml-f.ent 中的 HTML5 实体集(其中包括大量的 MathML 实体),或更小的经典 HTML4 实体集。
但我会首先检查 DomParser 是否实际处理带有标记声明的标记声明 and/or 外部声明集。尝试解析以下内容
<?xml version="1.0"?>
<!DOCTYPE test [
<!ENTITY nbsp " ">
]>
<test>
</test>
并检查控制台是否有错误消息。
HTML 没有 "official" DTD(事实上,根本没有正式的语法),但是我的 SGML DTD for W3C HTML 5.1 有更多关于解析 HTML 的信息5 比您可能感兴趣的更多,包括有关 HTML5 的预定义实体的信息。
任务: 我想使用 DOMParser (https://developer.mozilla.org/en-US/docs/Web/API/DOMParser) 解析 XML 文档。我没有也不需要正式的 DTD,并且将其解析为 "text/xml" 效果很好。现在我想在我的 xml 中使用某些符号实体,例如 ,解析器当然会抱怨它们是未知的。由于原则上我希望能够访问所有现有 html 实体,因此我尝试使用文档类型规范
http://www.w3.org/TR/html4/strict.dtd">
这按预期工作,因为 DOMParser 似乎预加载了此文档类型和连接的实体列表。但是,此文档类型已过时。所以我尝试了新的 但这 没有 工作。这也是预料之中的,因为新的 html5 doctype 标签的工作方式与旧的基于 xml/sgml 的标签不同。
问题: 浏览器可以识别并包含预加载的 HTML 实体的 html (5) 是否有一些标准化的 !DOCTYPE。 (我不想将所有实体的列表复制为单独的实体定义,浏览器在某处有它们,我只是不知道如何通过 html5 的 xml/sgml 样式 DTD 激活它们)
如果您想继续使用 XML,但不想使用 XHTML 文档类型,那么您 有 来声明字符XHTML 的实体直接在文档中通过 ENTITY
声明(在内部子集或外部声明集中),因为只有 HTML 具有 nbsp
和许多其他预定义实体( XML 只有 quot
、amp
、apos
、lt
和 gt
)。您可以使用 https://www.w3.org/2003/entities/2007/htmlmathml-f.ent 中的 HTML5 实体集(其中包括大量的 MathML 实体),或更小的经典 HTML4 实体集。
但我会首先检查 DomParser 是否实际处理带有标记声明的标记声明 and/or 外部声明集。尝试解析以下内容
<?xml version="1.0"?>
<!DOCTYPE test [
<!ENTITY nbsp " ">
]>
<test>
</test>
并检查控制台是否有错误消息。
HTML 没有 "official" DTD(事实上,根本没有正式的语法),但是我的 SGML DTD for W3C HTML 5.1 有更多关于解析 HTML 的信息5 比您可能感兴趣的更多,包括有关 HTML5 的预定义实体的信息。