xml -HTML版本选择

Translate

在开发新的基于Web的应用程序时,您应针对哪个版本的html?

编辑:

很酷,我只是想从别人那里得到一种感觉,我倾向于在自己的工作中使用XHTML 1.0 Strict,而当其他人参与内容创建时,我倾向于使用Transitional。

我将第一篇XHTML 1.0 Transitional帖子标记为“正确答案”,但坚信那时给出的所有答案同样有效。

This question and all comments follow the "Attribution Required."

所有的回答

Translate

我会为XHTML Transitional 1.0拍摄。仍然有一些不喜欢XHTML严格的细微差别,而且我现在看到的大多数编辑器都会为您提供适当的帮助,以确保事情做对了。

来源
Translate

HTML 4.01。绝对有没有理由使用XHTML来解决实验或学术问题以外的任何问题,而只需要在“晦涩”的Web浏览器上运行即可。

XHTML Transitional甚至毫无意义那些浏览器,所以我不确定为什么有人会为此目标。实际上,令人震惊的是许多人会建议这样做。

我说针对HTML 4.01的目标是最可预测的,但是Teifion确实是对的,“任何呈现您页面的内容都可以做到”。

回应迈克尔·斯托姆:

XHTML是基于XML的,因此它可以简化解析,并且您还可以使用大多数IDE的XML组件以编程方式查询和插入内容。

这当然是不正确的。网络上的许多XHTML(如果不是大多数的话)都不符合XML的有效性(并且不需要-它不是作为XML发送的)。尝试在处理XML时将其视为XML只会使您头疼。例如,Stack Overflow上的此页面将由于许多无效的XML工具而产生错误,以使标记无效。

来源
Translate

过渡性的不推荐使用XHTML和HTML。他们只是为了适用于不支持CSS的旧用户代理。看到DTD中的解释.

W3C建议您在任何可能的情况下都应使用Strict,而现在确实可以。

过渡版本已在XHTML / 1.1和HTML5中删除。


XHTML / 1.0具有与HTML4完全相同的元素和属性(语义)。 XHTML / 1.0规范甚至没有指定任何元素!除语法外,它指的是HTML4。

此外,如果您以以下方式发送文档,则将无法使用HTML中不可用的XHTML的任何功能(命名空间,XML DOM):text/html,而且很不幸,这是与IE和其他仅HTML浏览器兼容的必需条件。

在2008年,正确的选择应该是HTML4 Strict:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

但截至2016年,一种HTML版本这很重要。

 <!DOCTYPE html>
来源
Translate

@麦克风:

虽然我同意不需要使页面呈现有效(毕竟,我们必须保持IE6的兼容性...),但是创建兼容且有效的有效XHTML并不是问题。当人们习惯于HTML 4并使用折旧的标签和属性时,问题就开始了。

仅仅因为Web一堆垃圾,并不意味着每个新页面也需要一堆垃圾。 SO上的大多数验证错误都很琐碎,不应花费太长时间进行修复,例如缺少属性的引号。

但考虑到W3C仍然不知道他们想去哪里(参见HTML 5),并且某个也生产操作系统的大型浏览器公司也不在乎,因此这可能仍然毫无意义。一个网站也可以发送它的文档类型,因为HTML 1337 Sucks很容易,浏览器仍会尝试呈现它。

来源
Translate

有一些引人注目的 警告关于XHTML的用法,主要围绕以下事实:此类文档的mime类型应发送为:

Content-type: application/xhtml+xml

但是IE 6和IE 7不支持此功能,然后网站必须将其发送为:

Content-type: text/html

不幸的是,这种方法是被认为是有害的.

有些人还抱怨这样一个事实,尽管XHTML的目的是使网页可由XML解析器解析,但实际上,由于现有网站上的不正确使用,它实际上失败了。

我仍然更喜欢使用XHTML 1.0 Strict编写文档,主要是因为存在挑战,而且清洁度并进行错误检查验证器给。我更喜欢语法,因为它使我在标记结束时等方面非常明确。对我而言,这不仅仅是纯粹的技术选择,而是我个人的选择。

