首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >元素类型"person“的内容不完整,必须匹配(姓氏、名字、城市?、telephone+)。

元素类型"person“的内容不完整,必须匹配(姓氏、名字、城市?、telephone+)。
EN

Stack Overflow用户
提问于 2017-02-01 10:39:33
回答 1查看 867关注 0票数 1

我从2小时前就一直在看我的代码,但是我仍然不知道我在哪里做错了一个错误,基本上,我在同一个文件中有一个dtd和一个xml,当我到xml验证器时,总是会看到标题上的错误。

这里是代码

代码语言:javascript
复制
<?xml version = "1.0"?>

<!DOCTYPE addressbook [

<!ELEMENT addressbook (person*)>
<!ELEMENT person (familyname,firstname,city?,telephone+)>
<!ELEMENT familyname (#PCDATA)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT telephone (#PCDATA)>
<!ATTLIST person id CDATA #REQUIRED>
<!ATTLIST telephone type CDATA #IMPLIED>
]>

<addressbook>
    <person id="p01">
        <familyname>De Niro</familyname>
        <firstname>Roberto</firstname>
        <city>Los Angeles</city>
        <telephone type="mobile">123456</telephone>
    </person>
    <person id="p02">
        <familyname>Bale</familyname>
        <firstname>Gareth</firstname>
        <city>Madrid</city>
        <telephone>987654</telephone>
    </person>
    <person id="p03">
        <familyname>Jobs</familyname>
        <firstname>Steve</firstname>
        <city>Palo Alto</city>
    </person>
    <person id="p04">
        <familyname>Fry</familyname>
        <firstname>Stephen</firstname>
        <telephone type="landline">132867</telephone>
        <telephone type="mobile">725282</telephone>
    </person>
</addressbook>
EN

回答 1

Stack Overflow用户

发布于 2017-02-01 11:45:42

您的第三个<person>元素没有电话号码:

代码语言:javascript
复制
<person id="p03">
    <familyname>Jobs</familyname>
    <firstname>Steve</firstname>
    <city>Palo Alto</city>
</person>

但是,DTD需要一个或多个电话号码:

代码语言:javascript
复制
<!ELEMENT person (familyname,firstname,city?,telephone+)>

您需要向该<person>元素添加电话号码,或者更改内容模型以允许电话号码为零或更多:

代码语言:javascript
复制
<!ELEMENT person (familyname,firstname,city?,telephone*)>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41977613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档