首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证xml文档时遇到麻烦

验证xml文档时遇到麻烦
EN

Stack Overflow用户
提问于 2014-10-07 20:39:48
回答 1查看 680关注 0票数 2

我应该为xml文档编写一个DTD,但是有一个特定的部分将我抛出一个循环。在EnrolledIn元素中有字符数据,然后是课程元素。我试着用下面的DTD验证,但是我一直得到错误

“错误:元素EnrolledIn内容不遵循DTD,期望(CDATA,Course+),got (CDATA过程)

错误:元素EnrolledIn内容不遵循DTD,期望(CDATA,Course+),got (CDATA过程)“。

我试过在课程结束后使用*和+,但没有成功。我正在使用Notepad++ xml工具进行验证。

代码语言:javascript
复制
<!DOCTYPE Students [
<!ELEMENT Students (Student*)>
<!ELEMENT Student (LastName, MiddleInitial?, FirstName, EnrolledIn?)>
<!ELEMENT LastName (#PCDATA)>
<!ELEMENT FirstName (#PCDATA)>
<!ELEMENT MiddleInitial (#PCDATA)>
<!ELEMENT EnrolledIn (CDATA, Course+)>
<!ELEMENT Course (#PCDATA)>
]>




<Students>
    <Student>
        <LastName> Doe </LastName>
        <MiddleInitial>K.</MiddleInitial>
        <FirstName>John</FirstName>
        <EnrolledIn>
            Courses enrolled in:
            <Course>
                TCSS 445 – Database Systems Design
            </Course>
            <Course>
                TCSS 422 – Operating Systems
            </Course>
            <Course>
                TCSS 422 – Operating Systems
            </Course>
            <Course>
                TBUS 301 Quantitative Analysis for Business
            </Course>
        </EnrolledIn>
    </Student>
    <Student>
        <LastName> Smith </LastName>
        <FirstName>Amy</FirstName>
        <EnrolledIn>
            Courses enrolled in:
            <Course>
                TBUS 100 Introduction to Business
            </Course>
        </EnrolledIn>
    </Student>
    <Student>
        <LastName> Doe </LastName>
        <MiddleInitial> L. </MiddleInitial>
        <FirstName>Jane</FirstName>
    </Student>
</Students>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-07 21:48:34

这被称为混合内容模型,并且只有一种方式来编写它。(见此处:http://www.w3.org/TR/REC-xml/#sec-mixed-content)

代码语言:javascript
复制
<!ELEMENT EnrolledIn (#PCDATA|Course)*>

您将无法限制文本(#PCDATA)和Course元素的顺序。在混合内容的情况下,模型中的所有内容总是为零或更多(按任何顺序)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26244886

复制
相关文章

相似问题

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