2014-11-24 2 views
1

현재 XML 파일 용 DTD를 쓰려고합니다.<!{CDATA[]]> 및 <ELEMENT> 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 요소를 가지고 확인입니다 : XML에서

나는 사물의 형태를 건너 왔어요?

그렇다면 어떻게 DTD로 작성할 수 있습니까? 마찬가지로

ELEMENT CHAMP (MESSAGE?|CDATA??)> 

답변

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>