定义DTD ATTLIST以允许新属性没有值?

时间:2013-09-12 09:28:51

标签: xml dtd html4

我有以下内容:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"

    [
        <!ATTLIST a extra-attr CDATA #IMPLIED>
    ]>

<html>
  <head>
    <title>Title</title>
  </head>
  <body>
    <a extra-attr>hola</a>
  </body>
</html>

我需要的是:

  1. 存在的属性值:<a extra-attr="value"></a>应该有效
  2. 属性值不存在:<a extra-attr></a> 有效

1 个答案:

答案 0 :(得分:3)

如上所述here

  

裸字属性违反了XML规范。 XHTML规范   说这是围绕HTML具有裸字的情况的最佳方式   要使用的属性(选中,选中,多个等)   selected =“selected”,checked =“checked”,依此类推。 SGML HTML   解析器(Web浏览器)将忽略它给出的值和XML   XHTML解析器(良好的Web浏览器)将确认该值,并忽略   它。根据选择=“已选择”的文件是有效的XHTML   W3C的验证程序。