如何在XHTML中使用RDFa“词汇”

时间:2015-07-16 17:48:58

标签: xhtml rdfa

我正在尝试为我的作业完成此(简单)网页,并且需要通过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/">

我做错了什么?

2 个答案:

答案 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验证器已经过时且不应再使用了。