阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DTD – 元素概述

38次阅读
没有评论

共计 1559 个字符,预计需要花费 4 分钟才能阅读完成。

导读 DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。在一个 DTD 中,元素通过元素声明来进行声明。

DTD – 元素概述

声明一个元素

在 DTD 中,XML 元素通过元素声明来进行声明。元素声明使用下面的语法:

<!ELEMENT element-name category>
或
<!ELEMENT element-name (element-content)>
空元素

空元素通过类别关键词 EMPTY 进行声明:

<!ELEMENT element-name category>
或
<!ELEMENT element-name (element-content)>
只有 PCDATA 的元素

只有 PCDATA 的元素通过圆括号中的 #PCDATA 进行声明:

<!ELEMENT element-name (#PCDATA)>
实例:
<!ELEMENT from (#PCDATA)>
带有任何内容的元素

通过类别关键词 ANY 声明的元素,可包含任何可解析数据的组合:

<!ELEMENT element-name ANY>
实例:
<!ELEMENT note ANY>
带有子元素(序列)的元素

带有一个或多个子元素的元素通过圆括号中的子元素名进行声明:

<!ELEMENT element-name (child1)>
或
<!ELEMENT element-name (child1,child2,...)>
实例:
<!ELEMENT note (to,from,heading,body)>

当子元素按照由逗号分隔开的序列进行声明时,这些子元素必须按照相同的顺序出现在文档中。在一个完整的声明中,子元素也必须被声明,同时子元素也可拥有子元素。”note” 元素的完整声明是:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to      (#PCDATA)>
<!ELEMENT from    (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body    (#PCDATA)>
声明只出现一次的元素
<!ELEMENT element-name (child-name)>
实例:
<!ELEMENT note (message)>
声明最少出现一次的元素
<!ELEMENT element-name (child-name+)>
实例:
<!ELEMENT note (message+)>

上面的例子中的加号(+)声明了:message 子元素必须在 “note” 元素内出现至少一次。

声明出现零次或多次的元素
<!ELEMENT element-name (child-name*)>
实例:
<!ELEMENT note (message*)>

上面的例子中的星号(*)声明了:子元素 message 可在 “note” 元素内出现零次或多次。

声明出现零次或一次的元素
<!ELEMENT element-name (child-name?)>
实例:
<!ELEMENT note (message?)>

上面的例子中的问号 (?) 声明了:子元素 message 可在 “note” 元素内出现零次或一次。

声明 ” 非 …/ 即 …” 类型的内容
实例:
<!ELEMENT note (to,from,header,(message|body))>

上面的例子声明了:”note” 元素必须包含 “to” 元素、”from” 元素、”header” 元素,以及非 “message” 元素即 “body” 元素。

声明混合型的内容
实例:
<!ELEMENT note (#PCDATA|to|from|header|message)*>

上面的例子声明了:”note” 元素可包含出现零次或多次的 PCDATA、”to”、”from”、”header” 或者 “message”。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1559字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中