Xml 需要帮助完成DTD吗

Xml 需要帮助完成DTD吗,xml,dtd,Xml,Dtd,下面是一个场景 我已经为这4种食谱创建了dtd。但是你可以在咖啡蝴蝶蛋糕和咖啡摩洛哥鸡肉食谱中看到糖霜和酱汁的成分。但是我不知道如何在我的dtd中指出这一点。所以请帮助我修改它。谢谢 这是我的dtd <!DOCTYPE cookbook[ <!ELEMENT cookbook ( recipe+ ) > <!ATTLIST recipe xml:id NMTOKEN #REQUIRED > <!ELEMENT recipe ( title, ingredie

下面是一个场景

我已经为这4种食谱创建了dtd。但是你可以在咖啡蝴蝶蛋糕和咖啡摩洛哥鸡肉食谱中看到糖霜和酱汁的成分。但是我不知道如何在我的dtd中指出这一点。所以请帮助我修改它。谢谢

这是我的dtd

<!DOCTYPE cookbook[
<!ELEMENT cookbook ( recipe+ ) >
<!ATTLIST recipe xml:id NMTOKEN #REQUIRED >
<!ELEMENT recipe ( title, ingredient+, time, method ) >
<!ATTLIST recipe servings(serves|makes) CDATA #REQUIRED >

<!ELEMENT title ( #PCDATA ) >

<!ELEMENT ingredient EMPTY >
<!ATTLIST ingredient name CDATA #REQUIRED >
<!ATTLIST ingredient quantity CDATA #REQUIRED >
<!ATTLIST ingredient unit(tsp|number|g|oz|tab|ml|pt) #REQUIRED>
<!ATTLIST ingredient brand CDATA #IMPLIED >

<!ELEMENT time EMPTY >
<!ATTLIST time quantity NMTOKEN #REQUIRED >
<!ATTLIST time unit NMTOKEN #REQUIRED >

<!ELEMENT method ( step+ ) >
<!ELEMENT step ( #PCDATA ) >

]>

]>

在我看来,对于糖霜和酱汁成分,“数量”、“单位”和“品牌”似乎不存在。因此,您可以将这些属性设置为#隐含而不是#必需,或者您可以将这些属性的默认值设置为N/A