在一个DTD中,XML元素通过DTD元素声明来进行声明。
声明一个元素
在DTD中,XML元素通过元素声明来进行声明。元素声明使用下面的语法:
<!ELEMENT 元素名称 类别>
或者
<!ELEMENT 元素名称 (元素内容)>
空元素
空元素通过类别关键词EMPTY进行声明:
<!ELEMENT 元素名称 EMPTY>
例子:
<!ELEMENT br EMPTY>
XML例子:
<br />
只有PCDATA的元素
只有PCDATA的元素通过圆括号中的#PCDATA进行声明:
<!ELEMENT 元素名称 (#PCDATA)>
例子:
<!ELEMENT from (#PCDATA)>
带有内容的元素
通过类别关键词ANY声明的元素,可包含任何可解析数据的组合:
<!ELEMENT 元素名称 ANY>
例子:
<!ELEMENT note ANY>
带有子元素(序列)的元素
带有一个或多个子元素的元素通过圆括号中的子元素名进行定义:
<!ELEMENT 元素名称 (子元素名称)>
或者
<!ELEMENT 元素名称 (子元素名称,子元素名称,.....)>
例子:
<!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 note (message)>
上面的例子声明了:message子元素必须出现一次,并且必须在"note"元素中出现一次。
声明最少出现一次的元素
<!ELEMENT 元素名称 (子元素名称 )>
例子:
<!ELEMENT note (message )>
上面的例子中的加号声明了:message子元素必须在"note"元素内出现至少一次。
声明出现零次或多次的元素
<!ELEMENT 元素名称 (子元素名称*)>
例子:
<!ELEMENT note (message*)>
上面的例子中的星号声明了:子元素message可在"note"元素内出现零次或多次。
声明出现零次或一次的元素
<!ELEMENT 元素名称 (子元素名称?)>
例子:
<!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"。
关键词:
【推荐给好友】【关闭】最新五条评论
查看全部评论
评论总数 0 条您的评论
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




