Subject: Re: [jats-list] Row headers in OASIS table model From: "Debbie Lapeyre dalapeyre@xxxxxxxxxxxxxxxx" <jats-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 14 Sep 2022 22:34:38 -0000 |
> On Sep 14, 2022, at 5:32 PM, Michael Boudreau mboudreau@xxxxxxxxxxxx <jats-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > We use the OASIS table model in our JATS 1.2 XML for in-house editing with Arbortext Editor. Is there a way to tag a table row so that the first cell in the row is designated as a row header, so that this > > > > <row> > <entry>Row header</entry> > <entry>Some value</entry> > <entry>Another value</entry> > </row> > > can be converted to this > > <tr> > <th scope="row">Row header</th> > <td>Some value</td> > <td>Another value</td> > </tr> > OASIS THEADS ARE NOT FOR YOU Not directly. OASIS <tgroup>s hold both <header> and <body> elements, but OASIS table header elements are COLUMN headers and you want a ROW header. That is, the OASIS headers are not in the same row; they expect the header to be its own (first) row. So here is a typical OASIS table, which does NOT help you a bit: <table> <tgroup cols="3"> <colspec colnum="1" .../> <colspec colnum="2" .../> <colspec colnum="3" .../> <thead> <row> <entry>Row header</entry> <row> <thead> <tbody> <row> <entry>Some value</entry> <entry>Another value</entry> </row> </tbody> </tgroup> </table> THE CONCEPTUAL PROBLEM How do you recognize an entry that needs to become a <th>? Should every first entry in a row become a <tr>? Only if it has content? How? POSSIBLE HACKS IFF you can ALWAYS recognize a potential row header entry, you can probably hack this. I suggest attribute(s) on the first entry in each row, or however else you are recognizing that you want this entry to become a <th>. You might want to just set up your @scope attribute. The attributes that already attach to <entry> are: colname NMTOKEN #IMPLIED namest NMTOKEN #IMPLIED nameend NMTOKEN #IMPLIED morerows NMTOKEN #IMPLIED colsep %yesorno; #IMPLIED rowsep %yesorno; #IMPLIED align (left|right|center|justify|char) #IMPLIED char CDATA #IMPLIED charoff NMTOKEN #IMPLIED valign (top|middle|bottom) #IMPLIED And there also is a parameter entity (%tbl.entry.att;) that lets you add any attributes you want. You need to set the parameter entity in a customization module or in the DTD BEFORE calling the OASIS table model. It would be easy enough to add a @scope attribute, but if the value is not always "row", I do not know how you would decide the value. Hope this helps. CALS is just not set up in the way you would like it to be. --Debbie ================================================================ Deborah A Lapeyre mailto:dalapeyre@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com Rockville, MD 20851 Phone: 301-315-9631 (USA) ---------------------------------------------------------------- Mulberry Technologies: Consultancy for XML, XSLT, and Schematron ================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[jats-list] Re: Row headers in OASI, Michael Boudreau mbo | Thread | Re: [jats-list] Row headers in OASI, Michael Boudreau mbo |
[jats-list] Re: Row headers in OASI, Julie Blair julie.bl | Date | [jats-list] Re: Row headers in OASI, Michael Boudreau mbo |
Month |