Hi list,


As some of you know, I have just switched from FrameMaker to oXygen.


I discovered that the two programs create different DITA code for "<dlentry conkeyref="...">. oXygen creates an empty <p/> tag before the closing </dlentry> tag. Are both codes equally correct? Or is one better than the other?


oXygen code:

        <dlentry conkeyref="lib_ref/search">
            <dt/>
           
<dd><p/></dd>
        </dlentry>

FrameMaker code:

      <dlentry conkeyref="lib_ref/search">
           <dt/>
           <dd/>

     </dlentry>

Referenced dita topic:

      <dlentry id="search">
        <dt><uicontrol keyref="color_search_box"/></dt>
        <dd><p>Use this option to quickly find a specific color if many colors are loaded.</p><p>Enter the first few
          letters or any part of the color name. This will select the first color the name of which is matched by these
          characters.</p><p>If your input matches multiple colors, click on the small arrow to select a color from the
          list. This list contains only colors with names that contain the characters you have entered.</p></dd>
      </dlentry>


BTW: This difference became obvious after defining a Schematron rule which outputs an error for <dd> elements which do not have any child elements. I have defined this rule and many similar ones because I want to wrap every paragraph in <p> wherever <p> is valid. The FM-generated code (<dd/>) is marked up as invalid by this rule. It would be a nightmare to change all these hundreds of "conkeyref"s in all my projects. Or should I just do without this check (i.e. the second "assert")?


    <sch:pattern id="Check_DD">
        <sch:rule context="dd">
            <sch:assert test="not(text()[normalize-space()])">DD element must not contain any text.</sch:assert>
            <sch:assert test="*">DD does not contain any child elements</sch:assert>
        </sch:rule>
    </sch:pattern>


Regards,

Frank

--

Frank Dissinger

Documentation Manager

....................................................................

CGS Publishing Technologies International GmbH

Email frank.dissinger@cgs-oris.com | Web www.cgs-oris.com

Address Kettelerstr. 24 | D-63512 Hainburg | Germany

Phone +49 6182 9626-27 | Fax +49 6182 9626-99

Commercial register Offenbach, HRB no. 21495

Managing directors Bernd Rückert, Christoph Thommessen


https://www.cgs-oris.com/Signatur.png