Xml 什么';这个dtd语法有什么问题?
我不明白为什么Xml 什么';这个dtd语法有什么问题?,xml,dtd,Xml,Dtd,我不明白为什么xmllint会抱怨这种dtd语法,特别是et\u snote行我做错了什么 <!ELEMENT et_snote (is_required?, (#PCDATA | vis? | ri?)*) > <!ELEMENT is_required ( #PCDATA ) > 您已将et\u snote的类型声明为元素内容,根据定义,它要么删除\PCDATA,要么将类型更改为混合内容。我不介意声明为混合内容-但是如何确保是必需的标记始终是et\u snote下的
xmllint
会抱怨这种dtd语法,特别是et\u snote
行我做错了什么
<!ELEMENT et_snote (is_required?, (#PCDATA | vis? | ri?)*) >
<!ELEMENT is_required ( #PCDATA ) >
您已将
et\u snote
的类型声明为元素内容,根据定义,它要么删除\PCDATA
,要么将类型更改为混合内容。我不介意声明为混合内容-但是如何确保是必需的
标记始终是et\u snote
下的第一个元素?您不能,如果要指定顺序,则不能允许使用字符数据。如果必须,请将字符数据包装到另一个元素中。
schema.dtd:166: parser error : expected '>'
<!ELEMENT et_snote (is_required?, ( #PCDATA | vis? | ri? )+) >
xmllint --noout --nowarning --nonet --dtdvalid schema.dtd my.xml