I already have that, along with the boundary-space option.


declare boundary-space preserve;
declare option db:chop 'no';


On Mon, Jul 23, 2012 at 12:47 PM, Christian Grün <christian.gruen@gmail.com> wrote:
Hi France,

> I have an issue with spaces in mixed content, when applying the
> xslt:transform command. I have been working around it for months with a hack
> in my css that puts the spaces back as &#160; on inline elements, yet I
> still haven't run upon a clue to help me resolve this for good the clean
> way.

It might help to set the "chop" keyword in he prolog (head) of your
query module to "no":

  declare option db:chop "no";

Hope this helps; if not, just ask again,
Christian


> The xslt applied to my xml outside the BaseX environment (Oxygen + Saxon)
> gets me right html content (with spaces for inline elements in mixed
> content)
> The query, when it returns the XML file from BaseX, shows that the XML file
> still has its spaces.
> When the xslt is applied to the XML file from BaseX (Using Saxon), with the
> BaseX XSLT module, spaces disappear around inline elements in mixed content.
>
> IN DETAILS
>
> I have mixed content in a file. Ex. <p>Text <i>italic</i> more text.</p>.
>
> I have this function:;
>
> declare %rest:path("/how2-html-topic/{$id}/{$menu-id}")
>
>    %rest:GET
>
>    function topic:html-get-how2-topic($id as xs:string, $menu-id as
> xs:string) as node()*{
>
>     let $x := topic:xml-get-how2-topic($id)
>
>     let $params := map{ "menucontext" := $menu-id}
>
>     let $stylesheet := doc(concat($app:xslt_html_topic, 't'))
>
>     return xslt:transform($x, $stylesheet, $params)
>
> };
>
>
> My access a web page runs this query. Result (lost spaces):
> <p>Text<i>italic</i>more text.</p>
>
> Note: The content has been uploaded with chop spaces = false
> The xquery module specifies:  declare boundary-space preserve;  declare
> option db:chop 'no'
>
> If I get the same content without applying the xslt:transform, I get the xml
> with all the right spaces:
>
> declare %rest:path("/how2-html-topic/{$id}/{$menu-id}")
>    %rest:GET
>    function topic:html-get-how2-topic($id as xs:string, $menu-id as
> xs:string) as node()*{
>     let $x := topic:xml-get-how2-topic($id)
>     let $params := map{ "menucontext" := $menu-id}
>     let $stylesheet := doc(concat($app:xslt_html_topic, 't'))
>     (: return xslt:transform($x, $stylesheet, $params) :)
>     return $x
> };
>
>
> Maybe I am missing some config details for the xslt module, in BaseX? In
> XLST? My xslt sets the output as follow:
>
> <xsl:output indent="yes" method="xml" encoding="UTF-8"/>
>
>
> Regards,
>
> France
> --
> France Baril
> Architecte documentaire / Documentation architect
> france.baril@architextus.com
> (514) 572-0341
>
> _______________________________________________
> BaseX-Talk mailing list
> BaseX-Talk@mailman.uni-konstanz.de
> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
>



--
France Baril
Architecte documentaire / Documentation architect
france.baril@architextus.com
(514) 572-0341