0

一个 XML 元素,其中包含一个字符列表,![CDATA[]]因此它们被视为字符,而不是 XML 标记。

<list><![CDATA[some-chars-here]]></list> 

字符列表很长。我想要列表的子集,每个都在一个变量中定义(正式地,在实体引用中)

<!DOCTYPE engineMetadata [
    <!ENTITY set1 "set1-chars">
    <!ENTITY set2 "set2-chars">
]>

可以用作<list><![CDATA[&set1;&set2]]></list>. 如果实体引用现在被视为字符而不是 XML 标记的唯一原因,这不起作用。

有没有合适的方法或解决方法来做到这一点?

4

1 回答 1

1

解决方法是不使用 CDATA。由于 CDATA 的唯一目的是告诉解析器将特殊字符视为普通字符而不是标记,因此如果您希望将特殊字符视为标记,则不应将它们放入 CDATA。

于 2015-10-07T07:48:10.337 回答