differences in dita table validation between Oxygen 18 and 19

<oXygen/> general issues.
areilly
Posts: 5

differences in dita table validation between Oxygen 18 and 19

Thu Dec 07, 2017 5:59 pm

Hello,

Just recently got my upgrade to version 19, looking forward to testing out the new features.

Can you give me some insight into the following error?

In Oxygen 18, the following table is validated as correct. In 19, it is validated with an error: "This cell overlaps previous cell." The problem entry is highlighted in bold below. This xml does not affect our PDF build, so wondering if it is something that we need to fix. We are in the middle of a DITA migration, and now have a few thousand files, i think we probably have a fair number of these overlapping rows in our tables.

Code: Select all

         <table id="table_wzr_t3t_x1b">
            <title>Communication Modules</title>
            <tgroup cols="9">
               <colspec colnum="1" colname="col1" rowheader="headers" colwidth="1*"/>
               <colspec colnum="2" colname="col2" rowheader="headers" colwidth="1.5*"/>
               <colspec colnum="3" colname="col3" rowheader="headers" colwidth="1*"/>
               <colspec colnum="4" colname="col4" rowheader="headers" colwidth="1*"/>
               <colspec colnum="5" colname="col5" rowheader="headers" colwidth="1*"/>
               <colspec colnum="6" colname="col6" rowheader="headers" colwidth="1*"/>
               <colspec colnum="7" colname="col7" rowheader="headers" colwidth="1*"/>
               <colspec colnum="8" colname="col8" rowheader="headers" colwidth="1*"/>
               <colspec colnum="9" colname="col9" rowheader="headers" colwidth="1*"/>
               <thead>
                  <row>
                     <entry>Model</entry>
                     <entry namest="col2" nameend="col6">Description</entry>
                     <entry>Size</entry>
                     <entry>Supv.</entry>
                     <entry>Alarm</entry>
                  </row>
               </thead>
               <tbody>
                  <row>
                     <entry>
                        <ph keyref="4100-6078"/>
                     </entry>
                     <entry namest="col2" nameend="col4">For Master Controller; mounts in Slot
                        3</entry>
                   [b] <entry namest="col3" nameend="col4" morerows="1">[/b]Modular network interface
                        card; Class B or Class X (requires up to two media modules ordered
                        separately, see below)</entry>
                     <entry>1Slot</entry>
                     <entry>46 mA</entry>
                     <entry>46 mA</entry>
                  </row>
Radu
Posts: 5221

Re: differences in dita table validation between Oxygen 18 and 19

Fri Dec 08, 2017 9:11 am

Hi,

So on the same table row you have a cell which spans from column 2 to column 4 (<entry namest="col2" nameend="col4">) and a cell which spans from column 3 to column 4 (<entry namest="col3" nameend="col4"). So indeed they seem to be overlapping and in my opinion this should be something you should look into at some point in the future, try to decide which of the cells should span less in order to avoid this overlap.
The PDF might work fine in this case but there is no indication other output formats might work the same or if at some point you update the publishing engine, as your tables have these problems, there is the possibility that a future publishing engine will no longer produce a good PDF from the table structure.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
areilly
Posts: 5

Re: differences in dita table validation between Oxygen 18 and 19

Fri Dec 08, 2017 12:09 pm

thanks Radu, I was expecting you might say something like that :). In your opinion, does this sound like a problem that could be fixed with some XSL processing?

Also, can you tell me which validation file has changed? I would like to be able to revert to the older validation for now.

Aidan
Radu
Posts: 5221

Re: differences in dita table validation between Oxygen 18 and 19

Fri Dec 08, 2017 12:20 pm

Hi Aidan,

In your opinion, does this sound like a problem that could be fixed with some XSL processing?


Do you mean some XSLT processing which would be applied on each topic having such a table and which would automatically rewrite the table structure? Maybe, Oxygen does have XML refactoring capabilities so you could write an XSLT stylesheet and apply it on all your DITA topics to refactor them:

https://www.oxygenxml.com/doc/versions/19.1/ug-editor/topics/refactoring-xml-documents.html

Also, can you tell me which validation file has changed? I would like to be able to revert to the older validation for now.


This particular aspect of validation is done with Java code which resides in the main Oxygen libraries so this is not something to revert.
Oxygen has support for plugins and it has API which can be used to filter out certain problems from being reported. I made such a plugin implementation called validationProblemsFilter here:

https://github.com/oxygenxml/wsaccess-javascript-sample-plugins

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
areilly
Posts: 5

Re: differences in dita table validation between Oxygen 18 and 19

Fri Dec 08, 2017 12:59 pm

OK, thank you Radu! I will have to look into our DITA code in more detail, so how extent the problem is.
areilly
Posts: 5

Re: differences in dita table validation between Oxygen 18 and 19

