111,126
社区成员
发帖
与我相关
我的任务
分享DTD节点定义属性的基本方法:
1) 属性必须赋值,而且没有默认值。定义格式如下。
<!ATTLIST 节点名称 属性名称 属性类型#REQUIRED>
2) 属性可以赋值也可以不赋值,但是没有缺省值。使用格式如下。
<!ATTLIST 节点名称 属性名称 (A|B|C) #IMPLIED>
上面代码指明该属性没有缺省值,节点属性可以从A,B,C中任取一个。
3) 属性有固定的默认值,如果对该节点赋值只能与缺省值相同,使用语法如下。
<!ATTLIST 节点名称 属性名称 属性类型 #FIXED 缺省值>
下面是一个示例程序:
//-------------------FileName: AttrDTD.xml--------------------
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE students
[<!ELEMENT students (student)*>
<!ELEMENT student (name,age,course+,school?)>
<!ATTLIST student sno ID #REQUIRED>
<!ATTLIST student role CDATA #FIXED "student">
<!ELEMENT name (#PCDATA)>
<!ATTLIST name sex (Male|Female) #IMPLIED>
<!ELEMENT age (#PCDATA)>
<!ELEMENT course (#PCDATA)>
<!ELEMENT school (#PCDATA)>
<!ENTITY school "PKU">
]>
<students>
<student sno="_0010">
<name>Mark</name>
<age>23</age>
<course>English</course>
<course>Math</course>
</student>
<student sno="_0109" role="student">
<name sex="Male">Andy</name>
<age>19</age>
<course>Chinese</course>
<school>&school;</school>
</student>
</students>