This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
Re: DocBook XML/XSL - shaded?
- To: docbook-apps at lists dot oasis-open dot org
- Subject: Re: DOCBOOK-APPS: DocBook XML/XSL - shaded?
- From: Jon Willeke <willeke at intersys dot com>
- Date: Fri, 03 Aug 2001 13:20:38 -0400
- References: <"from hship"@primix.com><433B57A6AF35D511873200508B634CDC05CE74@mail02.primix.com>
If you're only concerned about HTML, use a CSS stylesheet. My preference
is to shade screens, but not programlistings, so I use the following:
pre {
border: 1px solid black;
padding-left: 1em;
padding-right: 1em;
}
pre.screen {
background-color: #dfdfdf;
}
(You would specify the background-color in pre or add a rule that matches
pre.programlisting.)
I link this stylesheet to the generated HTML by adding the following to the
customization layer:
<xsl:variable name="html.stylesheet">docbook-jcw.css</xsl:variable>
At 8/3/01, Dan York wrote:
>Howard,
>
> > I've got most things working OK except I can't find a parameter like
> > %shaded-verbatim% to make my program listings display with the nice grey
> > background.
>
>There is as yet no parameter in Norm's standard XSL distribution that does
>this.
>
> > Is there an easy way to do this? Does someone have a modified XSL template
> > that shows how to accomplish this?
>
>I have done this in the customization layers I have built for both our
>organization and also for the Linux Documentation Project. You can see my
>e-smith stylesheet at:
>
> http://www.e-smith.org/docs/e-smith.xsl
>
>and the document describing it at:
>
> http://www.e-smith.org/docs/docprocess.html
>
>The LDP XSLT stylesheets are viewable through the LDP's CVS at:
>
> http://cvsview.linuxdoc.org/index.cgi/builder/xsl/
>
>The relevant file there to look at is 'ldp-html-common.xsl'.
>
>Basically, you want to modify the XSLT template for the elements to
>be shaded. The code looks like:
>
><xsl:template match="programlisting|screen|synopsis">
> <xsl:param name="suppress-numbers" select="'0'"/>
> <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
> <xsl:variable name="id"><xsl:call-template
> name="object.id"/></xsl:variable>
>
> <xsl:if test="@id">
> <a href="{$id}"/>
> </xsl:if>
>
> <xsl:choose>
> <xsl:when test="$suppress-numbers = '0'
> and @linenumbering = 'numbered'
> and $use.extensions != '0'
> and $linenumbering.extension != '0'">
> <xsl:variable name="rtf">
> <xsl:apply-templates/>
> </xsl:variable>
> <table border="0" bgcolor="#E0E0E0" width="90%">
> <tr><td>
> <pre class="{name(.)}">
> <xsl:call-template name="number.rtf.lines">
> <xsl:with-param name="rtf" select="$rtf"/>
> </xsl:call-template>
> </pre>
> </td></tr></table>
> </xsl:when>
> <xsl:otherwise>
> <table border="0" bgcolor="#E0E0E0" width="90%">
> <tr><td>
> <pre class="{name(.)}">
> <xsl:apply-templates/>
> </pre>
> </td></tr></table>
> </xsl:otherwise>
> </xsl:choose>
></xsl:template>
>
>The key is that you notice I added a <table border=... bgcolor=...>
>tag that wraps the contents of the <programlisting>, <screen> or
><synopsis> inside of an HTML table that is shaded.
--
Jon Willeke, Quality Development 617-577-3677
------------------------------------------------------------------
To unsubscribe from this elist send a message with the single word
"unsubscribe" in the body to: docbook-apps-request@lists.oasis-open.org