Hi,
I have made the upgrade to 7.4 and it has resolved the issue. However, it has now poped up in a different context.
Context:
- User is working with Oxygen and is connected to BaseX through WebDAV. - DB is set with Whitespace chopping: false.
Steps:
1. User opens a file with content <p>This is <i>mixed</i> content.</p>. 2. User makes a change. Ex. Adds <p>A new paragraph</p> and saves the changes. 3. Users closes and re-opens the file. New p is there, but spaces around <i>mixed</i> have dispappeared.
Since whitespace chopping is false, shouldn't documents saved through webDAV be saved following the default DB settings?
If not, what are our options here?
Regards,
France Baril
On Mon, Jul 23, 2012 at 12:14 PM, France Baril <france.baril@architextus.com
wrote:
Hi,
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.
IN SUMMARY
- 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
option db:chop 'no'
- The xquery module specifies: declare boundary-space preserve; declare
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