[Framers] Space being removed in structured output

Alan Houser arh at groupwellesley.com
Tue Dec 11 08:51:14 PST 2018


I concur w/Scott, that XML whitespace handling is trickier than one 
might expect, and that the FrameMaker behavior is as expected for an 
XML-processing application.

There's also a maker.ini setting that may achieve what you wish. 
RemoveExtraWhiteSpacesOnXMLImport=FALSE.

However, this global setting may trigger unexpected whitespace handling 
for other elements.

In XSLT workflows, there's also <xsl:preserve-space /> and 
<xsl:strip-space /> to modify default whitespace handling, settable on a 
per-element basis.

HTH!

-Alan


On 12/11/18 11:40 AM, Scott Prentice wrote:
> This is a tricky subject, and one that's been debated for years (not 
> just related to FM). This particular situation isn't a bug (and 
> DITA-FMx would handle it the same way) .. according to the XML 
> specification[1], it's valid for XML processors to strip leading and 
> trailing whitespace from text nodes. If you want the whitespace to be 
> preserved you need to identify that element as a "preserve space" 
> element (xml:space="preserve").
>
> Yes .. in general, if you want the whitespace to have a chance of 
> surviving, don't put it at the beginning or end of the element.
>
> [1] 
> https://www.w3.org/2008/xmlsec/Drafts/xml-norm/Overview.html#sec-Requirements-Robustness
>
> Cheers,
> ...scott
>
>
> On 12/11/18 8:17 AM, Yves Barbion wrote:
>> I have just tested this in FrameMaker 2017 (with DITA-FMx) and in 2019
>> (without DITA-FMx):
>>
>>     1. Open the topic as you posted it (in Frame 2017 and 2019).
>>     Result: the space after <i>Safe life </i> is gone, so no space 
>> between
>>     the words "life" and "design" anymore.
>>     2. Remove the space  after the word "life" and type a space right 
>> after
>>     the  italics end tag </i>, so just before the word "design". Then 
>> save,
>>     close and reopen the file.
>>     Result: Surprise! The space is still there.
>>
>> I think it's a better practice in general to type the space outside the
>> inline element.
>>
>> Kind regards
>>
>> Yves
>>
>>
>>
>>
>> On Tue, 11 Dec 2018 at 16:59, Rick Quatro <rick at rickquatro.com> wrote:
>>
>>> Thank you Yves. I am taking care of this now in my XSLT, but I may 
>>> fix it
>>> in
>>> the source.
>>>
>>> -----Original Message-----
>>> From: Framers 
>>> <framers-bounces+rick=rickquatro.com at lists.frameusers.com>
>>> On
>>> Behalf Of Yves Barbion
>>> Sent: Tuesday, December 11, 2018 10:52 AM
>>> To: framers at lists.frameusers.com
>>> Subject: Re: [Framers] Space being removed in structured output
>>>
>>> Hi Rick
>>>
>>> That's the old "whitespace normalization" bug. Sometimes, FrameMaker 
>>> has a
>>> problem with inline elements, such as <i>. By the way, you should use a
>>> "more semantically appropriate element" as per the DITA spec, but I
>>> digress.
>>>
>>> This has been discussed years ago in this user group, so you may 
>>> want to
>>> seach for "whitespace" in the archives. Scott's DITA-FMx plugin 
>>> seems to do
>>> a better job with whitespace normalization.
>>>
>>> Cheers
>>>
>>> Yves Barbion
>>> www.flowtime.be
>>>
>>>
>>>
>>> On Tue, 11 Dec 2018 at 16:39, Rick Quatro <rick at rickquatro.com> wrote:
>>>
>>>> If the space is after the </i> tag instead of inside of it, it works
>>>> as it should. That is a dumb "feature" if you ask me.
>>>>
>>>> -----Original Message-----
>>>> From: Framers
>>>> <framers-bounces+rick=rickquatro.com at lists.frameusers.com>
>>>> On
>>>> Behalf Of Rick Quatro
>>>> Sent: Tuesday, December 11, 2018 9:17 AM
>>>> To: 'An email list for people using Adobe FrameMaker software.'
>>>> <framers at lists.frameusers.com>
>>>> Subject: [Framers] Space being removed in structured output
>>>>
>>>> Hi All, I am generating dita programatically:
>>>>
>>>>
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>
>>>> <!DOCTYPE concept
>>>>
>>>>    PUBLIC "-//OASIS//DTD DITA 1.3 Concept//EN"
>>>> "technicalContent/dtd/concept.dtd">
>>>>
>>>> <concept id="i729608">
>>>>
>>>>     <title xtrf="Heading2">Safe Life</title>
>>>>
>>>>     <conbody>
>>>>
>>>>        <p xtrf="Para">
>>>>
>>>>           <i>Safe life </i>design provides reserves
>>>>
>>>> in all aspects of the structure by factoring all calculations.</p>
>>>>
>>>>     </conbody>
>>>>
>>>> </concept>
>>>>
>>>>
>>>>
>>>> When I open this concept in FrameMaker, the space after "Safe life" in
>>>> the <p> element is being removed. Is there a setting in structured
>>>> FrameMaker that I am missing? I am using FM 2019 with the standard 
>>>> DITA
>>> applications.
>>>> Thank you very much.
>>>>
>>>>
>>>>
>>>> Rick
>>>>
>>>>
>>>>
>>>> Rick Quatro
>>>>
>>>> Carmen Publishing Inc.
>>>>
>>>> rick at frameexpert.com
>>>>
>>>> 585-729-6746
>>>>
>>>> www.frameexpert.com/store/
>>>>
>>>>
>>>>
>>>> Save on energy at quatro.mystream.com
>>>>
>>>>

-- 
Alan Houser
Group Wellesley, Inc.
Consultant and Trainer, Technical Publishing
arh on Twitter
412-450-0532



More information about the Framers mailing list