OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: improve DocBook's HTML output

I have had a long standing goal to modernize the HTML output from the 
DocBook XSL stylesheets. We have too many instances of hardcoded styles like 
<b> and other transgressions of modern HTML practice.

The problem is that doing the whole job is a big undertaking, and I, for 
one, have never had the free time for it all. So instead I'd like to propose 
a scheme to get there incrementally, so that improvements can be made by 
many participants instead of just one.

One of the critical features of this updating is adding a CSS stylesheet to 
the output.   Many of the current "bad" output coding could be cured through 
CSS applied to class attributes. So I'd like to start the transition by 
adding a mechanism to generate a default CSS stylesheet, which could be used 
as a starting point for further CSS styling.

I think two params could control this feature:

1.  A new param named 'make.strict.html' would be used by the stylesheet to 
replace any current instances of bad coding with good coding and CSS styles. 
Or we could just say the the existing param 'make.valid.html' should do 
this.  Strictly speaking, these items are not necessarily invalid HTML, but 
maybe people expect better HTML when using this param.

2.  A new param named 'generate.css', which when set to 1, will generate a 
CSS stylesheet file. The name of the file is given by the existing 
'html.stylesheet' param. The generated stylesheet would contain selectors 
for all class attributes in the HTML output, and any styles that are needed 
to format the new clean version of an element.   Most of the selectors would 
be empty of styles, but would be available for further styling of the HTML 
output.  If 'generate.css' is zero, then it is up to the user to supply the 
CSS file.  By default, 'generate.css' should be zero so as to not overwrite 
an existing CSS file.

Once this mechanism is in place, we could gradually comb through the 
existing XSL and gradually replace deprecated HTML coding with clean coding.

So if you were just starting out, you could run the process with 
'generate.css' = 1 and 'make.strict.html' = 1 to generate a starting CSS 
file.  After you edit the CSS file, though, you would leave 'generate.css' = 
0 and just run with 'make.strict.html' = 1.

Comments and suggestions?

Bob Stayton
Sagehill Enterprises

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]