这是有效的 DTD 吗? (官方 html 4.01 dtd)

发布于 2024-09-02 04:11:11 字数 470 浏览 3 评论 0原文

以下声明出现在 html 4.01 dtds 中

<!ELEMENT STYLE - - %StyleSheet        -- style info -->

(请参阅 http://www.w3 .org/TR/REC-html40/sgml/dtd.html 它在 strict.dtd 和loose.dtd 中)

显然,;%StyleSheet.引用应该是 %StyleSheet;

但这是神圣 html 的官方 dtd - 迄今为止所有 dtd 中最重要的 dtd - 那么那里发生了什么?它是这样有效的实体引用吗?

Following declaration appears in html 4.01 dtds

<!ELEMENT STYLE - - %StyleSheet        -- style info -->

(see http://www.w3.org/TR/REC-html40/sgml/dtd.html it's in both strict.dtd and loose.dtd)

Apparently, the ; is missing after %StyleSheet. The reference should have been %StyleSheet;

But this is the official dtd of the holy html - by far the most important dtd of all dtds - so what's going on there? Is it valid entity reference like that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

素年丶 2024-09-09 04:11:11

在 HTML 4.01 DTD 中,如果没有分号,它有效。以下是 W3C HTML 4.01 规范 - 关于 SGML 和HTML

... DTD 中参数实体的实例以“%”开头,然后是参数实体名称,并以可选的“;”结尾。

XHTML DTD 中,它不会有效;他们遵循此建议(因为 XHTML 是 XML): 可扩展标记语言 (XML) 1.0 (第五版)- 角色和实体参考

... 定义:参数实体引用使用百分号 (%) 和分号 (;) 作为分隔符。

It is valid without the semicolon in HTML 4.01 DTDs. Here's an extract from the W3C's HTML 4.01 Specification - On SGML and HTML:

... Instances of parameter entities in a DTD begin with "%", then the parameter entity name, and terminated by an optional ";".

In an XHTML DTD it wouldn't be valid; they follow this recommendation (because XHTML is XML): Extensible Markup Language (XML) 1.0 (Fifth Edition) - Character and Entity References:

... Definition: Parameter-entity references use percent-sign (%) and semicolon (;) as delimiters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文