1

我正在尝试解决此验证问题:

一般实体“trk”未定义,没有默认实体和对无法为其生成系统标识符的实体“trk”的引用。

这是我的代码:

<a href="http://www.linkedin.com/profile/view?id=189019016&trk=tab_pro" 
   class="thumbnail">  
</a>

谁能看到问题可能是什么?

4

3 回答 3

2

Zenith 的回答指出了一般问题——&表示 HTML 中转义字符序列的开始,因此验证器试图将其解析trk为字符实体(事实并非如此)。&s 需要被编码为实体本身以防止这种混淆。

在严格的 XHTML 中,这些后面需要跟着 unicode 数字条目(而不是像,等这样&#的简写形式),所以. 当我难过时,我经常使用这个参考表。amphellip&&#38;

因此,XHTML strict 的正确代码应该是:

<a href="http://www.linkedin.com/profile/view?id=189019016&#38;trk=tab_pro" 
   class="thumbnail">  
</a>
于 2013-03-05T14:51:53.480 回答
1

尝试将trk&之前的替换为&amp;

于 2013-03-05T14:44:11.157 回答
0

在经典 HTML 和 XHTML 中,&trk=不允许使用 like 构造,因为它被正式解释为实体引用,并且不存在这样的实体。这实际上只是一种形式,因为浏览器不会那样做(或者在本世纪没有表现过),但是错误消息在验证时很烦人。

由于旨在处理这种常见情况的相当特殊的规则,HTML5 允许构造。但是,目前 HTML5 验证器在这里有一个错误,他们将其报告为错误。有一个验证器.nu 软件的实验版本已修复此错误:http: //qa-dev.w3.org :8888/

将来,您应该能够使用此类构造而不会出现验证错误,如果您使用<!doctype html>(当然,这可能会导致其他验证问题。

于 2013-03-05T15:11:59.340 回答