我有这个 XML 以及一个嵌入式 DTD:
<?xml version="1.0" ?>
<!DOCTYPE customers [
<!ELEMENT customers (name,age,roll,sex)>
<!ELEMENT name (#CDATA)>
<!ELEMENT age (#CDATA)>
<!ELEMENT roll (#CDATA)>
<!ELEMENT sex (#CDATA)>
]>
<customers>
<name>XYZ</name>
<age>19</age>
<roll>23</roll>
<sex>M</sex>
</customers>
当我尝试验证 XML 时,它向我显示了一个错误。但是,如果我将#CDATA 更改为#PCDATA,则验证成功。
问题 1)我没有正确解释为什么会发生这种情况。两者之间的唯一区别是:#CDATA 不会解析,而#PCDATA 会解析。在这种情况下。两个验证都应该成功吧?请解释我哪里错了,因为这个验证的输出违背了我的概念。
问候,