首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTD元素协助

DTD元素协助
EN

Stack Overflow用户
提问于 2013-05-10 00:09:09
回答 1查看 80关注 0票数 0

嘿,伙计们,我有一个外部的XML代码,但是当我试图验证它时,我似乎得到了一个错误。我的代码如下:

代码语言:javascript
复制
<!DOCTYPE catalog [ 
    <!ELEMENT catalog (book)+>
    <!ELEMENT book (title, authors, year_published, ISBN, number_of_pages, price) >
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT authors (author)>
    <!ELEMENT author (first_name, last_name, gender)>
        <!ELEMENT first_name (#PCDATA)>
        <!ELEMENT last_name (#PCDATA)>
        <!ELEMENT gender (#PCDATA)>
    <!ELEMENT year_pusblished (#PCDATA)>
    <!ELEMENT ISBN (#PCDATA)>
    <!ELEMENT number_of_pages (#PCDATA)>
    <!ELEMENT price (discount)>
        <!ATTLIST price discount (yes|no) "no">]>

我知道一切都是正确的,但当我验证它时,会出现错误消息:

“文档类型声明中包含或指向的标记声明必须格式良好。第3行第4列”

我检查了所有的东西,但我似乎无法让它起作用。你们能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2013-09-24 11:18:43

如果您将.xml写入文件,则不会生成错误,但是如果您有一个.dtd文件,则必须清除元素!正确的文件test.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog [ 
<!ELEMENT catalog (book)+>
<!ELEMENT book (title, authors, year_published, ISBN, number_of_pages, price) >
<!ELEMENT title (#PCDATA)>
<!ELEMENT authors (author)>
<!ELEMENT author (first_name, last_name, gender)>
<!ELEMENT first_name (#PCDATA)>
<!ELEMENT last_name (#PCDATA)>
<!ELEMENT gender (#PCDATA)>
<!ELEMENT year_pusblished (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT number_of_pages (#PCDATA)>
<!ELEMENT price (discount)>
<!ATTLIST price discount (yes|no) "no">]>
<catalog>
    <book>
        <title></title>
        <authors>
            <author>
                <first_name></first_name>
                <last_name></last_name>
                <gender></gender>
            </author>
        </authors>
        <year_published></year_published>
        <ISBN></ISBN>
        <number_of_pages></number_of_pages>
        <price>
            <discount></discount>
        </price>
    </book>
</catalog>

正确的文件test.dtd (链接到xml文件并声明为同一个test.xml ):

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT catalog (book)+>
<!ELEMENT book (title, authors, year_published, ISBN, number_of_pages, price) >
<!ELEMENT title (#PCDATA)>
<!ELEMENT authors (author)>
<!ELEMENT author (first_name, last_name, gender)>
<!ELEMENT first_name (#PCDATA)>
<!ELEMENT last_name (#PCDATA)>
<!ELEMENT gender (#PCDATA)>
<!ELEMENT year_pusblished (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT number_of_pages (#PCDATA)>
<!ELEMENT price (discount)>
<!ATTLIST price discount (yes|no) "no">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16473171

复制
相关文章

相似问题

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