我目前正在尝试为XML文件编写DTD。
在xml中我遇到过这类事情:
<CHAMP NAME="JBRTHDTC" DOMAIN="DM" DB="YES:CRF" TYPE="JOUR" FORCED="YES" AFFICHE="YES">
<![CDATA[ Date de naissance: ]]>
<MESSAGE><![CDATA[Date de naissance (Jour)]]></MESSAGE>
</CHAMP>
将CDATA和xml元素放在另一个中是否可以?
如果是这样,我如何设法在DTD中编写它?像
ELEMENT CHAMP (MESSAGE?|CDATA??)>
答案 0 :(得分:0)
您必须将CHAMP
声明为混合内容模型。
这意味着CHAMP
可以包含#PCDATA
(解析后的字符数据)或MESSAGE
。 (在混合内容模型中,您仍然可以拥有CDATA
个部分。)
必须以某种方式声明,因此您将无法限制MESSAGE
的出现次数。任何顺序都是零{或} #PCDATA
或MESSAGE
。
示例:
<!DOCTYPE CHAMP [
<!ELEMENT CHAMP (#PCDATA|MESSAGE)*>
<!ATTLIST CHAMP
NAME CDATA #IMPLIED
DOMAIN CDATA #IMPLIED
DB CDATA #IMPLIED
TYPE CDATA #IMPLIED
FORCED CDATA #IMPLIED
AFFICHE CDATA #IMPLIED>
<!ELEMENT MESSAGE (#PCDATA)>
]>
<CHAMP NAME="JBRTHDTC" DOMAIN="DM" DB="YES:CRF" TYPE="JOUR" FORCED="YES" AFFICHE="YES">
<![CDATA[ Date de naissance: ]]>
<MESSAGE><![CDATA[Date de naissance (Jour)]]></MESSAGE>
</CHAMP>