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:
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 &#160; 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
    • 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 $:= 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



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