【问题标题】:A '(' character or an element type is required in the declaration of element type "viewer_rating" error元素类型“viewer_rating”错误的声明中需要“(”字符或元素类型
【发布时间】:2014-07-14 08:25:06
【问题描述】:

我的 DTD 代码中不断出现此错误。我尝试添加“)”和其他字符,但似乎没有任何效果。

<?xml version="1.0" encoding="UTF-8"?>

<!-- New document created with EditiX at Sun Jul 13 10:48:54 AST 2014 -->

<!DOCTYPE movies
[
<!ELEMENT movies-movie (movies-movie*)>  
<!ELEMENT movie (title, genre, movie_rating, viewer_rating, summary, year, director+, runtime, studio, actors+)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT genre (action|comedy|drama|family|foreign|horror|musical|other)>
<!ELEMENT movie_rating (G|PG|PG-13|R|NC-17)>
<!ELEMENT viewer_rating ( | 1 | 2 | 3 | 4 | 5)><!--receive error here -->

<!ELEMENT summary (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT director (#PCDATA)>
<!ELEMENT runtime (#PCDATA)>
<!ELEMENT studio (#PCDATA)>
<!ELEMENT actors (#PCDATA)>
<!ATTLIST actors id CDATA #REQUIRED>
]>

任何帮助将不胜感激 谢谢

【问题讨论】:

    标签: xml dtd


    【解决方案1】:

    您尝试对元素使用枚举。我很确定枚举仅限于属性。试试这个:

    <!ELEMENT movies (movie*)>  
    <!ELEMENT movie (title, summary, year, director+, runtime, studio, actors+)>
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT summary (#PCDATA)>
    <!ELEMENT year (#PCDATA)>
    <!ELEMENT director (#PCDATA)>
    <!ELEMENT runtime (#PCDATA)>
    <!ELEMENT studio (#PCDATA)>
    <!ELEMENT actors (#PCDATA)>
    <!ATTLIST movie genre (action|comedy|drama|family|foreign|horror|musical|other) #REQUIRED>
    <!ATTLIST movie movie_rating (G|PG|PG-13|R|NC-17)  #REQUIRED>
    <!ATTLIST movie viewer_rating (0 | 1 | 2 | 3 | 4 | 5) #REQUIRED>
    <!ATTLIST actors id CDATA #REQUIRED>
    

    这使得流派、电影评级和观众评级属性成为电影而不是元素。

    观众评分中还有一个空标记:( | 1|...,这是不允许的。如果没有收视率,您可以将其更改为#IMPLIED 并将其省略,或者像我所做的那样使用“0”之类的占位符来表示没有收视率。

    如果电影分级和类型是可选的,请将#REQUIRED 更改为#IMPLIED。

    &lt;!DOCTYPE... 的放置位置取决于这是内部 DTD 还是外部 DTD。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      相关资源
      最近更新 更多