xhtml验证问题 - omittag和系统标识符

时间:2010-02-24 18:58:44

标签: xhtml validation

我尝试验证我的代码,但是我收到了一些错误,我需要帮助:

我得到了一些错误:

  1. 省略了“param”的结束标记,但指定了OMITTAG NO
  2. 无法为常规实体“颜色”
  3. 生成系统标识符
  4. 未定义一般实体“颜色”且没有默认实体
  5. 4 引用未被REFC分隔符终止

    >     > <object
    >     > classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
    >     > codebase="http://macromedia.com/cabs/swflash.cab#version=6,0,0,0"
    >     > id="flaMovie" width="400"
    >     > height="235">
    >     >             <param name="movie" value="swf/test_movie_purple.swf">
    >     >             <param name="FlashVars" value="lan=<?php echo
    >     > $_SESSION['lan'];?>&color=<?php echo
    >     > $color;?>">
    >     >             <param name="quality" value="medium">
    >     >             <param name="wmode" value="transparent">
    >     >             <embed src="swf/test_movie_purple.swf"
    >     > flashvars="lan=<?php echo
    >     > $_SESSION['lan'];?>&color=<?php echo
    >     > $color;?>" wmode="transparent"
    >     > width="400" height="235"
    >     > type="application/x-shockwave-flash"></embed></object>
    

    有人可以帮我解决这个问题吗?我疯了似的..

2 个答案:

答案 0 :(得分:1)

  

“param”的结束标记省略

在HTML兼容的XHTML中,始终为空的元素(如<img><param>)必须使用自动关闭语法:

<param name="movie" value="swf/test_movie_purple.swf" />

(请注意/。所有其他param相同。)

  

无法生成一般实体“颜色”[和其他错误]

的系统标识符

您忘记在网址&之前对color=...字符进行编码。它应该是&amp;color=...

此外,HTML4和XHTML1中的旧学校<embed>元素未定义,因此无论如何都不会进行验证。有关Flash嵌入方法的一些讨论,请参阅this question

答案 1 :(得分:1)

嗯,对于颜色,你试图让HTML验证器验证PHP,这永远不会起作用。尝试验证代码的编译版本(在PHP执行并填写变量之后)。

对于参数结束标记,请确保您的参数编码如下:<param ... />