Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jan 2001 15:53:20 +0000
From:      Nik Clayton <nik@freebsd.org>
To:        Alexander Langer <alex@freebsd.org>
Cc:        Nik Clayton <nik@freebsd.org>, cvs-committers@freebsd.org, cvs-all@freebsd.org, doc@freebsd.org, nwalsh@nwalsh.com
Subject:   Re: cvs commit: ports/textproc/dsssl-docbook-modular Makefile ports/textproc/dsssl-docbook-modular/files patch-common_dbl1de.dsl
Message-ID:  <20010119155319.A48911@canyon.nothing-going-on.org>
In-Reply-To: <20010119125752.A56295@cichlids.cichlids.com>; from alex@freebsd.org on Fri, Jan 19, 2001 at 12:57:52PM %2B0100
References:  <200101190840.f0J8e7e87294@freefall.freebsd.org> <20010119105051.A47479@canyon.nothing-going-on.org> <20010119125752.A56295@cichlids.cichlids.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I've cc'd Norm Walsh on this -- Norm, perhaps you could suggest a more
elegant approach to the problem? ]

On Fri, Jan 19, 2001 at 12:57:52PM +0100, Alexander Langer wrote:
> Thus spake Nik Clayton (nik@freebsd.org):
> 
> > This is actually broken in our customisation layer in the most recent
> > versions of the base stylesheets.  Norm re-worked how he did things,
> > which is why the Handbook says things like "WarningDon't do this"
> > instead of "Warning: Don't do this.".
> > Fixing it is on my list of things to do, unless someone beats me to it.
> 
> Oh - wait...
> Do you mean this has to be fixed somewhere in *our* doc/ tree?

Sort of.

In an earlier version of Norm's stylesheets, he had a function called
$admonition$ that was used by <note>, <important>, and <tip>.

The $admonition$ function used variables like en-note-label-title-sep to
work out what to put between text like "Note" and the title.  So Norm's
stylesheets had things like
    
    (define en-note-label-title-sep ": ")

in them, which is how 

   <note><para>A test note</para></note>

became

   Note: A test note

<warning> and <caution> were handled differently.  They had their own
function to draw a box around them (or put them in a table), and do
sundry other bits and pieces.  In particular, this style of presentation
meant that the "Warning" and "Caution" label was placed on a separate
line, so there was no need for ':' to separate the two pieces of text.
However, for (I guess) completeness, Norm's sheets still defined the
equivalent en-warning-label-title-sep variable (and it's <caution>
equivalent).

I changed this in our customisation, so that <warning> and <caution> 
used the same $admonition$ function, and redefined the
en-warning-label-title-sep and en-caution-label-title-sep variables
appropriately.

All was well.

Then Norm changed how he did things.  Instead of using a bunch of
variables, one per (language x element) pair, he created this function
called gentext-label-title-sep (and others in the same style).  I
suspect this probably makes the DSSSL processing faster, or something.

The problem with this, from our point of view, is that it's no longer
possible to override a single entry in our customisation.  Instead, to
fix <warning> and <caution>, I have to duplicate all of the code from 
dbl1en.dsl that defines the en-label-title-sep hash[1] *or* rewrite the
gentext-en-label-title-sep function so that it special cases <warning>
and <caution> before it looks in the en-label-title-sep hash.

Neither of which are particularly clean, so I've sort of ignored the
problem, in the hope that I dream up a better way.

The alternative is to do what you've done, which is patch the
stylesheets as they're installed.  That's not really the perfect
approach either, as anyone that tries to formation documentation on
FreeBSD that doesn't use our customisation layer will now find that they
get a spurious ': ' inserted when they use <warning> or <caution>.

Anyway, that's the problem, and we have at least three solutions, none
of which are (IMHO) optimal.  Any suggestions for a fourth way?

N
-- 
Internet connection, $19.95 a month.  Computer, $799.95.  Modem, $149.95.
Telephone line, $24.95 a month.  Software, free.  USENET transmission,
hundreds if not thousands of dollars.  Thinking before posting, priceless.
Somethings in life you can't buy.  For everything else, there's MasterCard.
  -- Graham Reed, in the Scary Devil Monastery


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010119155319.A48911>