2010-08-18 12 views
0

Я пытаюсь получить следующий вывод:XSL: CDATA элементы внутри XSL: элемент

<name><![CDATA[ SomeNameHere ]]></name> 

используя следующий XSLT:

<xsl:element name="name"> 
      <xsl:cdata> 
       <xsl:value-of select="name"/> 
      </xsl:cdata> 
    </xsl:element> 

Но при компиляции я получаю следующее исключение:

'xsl:cdata' cannot be a child of the 'xsl:element' element. 

Как я могу вставить элементы cdata внутри узла xml?

спасибо.

ответ

5

Там нет такого думать, как <xsl:cdata>

Если <xsl:output/> включает в себя имя среди элементов, перечисленных в cdata-section-elements атрибутов, то он будет использовать секции CDATA для всех таких элементов.

Если вам это нужно в одном конкретном случае, вы можете kludge с disable-output-escaping, хотя на самом деле у вас не должно быть необходимости в этом.

+0

Как я уже говорил выше. В элементе укажите cdata-section-elements = "имя сообщения". (при необходимости используйте префикс). –

Смежные вопросы