DTD - 属性
发布日期:2021-05-10 03:50:40 浏览次数:25 分类:精选文章

本文共 860 字,大约阅读时间需要 2 分钟。

在DTD中,属性的声明与内容模型的定义紧密结合,主要通过ATTLIST声明来实现。以下是关于DTD属性声明的详细说明。

属性声明语法

ATTLIST声明用于定义元素的属性,语法格式如下:

  • element-name:指定元素名称。
  • attribute-name:属性名称。
  • attribute-type:属性类型,可能包括:
    • CDATA:表示属性值为字符数据。
    • (en1|en2|...):表示属性值必须从给定的枚举列表中选择一个。
    • ID:表示属性值必须是唯一的ID。
    • IDREF:表示属性值必须是另一个元素的ID。
    • IDREFS:表示属性值必须是其他ID的列表。
    • NMTOKEN:表示属性值必须是一个合法的XML名。
    • NMTOKENS:表示属性值必须是合法的XML名的列表。
    • ENTITY:表示属性值是一个实体引用。
    • ENTITIES:表示属性值是实体引用列表。
    • NOTATION:表示属性值是一个符号名称。
    • xml:表示属性值是一个预定义的XML值。

默认属性值

默认属性值可以通过以下方式指定:

  • #REQUIRED:表示属性值是必需的。
  • #IMPLIED:表示属性值不是必需的。
  • #FIXED "value":表示属性值是一个固定的字符串值。

示例

DTD示例

]>

XML示例

如果没有指定默认值,width属性的默认值会是0

#REQUIRED示例

DTD

]>

XML

如果不使用number属性,XML解析器会报告错误。

#IMPLIED示例

DTD

]>

XML

如果contact元素没有fax属性,属性不会被视为错误。

#FIXED示例

DTD

]>

XML

如果尝试使用company="W3Schools",XML解析器会报告错误。

枚举属性值

如果希望属性值只能从预定义的列表中选择,可以使用枚举类型。

DTD

]>

XML

这样可以确保type属性只能是checkcash

通过以上方法,可以在DTD中有效地声明属性,并对属性的使用规则进行约束。

上一篇:Rust环境配置
下一篇:DTD - 实体

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年05月12日 01时08分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章