[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Best way to implement author-specified keep-with-next options?
Hi, I think you will find that your solution works in some locations but not others. Since the PI generates an <xsl:attribute> element, it must be processed right after an output element is opened but before any content is added to it. In your para example it will work, but most likely in other places it will generate an error message and not work because the template already generated some content before it does xsl:apply-templates (which triggers the processing of the PI). I don't think there is a general solution for using a processing instruction to insert a keep (or any other) property. But if it works in the situations you need, then your implementation is fine. Bob Stayton Sagehill Enterprises DocBook Consulting bobs@sagehill.net ----- Original Message ----- From: "Johnson Earls" <darkfoxprime@yahoo.com> To: <docbook-apps@lists.oasis-open.org> Sent: Wednesday, July 25, 2007 3:06 PM Subject: [docbook-apps] Best way to implement author-specified keep-with-next options? > Hello! > > In the document I'm working on, I'm finding a need to specify the > keep-with-next option in several places. Since docbook-xsl 1.73.0 > doesn't seem to provide this by itself, I came up with the following > simplistic approach. Is this the "right" way to do things? > > <!-- ---------------- in FO customization layer: ---------------- --> > <!-- > Custom processing instruction target: NeoBook > --> > <xsl:template match="processing-instruction('NeoBook')"> > <xsl:variable name="keep.with.next"> > <xsl:call-template name="pi-attribute"> > <xsl:with-param name="pis" select="." /> > <xsl:with-param name="attribute" > select="'keep-with-next'" /> > </xsl:call-template> > </xsl:variable> > <xsl:if test="$keep.with.next != ''"> > <xsl:attribute name="keep-with-next.within-column"> > <xsl:value-of select="$keep.with.next" /> > </xsl:attribute> > </xsl:if> > </xsl:template> > > <!-- ---------------- in document: ---------------- --> > > <para><?NeoBook keep-with-next="always"?> > text of paragraph goes here > </para> > <para> > The previous paragraph will always be kept > with this paragraph. > </para> > > <!-- ---------------- ---------------- --> > > Thanks in advance! > - Johnson > > > > ____________________________________________________________________________________ > Be a better Globetrotter. Get better travel answers from someone who > knows. Yahoo! Answers - Check it out. > http://answers.yahoo.com/dir/?link=list&sid=396545469 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org > > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]