2017-07-16 44 views
0

我写一个DTD为如下XML code.However输出是元素类型的内容“植物”必须匹配(姓名,气候,高度,用法,图像)

元素类型的内容“植物”必须(姓名,气候,高度,用途,图像)匹配

这里是我的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

假设实例文档为“正确”且DTD“错误”,则需要更改DTD以允许省略气候(编写climate?),并允许重复使用(编写usage+)。这将使这两个例子plant元素有效,但当然要设计DTD,您需要考虑所有可能的有效plant元素,而不仅仅是这两个元素。

+0

谢谢它的工作 –

相关问题