【问题标题】:Error in dtd validation : A ')' is required in the declaration of element type "Bibliography"dtd 验证中的错误:元素类型“参考书目”的声明中需要 A ')'
【发布时间】:2016-09-24 03:24:56
【问题描述】:

下面第一行的错误出现在我的 editix 编辑器上。只是看不出为什么需要 )。

<!ELEMENT Bibliography (Conference paper,Book,Book chapter,Journal article)>
<!ATTLIST Author Title Year CDATA#REQUIRED>
<!ELEMENT Conference paper (Author,Title,URL)>
<!ELEMENT Author #PCDATA>
<!ELEMENT Title #PCDATA>
<!ELEMENT URL #PCDATA>

【问题讨论】:

    标签: xml dtd


    【解决方案1】:

    这是因为您有一个名为Conference paper 的元素。名称中不能有空格。有关详细信息,请参阅spec。特别是NameStartCharNameChar的定义。

    可能使用ConferencePaperConference_paperConference-paper

    Book chapterJournal article 会遇到同样的问题。

    我还注意到了这些额外的问题:

    • 声明&lt;!ATTLIST Author Title Year CDATA#REQUIRED&gt; 无效。请参阅Attribute-List Declarations,了解如何构建 ATTLIST。
    • 您需要在AuthorTitleURL 的元素声明中将#PCDATA 括在括号中(内容模型)。 (喜欢&lt;!ELEMENT Author (#PCDATA)&gt;)更多详情请见Element Type Declarations

    【讨论】:

    • 非常感谢,这实际上是我第一次尝试编码,这些可能是新手的错误
    • @tsinasky - 不客气。欢迎来到堆栈溢出!请通过单击旁边的复选标记来考虑accepting这个答案。
    猜你喜欢
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多