Hi Andreas -

Have you tried using different serialization options? I.e.,
serialize.xq:
```
declare option output:method "xml";
declare option output:parameter-document "map.xml";
declare variable $input := "<p>Lorem ipsum, &apos; dolor sit amet.</p>";
serialize($input)
```

map.xml:
```
<serialization-parameters xmlns="http://www.w3.org/2010/xslt-xquery-serialization">
  <use-character-maps>
    <character-map character="&apos;" map-string="&amp;apos;"/>
  </use-character-maps>
</serialization-parameters>
```

When run in the BaseX GUI, I get:
`&amp;lt;p&amp;gt;Lorem ipsum, &apos; dolor sit amet.&amp;lt;/p&amp;gt;`, might be closer?

I think you might have been experiencing the default 'basex' serialization option (see [1] for more).
Hope that helps.
Best,
Bridger

[1] http://docs.basex.org/wiki/Serialization

On Mon, Sep 9, 2019 at 9:05 AM Andreas Mixich <mixich.andreas@gmail.com> wrote:
Hi,

when serializing a string, that contains literal XML with entities, how do I pass through those entities unchanged?
Example:

let $input := "<p>Lorem ipsum &apos; dolor sit amet </p>"
return serialize($input)

results in:

&lt;p&gt;Lorem ipsum dolor sit amet, ' consectetur adipisicing elit.&lt;/p&gt;

but I want:

&lt;p&gt;Lorem ipsum dolor sit amet, &apos; consectetur adipisicing elit.&lt;/p&gt;

--
Minden jót, all the best, Alles Gute,
Andreas Mixich