Re: [docbook-apps] Generating separate closing tags in XHTML webhelp output

From
Kasun Gajasinghe <>
Date
2011-03-04T16:03:01+00:00
ID
AANLkTi=
Thread
Re: [docbook-apps] Generating separate closing tags in XHTML webhelp output
Hi Peter,

On Fri, Mar 4, 2011 at 8:54 PM, Peter Desjardins <> wrote:

Hi. I'm generating webhelp output using the excellent contribution

from Kasun and David

(http://www.thingbag.net/docbook/gsoc2010/doc/content/ch01.html). It

uses the XHTML output stylesheets.

The empty anchor tags in my webhelp output have been collapsed into

single empty element tags like this:

  <a id="foo" />

This makes it hard to style links using CSS because some browsers

don't think the <a /> element has ended and they apply anchor styles

to all the following content (until an anchor element with a separate

closing tag is encountered). This doesn't happen for HTML output; in

HTML output empty anchor elements have separate closing tags like <a

id="anchorname"></a>.

I use Saxon 6.5.5 and I found this posting that indicates separate

closing tags are controlled by the output method:

  http://p2p.wrox.com/xslt/57175-saxon-prevent-closing-empty-elements.html

The webhelp.xsl file in the DocBook webhelp distribution already sets

the output method to HTML but I still see <a id="something" /> in the

resulting XHTML. I'm not sure it's possible to convince Saxon to use

separate closing tags for empty elements in XHTML. Is anyone able to

generate XHTML with separate closing tags using Saxon?

We faced the same problem when we included the <script> tag too, since it too has an empty tag when including the JS src. We circumvented this issue by adding a xsl comment like this. 

<script type="text/javascript" src=""search/htmlFileList.js">

	      <xsl:comment>some comment</xsl:comment>

</script> 

May be this is not a solution for your usecase, but with this you can get something like <a id="anchorname"><!--some comment--></a>. 

 

I altered webhelp.xsl from the webhelp distribution so that it imports

from the HTML directory instead of XHTML in DocBook XSL. Now my anchor

elements have separate closing tags and the resulting webhelp seems to

work properly. Why was XHTML chosen for webhelp? Will switching to

HTML cause problems that I haven't encountered yet?

The main issue with HTML is with the html-search feature. To properly retrieve the content text excluding the html-tags, the html files should be in a proper format. Strict XML is the standard way for this. That's the concern here. I haven't encountered any other major issue in switching to html!

Looking at your mail, I'm assume you are switching from html to xhtml, right? If so, have you encountered any concerns that needs some major effort? If so, tell us about it, we'll see about the possibility of supporting to html format too. 

Thanks for the compliments Peter! :)

--Kasun

-- 
~~~*******'''''''''''''*******~~~
Kasun Gajasinghe,

University of Moratuwa,
Sri Lanka.
Blog: http://kasunbg.blogspot.com
Twitter: http://twitter.com/kasunbg