При определении элемента в DTD нет способа ограничить текст внутри элемента. вы можете только указать, что может содержать другой элемент (дочерние элементы) и его порядок, или вы можете сказать, что элемент содержит текст или смесь 2.
поэтому, в основном у вас есть 2 варианта ограничения <fuel-system>
: либо объявить его как атрибут (<fuel-system type="fuel-injected"/>
), либо объявить дочерние элементы <fuel-injected>
и <carburated>
. выбор между этими двумя вариантами зависит от того, что вы пытаетесь описать и что изменится в зависимости от типа fuel-system
.
(грамматика для объявления элемента определяется here)
примеры: Первый вариант, атрибуты
<!ELEMENT fuel-system EMPTY>
<!ATTLIST fuel-system (fuel-injected|carburated) #REQUIRED>
второй вариант, дочерние элементы
<!ELEMENT fuel-system (fuel-injected|carburated)>
<!ELEMENT fuel-injected ...>
<!ELEMENT carburated ...>
убеждает мой учитель не представляется возможным в DTD и я построю мой DTD как ваши response..Thanks для вашего ответа :) –