我正在为下面的xml代码编写DTD。但是输出是
元素类型的内容"植物"必须匹配(名称,气候,高度,用途,图像)
这是我的xml代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "plantdtd.dtd">
<catalog>
<title>Flowers of the week</title>
<plant id="A1">
<name>Aloe vera</name>
<climate>tropical</climate>
<height>60-100cm</height>
<usage>medicinal</usage>
<image>aloevera.jpg</image>
</plant>
<plant id="A2">
<name>Orchidaceae</name>
<height>8-12in</height>
<usage>medicinal</usage>
<usage>decoration</usage>
<image>Orchidaceae.jpg</image>
</plant>
</catalog>
这是我的DTD。
<?xml encoding="UTF-8"?>
<!ELEMENT catalog (title,plant+)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT plant (name,climate,height,usage,image)>
<!ATTLIST plant id CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT climate (#PCDATA)>
<!ELEMENT height (#PCDATA)>
<!ELEMENT usage (#PCDATA)>
<!ELEMENT image (#PCDATA)>
请告诉我上述DTD的错误。
答案 0 :(得分:0)
假设实例文档是&#34;对&#34;并且DTD是错误的#34;然后你需要更改DTD以允许省略气候(写climate?
)并允许重复使用(写usage+
)。这将使这两个示例plant
元素有效,但当然要设计DTD,您需要考虑所有可能的有效plant
元素,而不仅仅是这两个元素。