对于嵌套子元素,DTD中如何定义?(50分)

  • 主题发起人 主题发起人 serial0
  • 开始时间 开始时间
S

serial0

Unregistered / Unconfirmed
GUEST, unregistred user!
如果对于下列的xml文件,对应的DTD应该如何定义?
(主要是嵌套的子元素“员工”与元素“单位”之间,如何定义?)
<单位列表>
<单位>
<单位名>单位1</单位名>
<员工>
<员工名>tom<员工名>
<员工>
<员工>
<员工名>mary<员工名>
<员工>
</单位>
<单位>
<单位名>单位2</单位名>
<员工>
<员工名>jack<员工名>
<员工>
</单位>
</单位列表>
 
[blue]
代码:
<?xml version="1.0" encoding="GB2312"?>
<!ELEMENT 单位列表 (单位+)>
<!ELEMENT 单位 (单位名,员工*)>
<!ELEMENT 单位名 (#PCDATA)>
<!ELEMENT 员工 (员工名)>
<!ELEMENT 员工名 (#PCDATA)>
[/blue]
[?]你说的嵌套是什么意思?
 
我在天极网上看一篇关于DTD的文章。文章中对于下面这种情况
<员工>
<员工名>mary<员工名>
<员工>
是把<员工名>归为<员工>的属性来处理。
因此,我不知道如果按照这种方式来做的话,那<员工>这个元素,是如何嵌入<单位>这个元素中。
 
如果把<员工名>归为<员工>的属性来处理
那么XML应该是这样的
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 单位列表 SYSTEM "C:/temp/test1.dtd">
<单位列表>
<单位 单位名="AAA">
<员工 员工名="Mary"/>
<员工 员工名="Bob"/>
</单位>
</单位列表>
对应的DTD:
<?xml version="1.0" encoding="GB2312"?>
<!ELEMENT 单位列表 (单位+)>
<!ELEMENT 单位 (员工*)>
<!ATTLIST 单位 单位名 CDATA #REQUIRED>
<!ELEMENT 员工 EMPTY>
<!ATTLIST 员工 员工名 CDATA #REQUIRED>
 
多谢指点!!!
 

Similar threads

D
回复
0
查看
941
DelphiTeacher的专栏
D
D
回复
0
查看
880
DelphiTeacher的专栏
D
D
回复
0
查看
956
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部