<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Frank,</p>
    <p><br>
    </p>
    <p>The content inside the dlentry which has a conref is fallback
      content, it's used only if the conref does not resolve. So what's
      there is not really important. But it also needs to be there to
      make the XML valid according to the DTDs.</p>
    <p>Oxygen by default does not generate that extra paragraph inside
      the dd: "<dd><p/></dd>".</p>
    <p>So this is probably something which you defined in your framework
      customization, maybe you specified in your "cc_config.xml" for
      example that when a "dd" is inserted, Oxygen should also insert a
      paragraph inside it.</p>
    <p>About that Schematron rule, I would refine it to skip looking
      inside elements which contain conrefs:</p>
    <p><br>
    </p>
    <p>
      <blockquote type="cite"><sch:rule
        context="dd[not(parent::*[@conref])]"></blockquote>
      <br>
    </p>
    <p>Regards,</p>
    <p>Radu</p>
    <pre class="moz-signature" cols="72">Radu Coravu
Oxygen XML Editor</pre>
    <p></p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 1/26/23 16:56, Frank Dissinger
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1eaec618-9092-0247-9e60-d4837b59048f@cgs-oris.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Hi list,</p>
      <p><br>
      </p>
      <p>As some of you know, I have just switched from FrameMaker to
        oXygen.</p>
      <p><br>
      </p>
      <p>I discovered that the two programs create different DITA code
        for "<dlentry conkeyref="...">. oXygen creates an empty <b><p/>
        </b>tag before the closing </dlentry> tag. Are both codes
        equally correct? Or is one better than the other?<br>
      </p>
      <p><br>
      </p>
      <p>oXygen code:<br>
      </p>
      <p><font face="Courier New, Courier, monospace">       
          <dlentry conkeyref="lib_ref/search"><br>
                      <dt/><br>
                     </font><font face="Courier New, Courier, monospace">
          <dd><b><p/></b></dd></font><font
          face="Courier New, Courier, monospace"><br>
                  </dlentry><br>
          <br>
        </font></p>
      <p>FrameMaker code:<br>
      </p>
      <p><font face="Courier New, Courier, monospace">      <dlentry
          conkeyref="lib_ref/search"><br>
                     <dt/><br>
                    <font color="#ff0000"> <dd/></font></font></p>
      <p><font face="Courier New, Courier, monospace">    
          </dlentry><br>
          <br>
        </font></p>
      <p>Referenced dita topic:</p>
      <p><font face="Courier New, Courier, monospace">      <dlentry
          id="search"><br>
                  <dt><uicontrol
          keyref="color_search_box"/></dt><br>
                  <dd><p>Use this option to quickly find a
          specific color if many colors are
          loaded.</p><p>Enter the first few <br>
                    letters or any part of the color name. This will
          select the first color the name of which is matched by these<br>
                    characters.</p><p>If your input matches
          multiple colors, click on the small arrow to select a color
          from the<br>
                    list. This list contains only colors with names that
          contain the characters you have entered.</p></dd><br>
                </dlentry></font></p>
      <p><br>
      </p>
      <p>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 (<font
          color="#ff0000"><dd/></font>) 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")?<br>
      </p>
      <p><font face="Courier New, Courier, monospace"><br>
        </font></p>
      <p><font face="Courier New, Courier, monospace">   
          <sch:pattern id="Check_DD"><br>
                  <sch:rule context="dd"><br>
                      <sch:assert
          test="not(text()[normalize-space()])">DD element must not
          contain any text.</sch:assert><br>
                      <font color="#ff0000"><sch:assert
            test="*">DD does not contain any child
            elements</sch:assert></font><br>
                  </sch:rule><br>
              </sch:pattern></font><br>
      </p>
      <p><br>
      </p>
      <p>Regards,</p>
      <p>Frank<br>
      </p>
      <div class="moz-signature">-- <br>
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <title></title>
        <div class="moz-signature">
          <style>div.signature {font-family: Verdana, sans-serif; font-size: 10pt; color: #7F8C8D; padding-top: 0.4em;}div.name {padding-bottom: 0.8em; padding-top: 0.8em}div.contact {padding-bottom: 0.8em;}p {margin: 0;}span.separator {border-top-style: dotted; border-top-width: 2px; padding-top: 0.6em;}a {color: inherit}</style>
          <div class="signature">
            <div class="name">
              <p><strong>Frank Dissinger</strong></p>
              <p>Documentation Manager</p>
              <p>....................................................................</p>
            </div>
            <div class="contact">
              <p><strong>CGS Publishing Technologies International GmbH</strong></p>
              <p><strong>Email </strong><a
                  href="mailto:frank.dissinger@cgs-oris.com"
                  target="_blank" class="moz-txt-link-freetext"
                  moz-do-not-send="true">frank.dissinger@cgs-oris.com</a>
                | <strong>Web</strong> <a
                  href="http://www.cgs-oris.com/" target="_blank"
                  moz-do-not-send="true">www.cgs-oris.com</a></p>
              <p><strong>Address</strong> Kettelerstr. 24 | D-63512
                Hainburg | Germany</p>
              <p><strong>Phone</strong> +49 6182 9626-27 | <strong>Fax</strong>
                +49 6182 9626-99</p>
              <p><strong>Commercial register</strong> Offenbach, HRB no.
                21495</p>
              <p><strong>Managing directors</strong> Bernd Rückert,
                Christoph Thommessen</p>
              <p><br>
              </p>
              <a href="https://www.cgs-oris.com/signatur"
                moz-do-not-send="true"><img
                  alt="https://www.cgs-oris.com/Signatur.png"
                  longdesc="https://www.cgs-oris.com/signatur"
                  src="https://www.cgs-oris.com/Signatur.png"
                  moz-do-not-send="true" width="394" height="200"></a> </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
oXygen-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:oXygen-user@oxygenxml.com">oXygen-user@oxygenxml.com</a>
<a class="moz-txt-link-freetext" href="https://www.oxygenxml.com/mailman/listinfo/oxygen-user">https://www.oxygenxml.com/mailman/listinfo/oxygen-user</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">
</pre>
  </body>
</html>