This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: DocBook XML/XSL - shaded?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]