3

我正在研究 HTML5,我很困惑为什么它在良好的格式上如此容易。

<div id="main">  
<DIV ID="main">  
<DIV id=main>

都是有效的并产生相同的结果。我认为使用 XHTML 我们可以免费迁移到符合 XML 的代码(我不将结束标记算作成本!)。现在 HTML5 规范看起来是由懒惰的程序员和/或无政府主义者编写的。结果是,从 HTML5 开始我们就有了两个版本:HTML5 和 XML 兼容的 XHTML5。如果 C 突然允许您以下列方式编写 for 构造,您会认为它是一种资产吗?

for(i = 0; i < 10; i++) {  
for(i = o; i < 1o; i++) {  // you can use "o" instead of "0"  
for(i = 0, i < 10, i++) {  // commas instead of semicolons are alright!  

坦率地说,作为一名 XHTML 编码员,我从很久以前就对 HTML5 规范感到有点侮辱。
瓦迪亚认为?
史蒂文

编辑:
注意“wadya”:作为客户,您是否会接受一封写有“wadya”而不是“What do you”的信?:-)

4

5 回答 5

7

HTML 5不像XHTML 那样是一种 XML 方言。

HTML 如此受欢迎原因在于它可以容忍错误,因此几乎任何人都可以编写 HTML 页面。

XHTML 使它变得更加困难,并且没有被广泛采用。与此同时,HTML/XHTML 的进一步发展停滞不前,因此成立了一个行业组织,即开始研究下一代 HTML 并决定将 HTML 5 恢复为非 XML 标准的WHATWG 。

由于 XML 比 HTML 更严格,因此您始终可以将 HTML 编写为与 XML 兼容。确保属性是小写的,使用值分隔符,元素有结束标签,并在需要的地方使用正确的 XML 转义。

于 2010-08-27T10:38:57.007 回答
5

HTML 从未打算传达媒体,因此也从未打算用于任何类型的营销或商品推销。HTML 仅旨在传达文本并在其描述的文本上提供某种描述性结构。最初使用 HTML 的教授和科学家需要能够更深入地描述他们的通信,换行和引号将允许。换句话说,HTML 只是一种文档存储机制。请记住,此时没有网络浏览器。

HTML 最初是随着 Web 浏览器的发布而流行起来的。最初,Web 浏览器只是文本解析器,它提供了一个方便的 GUI 来导航文档之间的超链接,但这几乎立即发生了变化。那时还没有 HTML 的实际标准。有标签列表和最初为 HTML 创建的机制描述,以及对 SGML 的理解,是创建 HTML 解析器所需的全部内容。

随着网络浏览器的出现,迫切需要以 HTML 从未想过的方式扩展 HTML。正是在这一点上,发明者和原始用户完全失去了对网络的控制。添加了标签,例如中心和字体,表格成为在页面上布置内容而不是描述数据的主要机制。Web 浏览器提供了与 HTML 的意图完全正交的媒体需求。营销人员,就其本身而言,非常关心通信的外观和表现力,并且不会对使这种通信成为可能的技术一无是处。结果解析器变得更加松懈以适应无能者。您必须了解 HTML 已经很松散,因为没有标准的解析规则和 SGML,因为它非常迟钝,

并不是说这些早期的技术先驱是愚蠢的,尽管很容易反驳,他们只是有其他优先事项。当网络成为主流时,人们立即痴迷于在这种新媒体中征服特定的商业领域。所有成本都用于营销、市场份额、流量获取和品牌知名度。今天许多网络企业都以类似的议程运作,但今天的网络并不是一个公平的比较。在 90 年代,营销是最重要的,技术成本被完全忽略了。这个问题如此普遍,投资激增如此之大,以至于它完全违背了所有理性的经济学规则。这就是发生内爆的原因。

http://en.wikipedia.org/wiki/Dot-com_bubble

坠机事件发生后,情况发生了变化。考虑一下崩盘的好时机,因为尽管它完全是由错误的商业决策、愚蠢的投资和非理性的经济驱动的,但幕后正在发生积极的技术发展。网络的创始人完全意识到他们已经失去了对技术的所有控制权。他们试图通过创建万维网联盟 (W3C) 来解决这个问题并解决问题。他们邀请了专家和软件公司参加。尽管解决许多由营销驱动动机引入网络的技术问题是一个失败的原因,但如果按照商定的标准实施该语言,则可以避免许多未来的问题。正是在这段时间编写了 HTML 2(HTML 的第一个标准形式)、HTML 3 和 HTML 4。

与此同时,W3C 也开始研究 XML,它从未打算成为 HTML 的替代品。因为 SGML 太复杂,所以创建了 XML。需要基于类似规则的简单语法。XML 立即被营销人员否定,并立即受到 Microsoft 和 IBM 的数据传播者的称赞。因为与这些困扰 HTML XML 开发的问题相比,围绕 XML 的圣战是微不足道的、微不足道的和短暂的。几乎在 XML 形成之后,XML Schema 的第一个版本就形成了。

XML Schema 是一项非凡的工作,大多数人要么选择忽略,要么认为理所当然。用于访问 HTML 结构的抽象模型也基于 XML 模式进行了标准化,称为文档对象模型 (DOM)。需要注意的是,DOM 最初是由浏览器厂商开发的,目的是为 JavaScript 提供访问 HTML 的 API,但 W3C 发布的标准 DOM 与 JavaScript 没有直接关系。 HTML 可以通过创建符合 XML 的 HTML 形式来解决。这称为 XHTML。不幸的是,从 HTML 到 XHTML 的采用路径是以一种混乱的方式引入的,在最终澄清多年后仍未被广泛理解。

因此,发生了一场崩盘,导致这段经济崩溃时期出现了一些惊人的技术发展。技术腐败的最终根源,Web 浏览器,终于开始围绕采用 W3C 梦想的许多出色技术解决方案进行创新,但随着崩溃,浏览器供应商几乎完全丧失了开发动力。那时只有 Netscape、IE 和 Opera。Opera 不是免费软件,因此它从未被广泛采用,而 Netscape 也倒闭了。这基本上只剩下 IE 和微软将他们所有的开发人员都从 IE 中撤出。多年后,当 Firefox 出现竞争以及 Opera 采用免费许可时,IE 的开发将重新开始。

大约在浏览器恢复生机的同时,W3C 也在推进 XHTML2 的开发。XHTML2 是一个雄心勃勃的项目,与 XHTML1 无关,这造成了很多混乱。W3C 正试图解决与 HTML 相关的技术问题,这些问题已被允许长期恶化,并且他们的意图是有效且可靠的。不幸的是,XHTML2 工作组中存在一些争论。关于如何以及为什么从 HTML 过渡到 XHTML 的失败沟通与 XHTML2 的不相关性质及其内讧相结合,令人担忧。

导致网络崩溃的营销干扰随着网络崩溃而倒退,但它并没有消失。在此期间,它也在复苏。让我们不要忘记营销动机对技术问题很敏感。营销动机是关于即时满足。XHTML 的所有风格,尤其是 XHTML2,都是令人厌恶的即时满足感。XHTML2 最终会因为一个草稿的发布而被扼杀。这种恐惧和厌恶导致建立了独立的标准机构,其利益与以即时满足愚蠢的性质推动 HTML 向前发展是一致的。这个新组织将自称为 WHATWG,并将推动营销火炬向前发展。

WHATWG 很团结,因为他们的动机很简单,即使他们对技术的愿景是雄心勃勃的,本质上是为了让开发人员更容易使事情变得漂亮、互动,并降低媒体集成的复杂性。WHATWG 也很成功,因为网络在崩溃后开始收缩。周围的主要参与者越来越少,每个人都有一套特定的优先事项,这些优先事项越来越不一致。

网络是一种媒体渠道,其主要业务是广告。通过广告赚钱的网络企业往往比通过商品或服务赚钱的网络企业大得多。结果,网络的优先级最终将成为媒体和广告分发的优先级。例如,为什么 JavaScript 在浏览器中变得更快?答案是因为谷歌,一家广告公司,将发布一个处理 JavaScript 速度明显更快的网络浏览器作为优先事项。为了与其他浏览器竞争,需要将速度提高 20 到 30 倍才能跟上。这很重要,因为 JavaScript 是衡量广告指标的主要手段,这是 Google 收入的基础。

由于 HTML5 是一种营销友好的规范,因此它允许使用松散的语法。浏览器供应商花费更多的钱编写更复杂的解析机制来对抗草率的标记在经济上是合理的,因为它允许更快地开发媒体发布以允许更深入地渗透广告。这在经济上是合格的,因为现在可用的所有 5 种主要网络浏览器都主要来自广告收入。不幸的是,对于其他任何想要编写解析器的人来说,这只不过是成本,并且限制或有害于以后对结构化数据的任何解释。结果是缺乏对技术的关注和隐性成本的上升,限制了给定媒介内的技术创新。

这就是为什么 HTML 语法仍然很糟糕的原因。唯一的解决方案是提出一种替代的、技术上更优越的通信媒介,在技术上强调合同市场关注点的去中心化。

于 2012-05-14T23:43:12.243 回答
1

对于自然解析,首先不需要引号。

关于大小写,无论大小写如何,都会保留 HTML 元素;例如,您不能定义自己的 DiV 或 Div。

HTML 是一种标记语言,其中速度和简单性比一致性更重要。

虽然有争议,但这对搜索引擎来说非常重要。带有引用属性和任何类型错误的文档处理起来都非常昂贵。这很有趣——HTML 文档中引用的示例在引号中带有“邪恶”;也就是说,不使用引号并不是邪恶的。

于 2010-08-27T10:52:52.870 回答
0

最好规范允许它然后禁止它,无论如何每个人都这样做,并且浏览器必须纠错。

XHTML 从未真正起飞,尤其是因为 MSIE 从未支持它(通过发送无法承受的 text/html 内容类型来假装它是 HTML)。

于 2010-08-27T10:40:07.077 回答
0

老实说,你的问题自己回答了。“我们有两种不同的规格。” 每个规范都针对不同级别的一致性,它们这样做是有原因的。尽管我们可能讨厌“向后兼容性”的概念,但这是我们必须承担的负担,而且 HTML5 在维护它方面比 XHTML5 做得更好。

于 2010-08-27T10:43:15.000 回答