Fri Dec 08, 2017 2:01 pm

FYI, just a bit more on this. Take this table that has come from a conversion. It is a valid table.

If i open it in the author mode and do the following, i get an error:
* place cursor in the first row
* right click and insert a new row above
* join the leftmost cells in the newly created row

Oxygen now reports a cell overlaps error. If i join the right most cells, i do not get the error.

Code: Select all

         <table frame="all" rowheader="firstcol" id="ID-table-00000002">
            <title>Power Ratings</title>
            <tgroup cols="9">
               <colspec colname="C1" colwidth="8.34*" rowheader="headers"/>
               <colspec colname="C2" colwidth="1*" rowheader="headers"/>
               <colspec colname="C3" colwidth="1.09*" rowheader="headers"/>
               <colspec colname="C4" colwidth="2.6*" rowheader="headers"/>
               <colspec colname="C5" colwidth="3.69*" rowheader="headers"/>
               <colspec colname="C6" colwidth="5.29*" rowheader="headers"/>
               <colspec colname="C7" colwidth="14.19*" rowheader="headers"/>
               <colspec colname="C8" colwidth="10.83*" rowheader="headers"/>
               <colspec colname="C9" colwidth="12.51*" rowheader="headers"/>
               <tbody>
                  <row>
                     <entry valign="middle" colname="C1" colsep="0" morerows="2" rowsep="1"
                        align="left">
                        <p>
                           <b>AC Input Ratings</b>
                        </p>
                     </entry>
                     <entry align="left" valign="middle" colsep="1" namest="C2" nameend="C5"
                        rowsep="1">
                        <p>Input Voltage</p>
                     </entry>
                     <entry valign="middle" colsep="1" namest="C6" nameend="C9" rowsep="1"
                        align="left">
                        <p>120 VAC, 60 Hz; 220/230/240 VAC, 50/60 Hz, auto-select</p>
                     </entry>
                  </row>
                  <row>
                     <entry align="left" valign="middle" colsep="1" namest="C2" nameend="C5"
                        rowsep="1">
                        <p>Input Current, Standard</p>
                     </entry>
                     <entry valign="middle" colsep="1" namest="C6" nameend="C9" rowsep="1"
                        align="left">
                        <p>2 A maximum @ 120 VAC input; 1.5 A maximum @ 240 VAC input</p>
                     </entry>
                  </row>
                  <row>
                     <entry align="left" valign="middle" colsep="1" namest="C2" nameend="C5"
                        rowsep="1">
                        <p>Input Current with Expansion Power Supply</p>
                     </entry>
                     <entry valign="middle" colsep="1" namest="C6" nameend="C9" rowsep="1"
                        align="left">
                        <p>4 A maximum @ 120 VAC input; 3 A maximum @ 240 VAC input</p>
                     </entry>
                  </row>
                  <row>
                     <entry valign="middle" colsep="1" namest="C1" nameend="C5" rowsep="1"
                        align="left">
                        <b>Power Supply Output Rating</b>
                     </entry>
                     <entry valign="middle" colsep="1" namest="C6" nameend="C9" rowsep="1"
                        align="left">
                        <p>3 A maximum @ 24 VDC in alarm (see NAC details on <xref
                              href="detailed_nac_ratings.dita#Detailed_NAC_Ratings"/>)</p>
                     </entry>
                  </row>
                  <row>
                     <entry valign="middle" colsep="1" namest="C1" nameend="C5" rowsep="0"
                        align="left">
                        <b>Battery Charger</b>
                     </entry>
                     <entry valign="middle" colsep="1" namest="C6" nameend="C9" rowsep="0"
                        align="left">
                        <p>Temperature compensated charger is rated for up to 25 Ah per UL 864; up
                           to 12.7 Ah per ULC-S527</p>
                     </entry>
                  </row>
                  <row>
                     <entry valign="middle" colsep="1" namest="C1" nameend="C5" rowsep="0"
                        align="left">
                        <b>Standby Current</b>
                     </entry>
                     <entry valign="middle" colsep="1" namest="C6" nameend="C9" rowsep="0"
                        align="left">
                        <p>130 mA; with 5 IDCs fully loaded, tone-alert silenced, trouble LED on
                        </p>
                     </entry>
                  </row>
               </tbody>
            </tgroup>
         </table>
Radu
Posts: 5221

Re: differences in dita table validation between Oxygen 18 and 19

Fri Dec 08, 2017 2:44 pm

Hi Aidan,

Good point, we fixed this problem a couple of weeks in our development code. Indeed when joining those cells the Oxygen code should have removed that colname="C1" specified on the first cell. We'll have a fix for this in Oxygen 20 (Spring 2018). I will try to update this thread after the release.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

Return to “Other Issues”

Who is online

Users browsing this forum: No registered users and 3 guests