A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我是楠楠 黑马粉丝团   /  2019-3-26 10:27  /  863 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【郑州校区】DTD的细节

1.1.1 语法细节
在DTD文档中使用ELEMENT关键字来声明一个XML元素。
• 语法:<!ELEMENT 元素名称 使用规则>
使用规则:
• (#PCDATA):指示元素的主体内容只能是普通的文本.(Parsed Character Data)
• EMPTY:用于指示元素的主体为空。比如<br/>
• ANY:用于指示元素的主体内容为任意类型。
• (子元素):指示元素中包含的子元素
• 定义子元素及描述它们的关系:
– 如果子元素用逗号分开,说明必须按照声明顺序去编写XML文档。
• 如: <!ELEMENT FILE (TITLE,AUTHOR,EMAIL)
– 如果子元素用"|"分开,说明任选其一。
• 如:<!ELEMENT FILE (TITLE|AUTHOR|EMAIL)
– 用+、*、?来表示元素出现的次数
• 如果元素后面没有+*?:表示必须且只能出现一次
• +:表示至少出现一次,一次或多次
• *:表示可有可无,零次、一次或多次
• ?:表示可以有也可以无,有的话只能有一次。零次或一次
1.1.2 定义属性
• 在DTD文档中使用ATTLIST关键字来为一个元素声明属性。
• 语法:
                <!ATTLIST 元素名
                        属性名1 属性值类型 设置说明
                        属性名2 属性值类型 设置说明
                        …
                >
• 属性值类型:
– CDATA:表示属性的取值为普通的文本字符串
– ENUMERATED (DTD没有此关键字):表示枚举,只能从枚举列表中任选其一,如(鸡肉|牛肉|猪肉|鱼肉)
– ID:表示属性的取值不能重复
• 设置说明
– #REQUIRED:表示该属性必须出现
– #IMPLIED:表示该属性可有可无
– #FIXED:表示属性的取值为一个固定值。语法:#FIXED "固定值"
直接值:表示属性的取值为该默认值
1.1.3 实例代码1
[AppleScript] 纯文本查看 复制代码
<!ATTLIST 商品

类别 CDATA #REQUIRED

颜色 CDATA #IMPLIED

>

<?xml version = "1.0" encoding="GB2312" standalone="yes"?>

<商品 类别="服装"颜色="黄色" />
1.1.4 实例代码2
[AppleScript] 纯文本查看 复制代码
<?xml version = "1.0" encoding="GB2312" standalone="yes"?>

<!DOCTYPE 购物篮 [

   <!ELEMENT 购物篮 (肉+)>

<!ELEMENT 肉 EMPTY>

<!ATTLIST 肉 品种 ( 鸡肉 | 牛肉 | 猪肉 | 鱼肉 ) "鸡肉">

]>

<购物篮>

<肉 品种="鱼肉"/>

<肉 品种="牛肉"/>

<肉/>

</购物篮>
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马