我在哪里可以找到示例XHTML5源代码?

时间:2010-06-02 14:39:22

标签: html html5

我在哪里可以找到样本 X HTML 5页面?我主要想知道是否可以将XHTML 5与其他XML语言混合搭配,就像XHTML 1一样。例如,在XHTML 5中有效吗?

<!DOCTYPE html PUBLIC "WHAT SHOULD BE HERE?" 
          "WHAT SHOULD BE HERE?">
<html xmlns="WHAT SHOULD BE HERE?"
      xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
  <title><ui:insert name="title">Default title</ui:insert></title>
  <link rel="stylesheet" type="text/css" href="./css/main.css"/>
</head>

<body>

<div id="header">
    <ui:insert name="header">
        <ui:include src="header.xhtml"/>
    </ui:insert>
</div>


<div id="left">
  <ui:insert name="navigation" >
    <ui:include src="navigation.xhtml"/>
  </ui:insert>
</div>


<div id="center">
  <br />
  <span class="titleText"> <ui:insert name="title" /> </span>
  <hr />
  <ui:insert name="content">
    <div>
    <ui:include src="content.xhtml"/>  
    </div>
  </ui:insert>
</div>

<div id="right">
  <ui:insert name="news">
    <ui:include src="news.xhtml"/>
  </ui:insert>
</div>

<div id="footer">
  <ui:insert name="footer">
    <ui:include src="footer.xhtml"/>  
  </ui:insert>
</div>

</body>

</html>

提前致谢。

5 个答案:

答案 0 :(得分:7)

您根本不需要doctype。它们不是为处理命名空间而设计的,并且在XML中没有任何有用的用途。 (在HTML中,它们是进入标准模式所必需的。)如果您真的坚持使用它,无论出于何种原因,只使用<!DOCTYPE html>

至于命名空间:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets">

正如您已经在使用的那样,我认为。

如您所见,没有关于您正在使用的版本的信息。那是因为你不需要它。对于验证,您可以在UI中选择目标,浏览器从未查看过版本。也就是说,在浏览器中,没有HTML3.2或HTML4.01或HTML5,只有“HTML”,没有XHTML1.0,XHTML1.1或XHTML5,只有“XHTML”。今天,这些主要包括HTML4.01 / XHTML1.0和HTML5的某些部分,以及一些专有部分(尽管HTML5已经指定了大部分内容)。

答案 1 :(得分:2)

这是一个非常好的问题,涵盖W3C​​截至2012年底仍在处理的未解决问题:

关于DOCTYPE问题, DOCTYPE问题可能有新发展:截至 11月。 2012年12月12日,关于HTML语法的HTML5 Latest Editor's Draft州,在“8.1.1 DOCTYPE”部分中说明:

  1. “DOCTYPE是必需的序言[...]”=&gt; <!DOCTYPE html>
  2. “对于无法使用短DOCTYPE输出HTML标记的HTML生成器,可以插入DOCTYPE遗留字符串[...]”=&gt;如果绝对需要,可以使用<!DOCTYPE html SYSTEM "about:legacy-compat">(例如,通过XML生成器)
  3. “为了帮助作者从HTML4和XHTML1过渡,可以插入一个过时的允许DOCTYPE字符串[...]”=&gt;例如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">(或其他5个,见下文)
  4. 据我所知:

    • 所有3个表单都具有完全相同的含义:“此文档是HTML5”,无论具体的,合法,旧版PUBLIC文档类型是出于向后兼容的原因而使用
    • 使用其中一个必需(即使用第一个,除非您有充分的理由不这样做)

    除非进行最后一分钟的编辑,否则应将其纳入2012年11月8日的HTML5 W3C候选推荐标准。

    XHTML语法在这方面保持不变:“如果需要,XML文档可能包含DOCTYPE,但这不是必须符合此规范。”


    总结一下,从2012年11月8日开始,以下任何一项都有效

    <!DOCTYPE html>
    <!DOCTYPE html SYSTEM "about:legacy-compat">
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN">
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    

    • 任何其他doctype无效
    • 根本没有文档类型,HTML无效
    • 并且没有doctype仍然是XML的选项......

答案 2 :(得分:1)

最好的选择可能是HTML5规范section on XHTML,它主要是XML 1.0 5th edition specnamespaces spec。正如它所说的那样,XML中的HTML5没有定义的DOCTYPE,这是你问题的DOCTYPE部分的答案。它特别提到将HTML5与XML文档中的其他内容混合,因此这应该是您问题的这一部分的答案。

答案 3 :(得分:1)

  

例如,这个在XHTML 5中有效吗?

不,你也不能用XHTML 1做到这一点。一旦你开始做FOO + BAR文件,它们就不是有效的FOO或有效的BAR,只是两者的某种组合(可能符合DTD,因此是有效的FOO + BAR)

<!DOCTYPE html PUBLIC "WHAT SHOULD BE HERE?" 
      "WHAT SHOULD BE HERE?">

描述您正在使用的标记语言组合的自定义DTD。

混合名称空间时,通常最好忘记DTD。它无论如何都不会与HTML兼容,因此text/html是不可能的

<html xmlns="WHAT SHOULD BE HERE?"
       xmlns:ui="http://java.sun.com/jsf/facelets">

XHTML命名空间没有改变。这与其他所有版本的XHTML相同。

答案 4 :(得分:-2)

我担心没有XHTML5这样的东西。

你可以拥有真正的XHTML,使用其中一个经典的XHTML DOCTYPE(参见其他答案),或者你可以放入<!DOCTYPE html>一个,然后它主要验证,但它不再是完全XHTML。它只有在您将其视为HTML时才有效。

例如,这个文件

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
   <head><title>test</title></head>
   <body><p>&nbsp;</p></body>
</html>

仅在您提供.html分机时才有效。使用.xhtml,没办法。

你可能会认为保存为.html没什么大不了的,但不管文件的内容是什么,它都是HTML。然后你也可以抛弃XML声明和xmlns属性以及所有其他XHTML特性。