完整示例XHTML文档,显示如何定义其他属性

时间:2010-02-17 02:01:17

标签: xhtml attributes dtd

我正在尝试扩展xhtml文档以允许额外的属性。

在w3.org中,它提供了一个如下例子:

<!ATTLIST a
  myattr   CDATA        #IMPLIED
>

见:6.1。定义其他属性 - http://www.w3.org/TR/1999/xhtml-modularization-19990406/developing.html#s_dev_attrs

但我不知道该把这句话放在哪里。

我尝试过这样添加:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
    <!ATTLIST a
      myattr   CDATA        #IMPLIED
>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...
</head>
<body>
...
</body>

但是当我使用DOM获取文档时,会忽略额外的DTD语句。

我也尝试过:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [ 

    <!ATTLIST a
      myattr   CDATA        #IMPLIED
>
]>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    ...
    </head>
    <body>
    ...
    </body>

但这确实导致DOM摇摆不定。

所以如果有人能给我看一个定义了附加属性的示例xhtml文档,我会很感激。 (即可以验证的最小完整文档)

你可能已经猜到了...... xhtml不是我的强项。

1 个答案:

答案 0 :(得分:1)

除了缺少</html>结束标记之外,您的第二个示例是正确的。随着它的添加,它为我解析好。到底是什么“晃动”?

ATTLIST声明必须确实包含在DTD中,其内部子集位于DOCTYPE声明中的方括号内。

(你希望用这个实现什么?浏览器不关心,即使它们以原生application/xhtml+xml模式运行。在正常text/html标签汤模式下,DTD内部子集只会混淆它们。)