阅读后我发现使用DTD文档默认情况下无法设置包含CDATA
的元素。在这种情况下,你能解释一下:
<!ELEMENT element-name (#CDATA)>
何时放入相关的DTD文档。我知道这可能是一个简单的问题,但我找不到答案。也有替代写作:
<element-name><![CDATA[Some unparsed data]></element-name>
使用XML架构?
感谢您的时间。
答案 0 :(得分:1)
CDATA表示字符数据。它与CDATA Section不同。 元素的内容模型 不能包含(#CDATA)
,但是(#PCDATA)
,这意味着 Parsed 字符数据。将文本包含在 CDATA部分中将允许它在XML实例中保持未解析。
在您的DTD中,您必须使用:
<!ELEMENT element-name (#PCDATA)>
你可以在该元素中使用纯文本,转义特殊字符和CDATA部分。没有机制可以自动在元素中设置CDATA部分。
如果您正在生成或转换文档(使用XSLT),您可以在转换期间生成CDATA部分作为您生成的元素的内容。