2011-05-01 56 views
4

你好我驗證我對源HTML 5與標題標籤Html5的驗證錯誤

但我得到這個錯誤,現在已經知道如何解決這個問題:

<meta charset="utf-8"><title>Rode kruis Vrijwilligers applicatie</title><link href="/css/blitzer/jquery-ui-1.8.11.custom.css" media="screen" rel="stylesheet" type="text/css" > 

這是錯誤:

XHTML元素標題不允許作爲此上下文中XHTML元素元的子元素。 (抑制來自該子樹的進一步錯誤。)

任何想法的?

+0

有一個開放的bug進行驗證對於這個問題:http://www.w3.org/Bugs/Public/show_bug.cgi?id=9967。僅僅因爲html元素上存在xmlns屬性,就沒有理由切換到XHTML驗證模式,但似乎這就是驗證器的作用。 – Alohci 2011-05-01 20:53:05

+0

標題標籤不屬於元標記...... – 2012-07-17 20:03:31

回答

5

在XHTML是嚴格的關於XML的規則,每一個被打開的標籤應該被嵌套和正確關閉,標籤如<area />,<base />,<basefont />,<br />,<hr />,<input />,<img />,<link />,<meta />只有用帶有屬性,所以你必須用「/>」,而不是關閉它們「>」 在XML這是你如何打開,並在相同的標籤關閉一個標籤,這是你的HTML應該是什麼樣子:

<!doctype html> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <title>Rode kruis Vrijwilligers applicatie</title> 
    <link href="/css/blitzer/jquery-ui-1.8.11.custom.css" media="screen" rel="stylesheet" type="text/css" > 
    </head> 
    <body> 
    Test. 
    </body> 
</html> 
3

您需要關閉meta標籤 - 它是一個空標籤:

<meta charset="utf-8" /> 

XHTML是一種XML方言,所以空元素應該關閉(所以<br>是無效的XHTML,但<br />是)。

+1

只有當您聲明HTML5文檔符合xhtml標準時,纔會要求使用哪個(如果我沒有弄錯)。 HTML5本身並不要求你關閉這樣的標籤,雖然它可能仍然是一個好習慣。此外,在問題代碼示例中,'link'標籤需要同樣關閉。 – Jeroen 2011-05-01 19:25:08

+0

這是我的doctype聲明:<!DOCTYPE html> – sanders 2011-05-01 19:28:13

+1

@sanders - 看起來像您將專門聲明您的HTML爲XML,XHTML(請參閱xmlns屬性)。 – Oded 2011-05-01 19:29:16

2

正如第一個回答(也應該解決問題)的評論中提到的,另一種方法是使用純HTML5而不需要XML。例如,以下代碼將得到驗證:

<!doctype html><html><head> 
<meta charset="utf-8"><title>Rode kruis Vrijwilligers applicatie</title><link href="/css/blitzer/jquery-ui-1.8.11.custom.css" media="screen" rel="stylesheet" type="text/css" > 
</head><body>Test.</body></html> 

中間一行是原始代碼。

驗證直接輸入此: http://validator.w3.org/