jelovirt/org.lwdita

Invalid table markup generated by 4.0

infotexture opened this issue · 1 comments

The table markup generated for the spanned cell in the Markdown DITA syntax example is currently not valid DITA.

Given the input table from https://github.com/jelovirt/org.lwdita/wiki/Markdown-Syntax-reference and @format = markdown:

| First Header | Second Header | Third Header |  
| ------------ | :-----------: | -----------: |  
| Content      | *Long Cell*                 ||  
| Content      | **Cell**      | Cell         |  

The 4.0.0 version of the plug-in generates the following DITA table markup when output --format=dita:

<table>
  <tgroup cols="3">
    <colspec colname="col1" colnum="1"/>
    <colspec colname="col2" colnum="2"/>
    <colspec colname="col3" colnum="3"/>
    <thead>
      <row>
        <entry colname="col1">First Header</entry>
        <entry align="center" colname="col2">Second Header</entry>
        <entry align="right" colname="col3">Third Header</entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry colname="col1">Content</entry>
        <entry align="center" namest="col2" nameend="col3" colname="col2"><i>Long Cell</i></entry>
      </row>
      <row>
        <entry colname="col1">Content</entry>
        <entry align="center" colname="col2"><b>Cell</b></entry>
        <entry align="right" colname="col3">Cell</entry>
      </row>
    </tbody>
  </tgroup>
</table>

oXygen reports the following error:

Column name (colname) attribute must not be present when column 
name start (namest) or column name end (nameend) is specified.

This is invalid for LwDITA plug-in. The parsing code for Markdown doens't generate the @colname attribute, it's probably table normalization code in preprocess. More correct place to report this as a bug is org.dita.normalize plug-in.