XML:实体参考![CDATA []]

时间:2015-10-06 20:08:11

标签: xml entityreference

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

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

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

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

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

有没有正确的方法或解决方法呢?

1 个答案:

答案 0 :(得分:1)

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