ENTITY author1 Иванов ENTITY author2 Петров ELEMENT article-list artic

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<!ENTITY author1 "Иванов И. И.">
<!ENTITY author2 "Петров П. П.">
<!ELEMENT article-list (article+)>
<!ELEMENT article (#PCDATA | author | annotation | content | receiving-date)*>
<!--Когда у элемента имеет текстовое содержимое и, при этом, потомков - это назывется Element definition with Mixed Content (определение элемента со смешаным типом). При его применении, __нельзя задавать количество и порядок элементов наследников__, по-этому задание "должен быть хотя бы один автор"(в нормальных условиях author+) не выполнимо).
Если использовать вместо DTD - Scheme эта проблема решаема.-->
<!ATTLIST article
section (computers|mathematics|physics|chemistry) "computers">
<!ELEMENT author (#PCDATA)>
<!ELEMENT annotation (#PCDATA)>
<!ELEMENT content (section+)>
<!ELEMENT section (#PCDATA | subsection)*><!--Element definition with Mixed Content -->
<!ATTLIST section
style (ordinary|strong|selected) "ordinary">
<!ELEMENT subsection (#PCDATA | paragraph)*><!--Element definition with Mixed Content -->
<!ATTLIST subsection
style (ordinary|strong|big|small|selected) "ordinary">
<!ELEMENT paragraph (#PCDATA)>
<!ATTLIST paragraph
style (ordinary|strong|big|small|selected) "ordinary">
<!ELEMENT receiving-date (#PCDATA)>