似乎PCDATA和CDATA的松散定义就是这样
但后来有人告诉我CDATA实际上已被解析或者PCDATA实际上没有被解析...所以这有点混乱.有谁知道真正的交易是什么?
更新:我实际上在维基百科上添加了PCDATA定义...所以不要太认真地回答这个问题,因为这只是我对它的粗略理解.
我必须使用XML文件,但我没有得到所有项目,因为我的导航器中显示的此错误在文件内容之前.确切的错误是:
此页面包含以下错误:
第10行第4099行的错误:PCDATA无效字符值11以下是直到第一个错误的页面呈现.
我该怎么办 ?谢谢你的建议.
在XML DTD中 - 在定义元素时,我们使用#PCDATA来表示该元素可以包含任何可解析的文本.在定义属性时,我们使用CDATA来表示其值可以是任何字符数据.
XML中使用的CDATA是XML解析器未解析的(多字符转义序列).一致地,当我们使用CDATA定义属性时; 解析器不应该解析它.但是,确实如此!
那么,为什么不能使用PCDATA代替CDATA来定义属性?
更新 - 这一直保持与SGML向后兼容.SGML中这种命名背后的原因是什么?
在这里使用DTD验证器,我被告知以下DTD无效.
<!ENTITY % text "(#PCDATA|L)*">
<!ELEMENT H (%text;)+>
<!ELEMENT L (#PCDATA)>
Run Code Online (Sandbox Code Playgroud)
错误消息是:"A'('字符或元素类型在元素类型"H"的声明中是必需的."在第2行第22列.
任何人都可以指出它为什么无效?我怎样才能使它有效?错误消息对我来说并不是非常友好.谢谢.