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   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