2015-10-06 62 views
0

一個XML元素,其中包含一個字符列表![CDATA[]],因此它們被視爲字符,而不是XML標記。XML:實體引用![CDATA []]

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

字符列表很長。我想有列表的子集,每一個變量定義(正式地說,在一個實體引用)

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

可以用作<list><![CDATA[&set1;&set2]]></list>。如果因爲實體引用現在被視爲字符而不是XML標記的唯一原因,這不起作用。

有沒有正確的方法或解決方法來做到這一點?

回答

1

解決方法是不使用CDATA。由於CDATA的唯一目的是告訴解析器將特殊字符視爲普通字符而不是標記,因此如果需要將特殊字符視爲標記,則不應將其放入CDATA中。

+0

我想特殊字符視爲普通字符而不是標記。問題是,是否可以使用變量並將其值(不是變量引用/名稱本身)視爲普通字符。 – prgshn

+0

當你說「變量」時,你在說什麼?這個例子中沒有變量。 –

+0

實體引用;本例中的set1和set2。 – prgshn