0

我读了这段文字并没有理解它:

PCDATA 表示已解析的字符数据,因此在这种情况下,现在允许声明的元素在其中包含字符数据,您可能想知道是否有一种方法可以定义其中包含未解析的 CDATA 部分的元素。
答案是,请记住,CDATA 标记本身实际上已被解析。只有 CDATA 部分中的文本内容是未解析的。所以没有办法说,它只是一个 CDATA 部分。您要定义的是#PCDATA。然后这表明元素可以在其中包含解析车厢数据。

换句话说,我该怎么说?是什么意思?
PCDATA - 已解析的字符数据
CDATA - (未解析的)字符数据

PCDATA 可以解析标签。所以PCDATA可以解析CDATA:PCDATA会理解CDATA。CDATA 保留内部文本。那就是 CDATA 将在 PCDATA 中工作。正确的?

这个

所以没有办法说,它只是一个 CDATA 部分。您要定义的是#PCDATA。然后这表明元素可以在其中包含解析车厢数据。

杀我。我无法理解意思。

谢谢

4

1 回答 1

3

我不能 100% 确定我真的在这里回答了你的问题,因为我不能 100% 确定你的问题是什么。

关于 CDATA,您应该记住的第一件事是,它只是一个授权工具,可以使输入标记变得更容易,这会导致解析器出现问题。

例如,如果我想要一个para包含文本“儿童 < 12 岁和成人 > 80 岁”的元素

<para>children &lt; 12 years and adults &gt; 80 years old</para>

那只是PCDATA。但是打字有点繁琐。所以我可能想做:

<para><![CDATA[children < 12 years and adults > 80 years old]]></para>

仍然是PCDATA,但您已使用 CDATA 部分来避免有问题的文本。

因此,您引用的陈述是正确的,但不清楚。对于元素内容,#PCDATA 是数据类型,而 CDATA 只是简化创作的约定。<![CDATA...]]> 解析,但内容未解析。

于 2014-06-23T12:18:37.143 回答