【问题标题】:How to validate DTD file?如何验证 DTD 文件?
【发布时间】:2023-03-07 00:12:01
【问题描述】:

这两个的DTD文件哪里出了问题。我不明白下面的错误:

:Character ',' is grammatically unexpected.(line on **,**)

这两个 DTD 中是否存在有效的 XML 实例文档?

第一个 DTD

<!ELEMENT nom (#PCDATA , (nomp | prenom)*)>
<!ELEMENT nomp (#PCDATA)>
<!ELEMENT prenom (#PCDATA)

第二个 DTD

<!ELEMENT nom ((#PCDATA | nomp) , prenom)*>
<!ELEMENT nomp (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>

错误 :Character '(' is grammatically unexpected. (line 1 second "**(**")

【问题讨论】:

  • 这对你有用吗:&lt;!ELEMENT nom #PCDATA (nomp*, prenom*)&gt;

标签: dtd xml


【解决方案1】:

当您有混合内容时(即一个元素可能同时包含字符数据和可选的散布子元素),您必须以某种方式声明该元素。出现的顺序和次数不限。

有关详细信息,请参阅规范:http://www.w3.org/TR/xml/#sec-mixed-content

所以你的元素声明需要是:

<!ELEMENT nom (#PCDATA|nomp|prenom)*>

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 2015-05-18
    • 2010-09-06
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    相关资源
    最近更新 更多