Я пытаюсь поместить значения, которые я получаю через Итерацию в поле 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>
Благодарим за помощь!
Почему? Нет никакой разницы между ' 2015-04-24 15:07:40 ' и ' ' as содержание не содержит никаких символов, которые должны быть экранированы. –
Мне это нужно, потому что я импортирую этот файл через расширение на свой сайт. И расширение может работать только с форматом CDATA. Но спасибо, что заглянули в него :) – Jack2711
Bizarre - Мне кажется, вам нужно сообщить об этой ошибке авторам продления. Если они хотят разобрать XML, они должны использовать синтаксический анализатор XML (который не заботится о том, является ли это CDATA или нет). Если они нарушают этот аспект спецификации XML, то кто знает, какие другие аспекты они также испортили. –