来源
Translate

Dillie-O对XHTML 1.0 Transitional的回答是正确的,但我建议您为XHTML 1.0 Strict拍摄,如果您确实需要Strict不允许的某些功能,则只能使用Transitional。

来源
Translate

无论您使用哪种流行的标准,呈现页面的任何内容都会如此。 XHTML更加严格,可能“更好”,但是我看不出使用一种标准比另一种标准能带来什么好处。

来源
Translate

每次我都为XHTML Strict而努力。我坚信HTML应该更像XML。如果您知道XML并且W3的验证器始终将您指定在正确的轨道上,那么验证它并不难。

XHTML 2.0正朝着W3长期以来的目标-语义网迈进。对我来说,XHTML 2.0的最大好处是,Web上的每个符合标准的页面都可以理解为内容,也可以理解为一篇文章(因为页面就是文档),因为它们都适用于同一标准。然后,您将能够构建以完全不同的方式呈现内容的解释器(即浏览器)-字面上有数以千计的想法在这里等待着。

来源
Translate

如果要以HTML兼容的方式使用XHTML 1.0,那就很好。但是,请注意,W3C验证器和XHTML DTD对MIME类型以及它们之间的浏览器行为如何不同(如<map>名称/ id匹配)一无所知。 DTD也不知道浏览器如何支持某些元素(例如<embed>)。

这意味着XHTML DTD和验证器不会反映现实,而试图符合现实是没有意义的。

如果您只想使用XHTML,以便可以使用/>(其中html兼容)关闭某些元素,则只需使用HTML5标记(这样浏览器就处于完全标准模式)。 HTML5允许以HTML兼容的方式使用/>(与在text / html中使用XHTML 1.0标记时必须使用的HTML兼容方式相同)。然后,坚持使用浏览器中有效的方法(您比某些DTD更好地了解)。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8"/>
        <title></title>
    </head>
    <body>
        <p>Line1<br/>Line2</p>
        <p><img src="" alt="blank"/></p>
        <p><input type="text"/></p>
        <p><embed type="application/x-something" src=""/></p>
    </body>
</html>

然后,使用http://validator.nu/至少确保其格式正确。

来源
Translate

如果您拥有像其他任何XML文档一样生成XHTML的工具,请使用XHTML。但是,当您只使用纯文本模板,文本串联等时,可以使用旧的HTML 4.01。

浏览器现在开始支持这个已有10年历史的标准。

重要:生成XML时避免被称为bozo

来源
Translate

就个人而言,我更喜欢XHTML 1.0 Transitional。

XHTML是基于XML的,因此它可以简化解析,并且您还可以使用大多数IDE的XML组件以编程方式查询和插入内容。

相较于通常可以是PITA的“严格”,“过渡”不像“严格”那么严格。过渡性与严格性的比较

1.0比1.1更“兼容”,而1.1似乎仍在发展中。

来源
Translate

我的目标是XHTML 1.0 Trans。最好保持一致,这样,当浏览器中的错误被修复时,您就不会突然不停地试图找出实际需要更改的内容。

在我看来,1.1很烂,而2.0已被砸烂给史密斯:我真的需要/想要一个页眉/页脚标签吗?

来源
Translate

我认为使用XHTML还是纯HTML都不重要。最终目标是通过可预测的渲染降低维护成本并快速开发。只要您具有验证代码,就可以通过使用xhtml或html来获得它。我什至听说过最好以快速模式为目标,因为新版本的浏览器不会更改快速模式,因此维护很容易。

最后,由于充分的理由,所有这些都变成了标签汤,因为让Web应用程序开发人员编写无错误的html意味着要求他们编写无错误的代码。验证程序没有帮助,因为它们仅验证初始页面视图。这也是为什么我从未见过xhtml的要点用作静态站点以外的任何内容的xml的原因。由于xml令人震惊,Web应用程序开发人员需要提供服务的傲慢程度。

来源
Translate

HTML 4.0严格或ISO HTML。

来源