2010-12-09 3 views
1

Я работаю над инструментом для генерации исходного кода, который следует за определенным шаблоном. Я пытаюсь использовать XML-файл для хранения значений, таких как имена строк и методов, и преобразование XSL для генерации кода. Проблема заключается в том, что исходный код содержит символы '>' и '<'. Я прочитал, что, написав текст в теге, я мог использовать объекты символов (< или >), и они были бы преобразованы в результат, но я хотел бы использовать исходные символы в преобразовании XSL напрямую и сохранить как можно больше исходного кода насколько это возможно в исходном состоянии. Есть ли способ сделать это в xslt? Я также хочу попробовать другие способы генерации кода, если это решение позволяет легко вставлять значения.Как использовать специальные символы в преобразовании XSL?

Заранее спасибо.

+1

Если ваш желаемый результат - XML, то это не имеет значения для специальной кодировки символов, если выходной ** пользователь ** может обрабатывать XML-документы. Семантически говоря, между `>` и `>` нет различия. – 2010-12-09 16:46:41

ответ

2

Строго говоря, это не XSLT вопрос,

Использование: CDATA, как в следующем примере:

<ProgramFragment> 
<![CDATA[if(x <> y) {z}]]> 
</ProgramFragment> 

никогда не кладите разметку (если ваш язык программирования основан на XML, например XSLT) внутри раздела CDATA - это evil, поскольку он разрушает структуру и разбивает ее на плоскую и непригодную для использования строку.

+0

не уверен, что вы подчеркнули предупреждение достаточно, хотя :) – 2010-12-10 12:07:42

0

Вы можете поместить код в CDATA разделах:

<![CDATA[ 
code with >, <, & here 
]]> 
Смежные вопросы