2015-10-06 2 views
0

XML-элемент со списком символов, заключенный в ![CDATA[]], поэтому они рассматриваются как символы, а не как разметка XML.XML: Entity Reference in! [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