2016-05-15 89 views
2

我使用的API validator.nu:驗證XHTML代碼與validator.nu web服務

https://github.com/validator/validator/wiki/Service:-Input:-POST-body

我想按照嚴格或過渡XHTML文檔類型強制驗證:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

在文檔中,他們要求發送請求標頭: Content-type:text/html; charset = utf-8

我認爲XHTML是一種類似於XML的代碼?

在發送包含無效標記的內容(如<)之後>(無結束「/」),Web服務不返回任何錯誤。我認爲這是HTML5的代碼。

如何驗證XHTML文檔?

回答

1

有兩個部分你的問題:

我想按照嚴格或過渡XHTML文檔類型

你不能強制驗證。 Validator.nu does not support DTD based validation。它是(X)HTML 5驗證程序,而不是基於DTD的驗證程序。支持DTD檢查的已過時的W3C validator provides an API以及基於DTD的其他XML驗證器均可用。

但是,您應該移至(X)HTML 5。它比XHTML 1.0更能反映瀏覽器實際支持的內容。

在文檔中,他們要求發送請求標頭: Content-type:text/html; charset = utf-8

我認爲XHTML是一種類似於XML的代碼?

該文件確實表明,這只是一個示例。XHTML文檔的內容類型(包括XHTML 5文檔)爲application/xhtml+xml

這應該會觸發XML解析,因此<br>應該會觸發錯誤。但它仍然會檢查HTML 5規範,而不是XHTML DTD。

+0

它的工作,但我也得到了一個意想不到的錯誤「錯誤的價值」內容類型「的屬性」http-equiv「在XHTML元素」meta「爲

+0

@Simohammedhttc - 爲什麼它是意外的?你已經對文檔的內容類型做了兩個聲明,並且它們不匹配 – Quentin

+0

我必須更改http- equiv,http://stackoverflow.com/questions/6320084/why-is-meta-http-equiv-content-script-type-mostly-unused –

0

關注這個:

  1. 轉到:W3C Markup Validation Service
  2. 通過URI選擇驗證文件上傳直接輸入
  3. 然後在更多選項選擇UTF-8進行字符編碼和 XHTML嚴格爲文檔類型。
  4. 然後點擊檢查

您將獲得XHTML Strict輸出。

+0

我正在以編程方式查詢變頻器。 –