Discussion:
[basex-talk] restxq output cdata-section-elements
Maximilian Gärber
2017-06-01 21:19:17 UTC
Permalink
Hi,

when setting

%output:cdata-section-elements("KSP DESCRIPTION")

on a restxq request, I get


<DESCRIPTION><![CDATA[
]]><p>Zur Aktivierung des...</p><![CDATA[
]]><ul>
<li>außerordentlich hoher Biotingehalt (3
Millionen µg pro kg)</li>
<li>gut bioverfügbares Zinksulfat</li>
<li>ausgewogenes Biotin-Zink-Verhältnis</li>
</ul><![CDATA[
]]><p>


I would expect everything inside the DESCRIPTION element to be part of
CDATA. But CDATA ends before the first child element

This happens with Basex 8.5.2


Br, Max
Martin Honnen
2017-06-01 21:24:18 UTC
Permalink
Post by Maximilian Gärber
Hi,
when setting
%output:cdata-section-elements("KSP DESCRIPTION")
on a restxq request, I get
<DESCRIPTION><![CDATA[
]]><p>Zur Aktivierung des...</p><![CDATA[
]]><ul>
<li>außerordentlich hoher Biotingehalt (3
Millionen µg pro kg)</li>
<li>gut bioverfügbares Zinksulfat</li>
<li>ausgewogenes Biotin-Zink-Verhältnis</li>
</ul><![CDATA[
]]><p>
I would expect everything inside the DESCRIPTION element to be part of
CDATA. But CDATA ends before the first child element
You would need to make sure the element contains text content, for
instance by serializing the child elements first with the XPath/XQuery
3.0 serialize function.
Maximilian Gärber
2017-06-01 21:30:45 UTC
Permalink
It works, however, if I wrap the elements with the serialize()
function when constructing the output

So:
...
<KSP>{serialize($ksp)}</KSP>
....

will result in (while still declaring %output:cdata-section-elements)

<KSP><![CDATA[
<ul>
<li>mild und gut verträglich</li>
<li>gut geeignet als Abgabeprodukt</li>
<li>0 ...</li>
</ul>
<p> </p>
<p>.. ist auch als <strong>Essigsaure
Tonerde</strong> bekannt, ... als <strong>Alaun</strong>.</p>
]]></KSP>
Post by Maximilian Gärber
Hi,
when setting
%output:cdata-section-elements("KSP DESCRIPTION")
on a restxq request, I get
<DESCRIPTION><![CDATA[
]]><p>Zur Aktivierung des...</p><![CDATA[
]]><ul>
<li>außerordentlich hoher Biotingehalt (3
Millionen µg pro kg)</li>
<li>gut bioverfügbares Zinksulfat</li>
<li>ausgewogenes Biotin-Zink-Verhältnis</li>
</ul><![CDATA[
]]><p>
I would expect everything inside the DESCRIPTION element to be part of
CDATA. But CDATA ends before the first child element
This happens with Basex 8.5.2
Br, Max
Loading...