[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: DOCBOOK-APPS: HTML stylesheets emit warnings when <para> used asroot element
On Fri, Oct 18, 2002 at 12:10:01PM +0100, Kevin.Ruscoe@ubsw.com wrote: > Hi > > 1) Given the following document: > > ============================================ > <?xml version='1.0'?> > <!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "docbookx.dtd" > [ > <!ENTITY % xinclude PUBLIC "-//UBS//CORE//DTD XInclude V1.0//EN" "xinclude.dtd"> > %xinclude; > ] > > > > <para id="panel"> > <xi:include href="panel_common.dbk#xpointer(/para/child::*)"/> > > <ulink url="/home/overview.html"><emphasis>OVERVIEW</emphasis></ulink> > <ulink url="/overview/features.html">Features</ulink> > ...snip - several more, similar lines... > </para> > ============================================ > > xmllint validates the file with no errors, so the use of <para> as a root element is valid. > Out of curiosity, is there an easily accessible list of valid root elements in DocBook? I don't think there are any restrictions on which elements can be a root element. However, as you learned, the stylesheets don't necessarily support any element as a root element. This would be especially true in XSL-FO where page sequence have to be started. > 2) When I run xsltproc against the document, I get the following warning: > > "No template named "para" exists in the context named "title" in the "en" localization." > > (although correct HTML is produced nonetheless). That message is produced by the template named 'head.content' in html/docbook.xsl as it tries to generate an HTML <TITLE> element for inclusion in the HTML <HEAD>. A para has no title, and that is what it is reporting. The message itself comes from the template named 'gentext.template' in common/l10n.xsl. > > Do people agree that this counts as a bug in the > stylesheets? If so, I will raise a bug report. > 3) For interest, and in case the response is "Well, it may be valid, but is it not a rather odd thing to do?" :-) perhaps I should explain our use of such documents... > > Previously, we used to maintain panels for the various parts of our websites in HTML and keep them fixed on the page using frames. Now that we have migrated all of our websites to DocBook, these panels are kept as DocBook source. For all DocBook pages, we keep the panels fixed on the page by using CSS2 Fixed Positioning (see http://www.w3.org/TR/REC-CSS2/visuren.html#fixed-positioning). So, each page XIncludes the appropriate panel. However, certain areas of our websites are outside of our control and hence cannot be written in DocBook. To maintain a fixed panel for those areas, we need to retain our frame-based approach. This requires us to generate HTML files from the panels themselves, to be used by the frame-based areas. > > It is true that we could code around the warning by wrapping every panel document in an <article> tag (say) and modifying the XInclude statements to say > > <xi:include href="panel_home.dbk#panel"/> > > instead of just > > <xi:include href="panel_home.dbk"/> > > but we would prefer to leave things as they are. > > My tool chain is as follows: > DocBook DTD v4.2 > DocBook XSL v1.56.1 > libxml2 v2.4.22 > libxslt v1.0.20 Well, a document that consists of just a paragraph is a bit unusual. It is unusual enough to suggest that a customization would be in order. You could suppress the message with an empty template in a customization layer: <xsl:template match="para" mode="object.title.markup"/> In your framed environment, you probably don't need an HTML <TITLE> element in these fragments anyway. -- Bob Stayton 400 Encinal Street Publications Architect Santa Cruz, CA 95060 Technical Publications voice: (831) 427-7796 Caldera International, Inc. fax: (831) 429-1887 email: bobs@caldera.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC