2014-11-24 6 views
1

В настоящее время я пытаюсь написать DTD для файла XML.<!{CDATA[]]> и <ELEMENT> в элементе xml

В 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

Вы должны объявить 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> 
Смежные вопросы