我正在尝试为我的作业完成此(简单)网页,并且需要通过http://validator.w3.org/
它还需要使用RDFa。但无论我做什么,RDFa vocab
都不会被验证器传递。
这是我得到的:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML+RDFa 1.0//EN' 'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd'>
<body vocab="http://xmlns.com/foaf/0.1/">
我做错了什么?
答案 0 :(得分:3)
vocab
属性在RDFa 1.1中定义,但使用您当前的DOCTYPE,您使用的是RDFa 1.0。
您的选择:
继续使用XHTML 1.1和RDFa 1.0,并使用xmlns:…
属性代替无效的vocab
属性:
<body xmlns:foaf="http://xmlns.com/foaf/0.1/">
(然后你必须使用前缀foaf:
。)
继续使用XHTML 1.1,但switch继续使用支持RDFa 1.1的DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
切换到XHTML5,默认情况下支持RDFa 1.1:
<!DOCTYPE html>
答案 1 :(得分:2)
你真的必须使用XHTML吗?我建议使用HTML5 doctype。 http://www.w3.org/TR/html-rdfa/有一些例子。
另外,请确保使用W3C的NU验证器:https://validator.w3.org/nu/ - 您使用的NU验证器已经过时且不应再使用了。