我正在尝试扩展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不是我的强项。
答案 0 :(得分:1)
除了缺少</html>
结束标记之外,您的第二个示例是正确的。随着它的添加,它为我解析好。到底是什么“晃动”?
ATTLIST
声明必须确实包含在DTD中,其内部子集位于DOCTYPE
声明中的方括号内。
(你希望用这个实现什么?浏览器不关心,即使它们以原生application/xhtml+xml
模式运行。在正常text/html
标签汤模式下,DTD内部子集只会混淆它们。)