实际上PCDATA和CDATA是什么?
似乎PCDATA和CDATA的松散定义就是这样
PCDATA是字符数据,但要进行解析。
CDATA是字符数据,不需要解析。
但后来有人告诉我CDATA实际上已被解析或者PCDATA实际上没有被解析...所以这有点混乱。有谁知道真正的交易是?
更新:我实际上在维基百科上添加了PCDATA定义...所以不要太认真地回答这个问题,因为这只是我对它的粗略理解。
没有找到相关结果
已邀请:
6 个回复
揽芳僵迷仇
将更改为<,
将被视为段落标记等)。将其与CDATA进行比较,其中字符不由XML,XHTML或HTML解析器解析。 CDATA 术语CDATA(意思是字符数据)用于标记语言SGML和XML中的不同但相关的目的。该术语表示文档的某一部分是一般字符数据,而不是具有更具体,有限结构的非字符数据或字符数据。
结乳
苏髓骗撩
喷乡顾沥沪
当我们想要指定一个元素只包含文本而没有子元素时,我们使用关键字PCDATA,因为该关键字指定该元素必须包含可解析的字符数据 - 即除了字符小于(&lt)之外的任何文本;),大于(>),&符号(&),引号(')和双引号(“)。 在下一个示例中,bar是CDATA,未解析,并且内容为“content!”。
SGML中有几种内容模型。 #PCDATA内容模型表示元素可能包含纯文本。它的“解析”部分意味着解析其中的标记(包括PI,注释和SGML指令)而不是显示为原始文本。它还意味着实体引用被替换。 另一种允许纯文本内容的内容模型是CDATA。在XML中,元素内容模型可能不会隐式设置为CDATA,但在SGML中,它意味着在元素的内容中忽略标记和实体引用。但是,在CDATA类型的属性中,实体引用被替换。 在XML中#PCDATA是唯一的纯文本内容模型。如果您想要允许元素中的文本内容,则使用它。可以通过#PCDATA中的CDATA块标记显式使用CDATA内容模型,但是默认情况下元素内容可能不被定义为CDATA。 在DTD中,包含文本的属性的类型必须是CDATA。属性声明中的CDATA关键字与XML文档中的CDATA部分具有不同的含义。在CDATA部分中,除“]]>”结束标记外,所有字符都是合法的(包括<,>,&,'和'字符)。 #PCDATA不适合属性的类型。它用于“叶子”文本的类型。 由于历史原因,#PCDATA前缀为哈希(也称为“哈希标签”或octothorp)。
茶鬼失形
橙绥
要回复问题请先登录或注册