XML DTD验证错误

XML DTD验证错误,xml,validation,dtd,Xml,Validation,Dtd,在线验证: 也显示在下面 问题1 为什么会出现以下6个错误 第29行第18列:ID类型的属性值1必须是名称。 第34行第22列:必须为元素类型dob声明属性类型。 第39行第26列:必须为元素类型地址声明属性类型。 第49行第18列:ID类型的属性值2必须是名称。 第54行第22列:必须为元素类型dob声明属性类型。 第59行第27列:必须为元素类型地址声明属性类型。 问题2 当我取消注释下面第4行时 <!ELEMENT persona (name,dob?,address*) >

在线验证:

也显示在下面

问题1 为什么会出现以下6个错误

第29行第18列:ID类型的属性值1必须是名称。 第34行第22列:必须为元素类型dob声明属性类型。 第39行第26列:必须为元素类型地址声明属性类型。 第49行第18列:ID类型的属性值2必须是名称。 第54行第22列:必须为元素类型dob声明属性类型。 第59行第27列:必须为元素类型地址声明属性类型。 问题2 当我取消注释下面第4行时

<!ELEMENT persona (name,dob?,address*) >
并对以下第5行进行注释

<!ELEMENT name (first_name,last_name) >
为什么会出现以下错误

第4行第28列:元素类型persona的声明中需要元素类型。 嵌入DTD的XML文档 -> ]> 阿披实 帕特奈克 29 8. 1990 图-471 萨希德纳加尔 布巴内斯瓦尔 奥里萨邦 印度 91 阿尼迪塔 帕特奈克 5. 12 1996 图-471 萨希德纳加尔 布巴内斯瓦尔 奥里萨邦 印度 91 ID类型属性的值不能以数字开头。它必须与XML规范中的产品名称匹配,该规范排除了初始数字

您尚未为dob和address元素声明类型属性

在上面的DTD中注释掉的是非法声明。以下内容可以,但可能不是您想要的:

<!ELEMENT persona (#PCDATA|name|dob|address)*>
有关混合内容约束的信息,请参见

. ID类型属性的值不能以数字开头。它必须与XML规范中的产品名称匹配,该规范排除了初始数字

您尚未为dob和address元素声明类型属性

在上面的DTD中注释掉的是非法声明。以下内容可以,但可能不是您想要的:

<!ELEMENT persona (#PCDATA|name|dob|address)*>
有关混合内容约束的信息,请参见

.
改进了问题2,添加了问题3,并在解决问题1后改进了代码-谢谢@mzjn-请帮我解决这些问题。@absk007:请试着一次问一件事。不要向现有问题添加新的子问题。请将此答案标记为已接受。如果您还有其他问题,请发布一个新问题。@mzjn在解决问题1后添加了2个未回答的问题改进了问题2,添加了问题3和改进的代码-谢谢@mzjn-请帮我解决这些问题。@absk007:请试着一次问一件事。不要向现有问题添加新的子问题。请将此答案标记为已接受。如果您还有其他问题,请发布一个新问题。@mzjn将2个未回答的问题回滚到问题的答案所适用的版本中。我将投票结束这个问题,因为它包含隐私信息。请删除此问题。将问题回滚到答案适用的版本。我将投票关闭此问题,因为它包含隐私信息。请删除此问题。
<!ELEMENT persona (#PCDATA|(name,dob?,address*))>
<!ELEMENT persona (#PCDATA|name|dob|address)*>