XML DTD错误没有元素花费的声明

时间:2015-03-24 03:58:40

标签: xml dtd

这是我使用XML的第一天,我们只是做了一个讲座,但我必须做一个实验室。我在验证代码时遇到了一些错误。我还是很困惑。我发现我想要标题,事工,部长,年份和花费,这要求我使用下面的代码,即使我们的讲师使用过等,但是当我这样做时,我的标题只是名字,名字2,名字3,这看起来很烦人。所以我必须使用标题来表示事工。然后我添加了我的DTD和现在有解析问题,它一直说没有元素花费的声明。请帮忙:)谢谢

<?xml version="1.0"?>
<!DOCTYPE spending 
[
<!ELEMENT spending (minister+)>
<!ELEMENT minister (year+)>
<!ELEMENT year (spend?)>
<!ATTLIST ministry
    ministry    CDATA   #REQUIRED
>
<!ATTLIST minister
        minister    CDATA   #IMPLIED
>
<!ATTLIST    year
    year    CDATA   #REQUIRED
>
<!ATTLIST   spend
    spend   ID  #REQUIRED
>
]>
<spending>
    <ministry ministry="Education">
        <minister minister="Phil Amos">
            <year year="1972">
                <spend>335</spend>
            </year>
            <year year="1973">
                <spend>377</spend>
            </year>
            <year year="1974">
                <spend>440</spend>
            </year>
            <year year="1975">
                <spend>527</spend>
            </year>
        </minister>
        <minister minister="Les Gandar">
            <year year="1976">
                <spend>627</spend>
            </year>
            <year year="1977">
                <spend>699</spend>
            </year>
            <year year="1976">
                <spend>808</spend>
            </year>
        </minister>
    </ministry>
</spending>

1 个答案:

答案 0 :(得分:1)

您需要使用类似的内容声明spend元素:

<!ELEMENT spend (#PCDATA) >

在您的dtd中,您目前只为此元素声明了属性。您会遇到yearministry,...

的问题