Michael Smith [Mon, 14 Nov 2005 03:45:28 +0000 (03:45 +0000)]
As far as I can tell, $(MV) is not an implicit variable in make or
GNU make (as $(RM) is). But it was used, without being defined, in
the _footer.mak file. So I added a "MV ?= mv" definiton for it in
the master Makefile, which should cause it to be defined as "mv"
only if it's not already defined in the user's environment.
Michael Smith [Wed, 9 Nov 2005 11:49:28 +0000 (11:49 +0000)]
Changed build to generate a "html-synop.xsl" file and to have it
imported into the driver stylesheet. The build now uses the newly
added html2roff.xsl stylesheet to transform the ../xhtml/synop.xsl
file to generate the html-synop.xsl file. The only transformation
it currently does is to transform <br/> instances into line breaks
and to transform <pre></pre> instances into roff "no fill region"
markup.
This change is a cheap way to enable the manpages stylesheet to
correctly handle OO synopsis content, which it did not handle
correctly previously.
Michael Smith [Tue, 8 Nov 2005 06:01:01 +0000 (06:01 +0000)]
Checkpointing. This currently does not work as-is. I added support
for processing Rowspan correctly and it seems to work as expected,
but still need to do add some handling to actually generate the
tbl(1) format spec.
This implementation relies on holding a big node-set in memory,
containing "Cell" elements store information about the nature of
each cell (e.g., whether it is a "normal" cell, or the result of a
Rowspan or Colspan). I could not figure out a way to implement
support for Rowspan without ending up storing multiple, duplicate,
Cell elements for each cell. (It gets uniq-ified later using the
EXSLT set:distinct function.) The duplication will probably cause
performance and memory issues with big tables. Maybe I will figure
out later how to do it properly; but for now, this will have to do.
Michael Smith [Thu, 3 Nov 2005 09:27:54 +0000 (09:27 +0000)]
Fix for problem of multiple Arg instances in Group not being
separated by vertical bars. Closes #1346716. Thanks to Costin
Stroie for reporting the problem.
Michael Smith [Sat, 29 Oct 2005 09:12:59 +0000 (09:12 +0000)]
Changed check for *info child in id.warning template from using
contains() to using ends-with() -- because contains() will match
informal* elements (informaltable, etc) too -- not just *info
elements.
Also added check to make sure that *info element matched actually
has a title (because some *info elements may not -- title is not a
required child of *info elements).
And FWIW, I don't think it is too aggressive to have the default
behavior be to have the stylesheets emit notification messages
about ID-less titled objects. If it were the default to have it
not emit those, most users would probably never take the time to
turn it on, including the users who it is most meant to benefit
(those who don't yet know why they ought to be putting IDs on
their titled objects).
Norman Walsh [Fri, 28 Oct 2005 12:35:15 +0000 (12:35 +0000)]
New parameter: id.warnings. If non-zero, warnings are generated for titled objects that don't have titles. True by default; I wonder if this will be too aggressive?
Norman Walsh [Thu, 27 Oct 2005 13:47:55 +0000 (13:47 +0000)]
Map info elements to the right *info element when stripping NS. Set xml:base on external references rather than directly changing @fileref. Map xml:id to id.
Norman Walsh [Thu, 27 Oct 2005 13:46:46 +0000 (13:46 +0000)]
If the keep.relative.image.uris parameter is true, don't use the absolute URI (as calculated from xml:base) in the img src attribute, us the value the author specified. Note that we still have to calculate the absolute filename for use in the image intrinsics extension.
Michael Smith [Thu, 20 Oct 2005 13:48:49 +0000 (13:48 +0000)]
First shot at implementing table support in the manpages
stylesheet. This works well as-is for normal span-less tables. It
even works for tables with colspans. But it does not yet even
attempt to do anything for rowspans. It will take more work to
add rowspan handling that. Not sure if it's worth the work, really.
Note: This table support is implemented by do a first pass to
process each table using the templates in the HTML stylesheet
(which we import). We don't override any of the <row> or <tr> or
<entry> or <td>, etc., table-markup templates, but we do override
the block and inline templates for whatever the child content of
the <entry> and <td> instances. So we end up with a node that has
"hybrid" output -- with table rows and cells marked up with HTML
<tr> and <td> tags, with with the <td> child content marked up in
roff.
So we use exsl:node-set on that node and make a second-pass
through all of it to replace the <tr> and <td> parts with tbl(1)
macros. Voila -- the end result is properly marked up tbl/roff
output for the table.
One nice thing about doing it this is that it supports both CALS
and HTML table markup, without needing any conditional logic to
deal with CALS separately. Because the first pass causes both the
CALS and HTML source markup to be "normalized" into HTML.