I already have that, along with the boundary-space option.
declare boundary-space preserve;
declare option db:chop 'no';
Hi France,
It might help to set the "chop" keyword in he prolog (head) of your
> 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   on inline elements, yet I
> still haven't run upon a clue to help me resolve this for good the clean
> way.
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
>