深圳房屋编码查询:关于MXL关键字的问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/03 03:00:12
我最近在学XML
里面有些东西一直都搞不明白,向各位讨教
XML里面有一个例子是这样的
---------------------------------------------
<!DOCTYPE 家庭 (人+,家电*)>
<!ELEMENT 人 EMPTY>
<!ELEMENT 家电 EMPTY>
<!ATTLIST 人
名字 CDATA #REQUIRED
性别 CDATA #REQUIRED
年龄 CDATA #REQUIRED
>
<!ATTLIST 家电
名称 CDATA #REQUIRED
数量 CDATA #REQUIRED
说明 CDATA #REQUIRED
>....
-----------------------------------------
这一个例子中#REQUIRED是什么?必需的..必需的是一个关键字么?
还是一种约束?
另有一个例子,我现在想知道的就是它和下面这个例子 的区别
==============================================
<!ELEMENT EMAIL(INBOX,OUTBOX)>
<!ELEMENT EMAILITEM(FROM?,TO?,SUBJECT?,RECEIVED?,SEND?...)>
<!ATTLIST EMAILITEM
STATUS(已读|未读|已回复|未回复) #IMPLIED>
<!ELEMENT FROM (#PCDATA)>
<!ELEMENT INBOX (EMAILITEM+)>
<!ELEMENT OUTBOX (EMAILITEM+)>
<!ELEMENT RECEIVED (#PCDATA)>
<!ELEMENT SEND (#PCDATA)>........
===========================================
两个都是DTD内部文件
可是为什么有的#PCDATA用()括起来
而另外一些却不用呢?
这有什么区别?
还有#REQUIRED到底有什么含义?也是用来定义和约束的么?