XML之定义属性
属性类型:
CDATA:字符串
ELEMENT birthday (#PCDATA)>
ATTLIST birthday ID1 CDATA #REQUIRED>
<birthday ID1="A">2022-11-11birthday>
枚举:多选一
ELEMENT age (#PCDATA)>
ATTLIST age ID2 (AA|BB|CC) #REQUIRED>
<age ID2="AA">18age>
ID:值只能是字母或者下划线开头
ELEMENT name (#PCDATA)>
ATTLIST name ID3 ID #REQUIRED>
<name ID3="_AAA">zhangsanname>
属性的约束:
#REQUIRED:属性值必须存在
ELEMENT name (#PCDATA)>
ATTLIST name ID3 ID #REQUIRED>
<name >zhangsanname>
如果没有设置属性值:
显示出错;
#IMPLIED:属性可有可无
ELEMENT age (#PCDATA)>
ATTLIST age ID2 (AA|BB|CC) #IMPLIED>
<age>18age>
没有设置属性值:
没有显示出错;
#FIXED:表示一个固定的值 #FIXED "QQ"
- 属性的值必须是设置的这个值
ELEMENT sex (#PCDATA)>
ATTLIST sex ID4 CDATA #FIXED "QQ">
<sex ID4="QQ">sex>
属性不设置为QQ:
显示出错。
直接赋值:直接在属性
ELEMENT school (#PCDATA)>
ATTLIST school ID5 CDATA "RR">
<school ID5="RR">222school>
如果不设置属性值:
没有错误;
如果不对school标签设置属性也不会报错,school标签属性的默认值就位"RR",如果为school标签属性设置了值,那么属性的值就为设置的值。
汇总:
<?xml version="1.0" encoding="UTF-8"?>
DOCTYPE person [
>
ELEMENT name (#PCDATA)>
ATTLIST name ID3 ID #REQUIRED>
ELEMENT age (#PCDATA)>
ATTLIST age ID2 (AA|BB|CC) #IMPLIED>
ELEMENT sex (#PCDATA)>
ATTLIST sex ID4 CDATA #FIXED "QQ">
ELEMENT school (#PCDATA)>
ATTLIST school ID5 CDATA "RR">
ELEMENT birthday (#PCDATA)>
ATTLIST birthday ID1 CDATA #REQUIRED>
]>
<person>
<name ID3="_AAA">zhangsanname>
<age>18age>
<sex ID4="QQ">sex>
<school>222school>
<birthday ID1="A">2022-11-11birthday>
person>