XML之dtd定义属性
用dtd定义属性
*语法 : <!ATTLIST 元素名称
属性名称 属性类型 属性的约束
>
*属性类型
-CDATA:字符串
-枚举:只能在一定的范围内出现值,但是只能每次出现其中的一个
**(aa|bb|cc):指的是属性值是这个范围内的
-ID :值只能是字母或者下划线开头
-<ATTLIST name
ID3 ID #REQUIRED
>
*属性的约束
-#REQUIRED:属性必须存在
-IMPLIED:属性可有可无
-FIXED:表示一个固定的值 #FIXED "AAA"
-属性的值必须是设置的这个固定的值
-<!ATTLIST sex
ID4 CDATA #FIXED "陌上人"
>
-直接值
*不写属性,使用直接值
*写了属性,使用设置那个
<!ATTLIST school
school CDATA "明镜亦非台"
>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE person [<!ELEMENT person (name+,age?,sex*,birthday,school)> <!ELEMENT name (#PCDATA)> <!ATTLIST name ID3 ID #IMPLIED > <!ELEMENT age (#PCDATA)> <!ATTLIST age ID2 (最帅|和丑沾不上边|舍我其谁) #REQUIRED > <!ELEMENT sex (#PCDATA)> <!ATTLIST sex ID4 CDATA #FIXED "陌上人" > <!ELEMENT birthday (#PCDATA)> <!ATTLIST birthday ID1 CDATA #REQUIRED > <!ELEMENT school (#PCDATA)> <!ATTLIST school ID5 CDATA "明镜亦非台" > ]> <person> <!-- 属性可有可无但属性值必须以字母或者下划线开始 --> <name ID3="A1">张三</name> <name>李四</name> <!-- 指的是属性值必须是属性类型中的一种 --> <age ID2="舍我其谁">最帅</age> <!-- 属性值必须是陌上人 --> <sex ID4="陌上人">为了明天更美好的生活</sex> <sex ID4="陌上人">果子冲鸭</sex> <birthday ID1="AB">啦啦啦</birthday> <!-- 即使不写属性名也不会报错,默认属性值为明镜亦非台 写了之后也可以再次设置属性值 --> <school ID5="菩提本无树">一任群芳妒,俏也不争春</school> </person>