2012-04-20 179 views
1

當驗證我的頁面上,W3-驗證給我一個錯誤在我的代碼每HTML5有效的命名空間的標記前綴

<tag addthis:title="AddThis share title" /> 

屬性。如何讓這些屬性對HTML5有效,以便頁面驗證?我需要這些標籤,所以addthis使用正確的標題爲我的共享鏈接,所以我不能擺脫他們...

回答

1

你不能使它們有效。不在HTML中,不在XHTML中。 HTML5中允許的唯一有效自定義屬性啓動「數據 - 」。

你可以使你的標記有效的HTML5 +東西或XHTML5 +的東西,但得到一個驗證程序來檢查這是一個不平凡的任務。

+0

實際上,只要您正確地將名稱空間聲明爲非HTML名稱空間,則在XHTML中它們是有效的。然而,'tag'元素是無效的,它應該在另一個命名空間中。請參閱http://www.w3.org/TR/xhtml1/#well-formed – Abel 2013-05-23 07:10:27

+0

@Abel - 請引用任何HTML或XHTML規範中的說明它們是有效的。 – Alohci 2013-05-23 07:14:52

+0

我在回答時已經更新了我的評論;)。另外,在HTML5中,允許使用另外兩個命名空間MathML和SVG。 – Abel 2013-05-23 07:15:27

4

我不得不假設「addthis」是一個XML命名空間; html標籤是否聲明類似<html xmlns:addthis="..">?如果不是,它將不會驗證,因爲該文檔的名稱空間未定義。如果是這樣,它將不會驗證,因爲「addthis」不是標準名稱空間。

參見:「HTML語法不支持命名空間聲明,即使在外國元素」 http://www.w3.org/TR/2011/WD-html5-20110405/namespaces.html

混淆你的煩惱是事實

檢出http://www.w3.org/TR/2011/WD-html5-20110405/syntax.html#elements-0cdr:license示例。

不幸的是(在你的情況下)HTML5不是XML,所以XML名稱空間不一定在HTML5中有效。你唯一真正的選擇是忽略驗證錯誤。

不無關係問題:HTML5 validator failing on Facebook OpenGraph XML Namespace xmlns:og

哦,當你在那裏,<tag />語法也是XML, HTML5。