2015-04-30 5 views
0

Я пытаюсь поместить значения, которые я получаю через Итерацию в поле CDATA. Есть ли возможность сделать это в XSLT?Поместите xsl: значение ... внутри CDATA

Мой XML-файл:

<?xml version="1.0" encoding="UTF-8" ?> 
<?xml-stylesheet type="text/xsl" href="XSLTest.xsl"?> 
<pages> 
    <page> 
     <title>New Title</title> 
     <id>4782</id> 
     <timestamp>2012-09-13 13:15:33</timestamp> 
     <contributor> 
     <username>kf</username> 
     <id>2</id> 
     </contributor> 
     <text xml:space="preserve"> 
     some text 
    </text> 
</page> 
</pages> 

Мой XSL Файл:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" indent="yes"/> 

<xsl:template match="/"> 
    <xsl:for-each select="pages/page"> 
    <content> 
     <id><xsl:value-of select="id"/></id> 
     <title><xsl:value-of select="title"/></title> 
     <alias><xsl:value-of select="title"/></alias> 
     <introtext><xsl:value-of select="text"/></introtext> 
     <created><xsl:value-of select="timestamp"/></created> //This value in a CDATA Field 
     <created_by><xsl:value-of select="contributor/username"/></created_by> 
     <modified_by><xsl:value-of select="contributor/username"/></modified_by> 
    </content> 
    </xsl:for-each> 
</xsl:template> 

</xsl:stylesheet> 

Поэтому в основном я хочу, чтобы значение временной метки поля, чтобы быть в поле CDATA так, что он в основном будет выглядеть в конец:

<created><![CDATA[2015-04-24 15:07:40]]></created> 

Благодарим за помощь!

+0

Почему? Нет никакой разницы между ' 2015-04-24 15:07:40' и '' as содержание не содержит никаких символов, которые должны быть экранированы. –

+0

Мне это нужно, потому что я импортирую этот файл через расширение на свой сайт. И расширение может работать только с форматом CDATA. Но спасибо, что заглянули в него :) – Jack2711

+0

Bizarre - Мне кажется, вам нужно сообщить об этой ошибке авторам продления. Если они хотят разобрать XML, они должны использовать синтаксический анализатор XML (который не заботится о том, является ли это CDATA или нет). Если они нарушают этот аспект спецификации XML, то кто знает, какие другие аспекты они также испортили. –

ответ

1

<xsl:output cdata-section-elements="created"/>.

+0

Да работал отлично, спасибо вам большое :) Вопрос помечен как решенный! – Jack2711

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