[xsl] How do insert after a line break but before the next text element?

Subject: [xsl] How do insert after a line break but before the next text element?
From: Greg Kushmerek <gkushmer@xxxxxxxxxxxxx>
Date: Tue, 11 Jun 2002 11:08:52 -0400
Hello all,

Before I continue, I'll just say that yes I'm a newbie, and that I've also been combing
through various FAQs, the archive, and have been playing with an XSLT stylesheet
and the Xalan engine.


My goal is to write XSL that transforms some XML into NROFF, which really means
that I'm marking up ASCII and have to contend with whitespace issues along the way.


For example, here is some XML I have:

 <Synopsis>
    <c>mmerge</c> <o>[-n] [-to <var>tag</var>|<var>rev</var>]
    [-from <var>tag</var>|<var>rev</var>] [-v[<var>N</var>]] [-mytag]
    [-noeditor] [mput_options] <var>file</var>...</o>

    <c>mmerge</c> <o>[-n] [-to <var>tag</var>|<var>rev</var>]
    [-v[<var>N</var>]] [-noeditor] [mput_options]
    -j <var>job@cluster</var> [...]</o>
   </Synopsis>

My Synopsis element has this:

<!-- SYNOPSIS -->
 <xsl:template match="Synopsis">
.SH SYNOPSIS
<xsl:text/><xsl:apply-templates /><xsl:text/>
 </xsl:template>

I then have templates defined later. For example:

<!-- var template -->
 <xsl:template match="var">
.IR <xsl:text /><xsl:value-of select="." />
 </xsl:template>

Now this has the following effect:

    mmerge [-n] [-to
.IR tag|
.IR rev]
    [-from
.IR tag|
.IR rev] [-v[
.IR N]] [-mytag]
    [-noeditor] [mput_options]
.IR file...

I want to zoom in on two issues this raises for me:

1. The second line in that output has the bar (|) right after "tag" even though
it's not part of the <var> element. How would I make that appear on the next line?


2. I'd like to insert characters at the beginning of the line with "[-from]" or the pipe
that I break onto the next line.


I'm just as content if people can direct me to the correct place to look to understand
how these things work (or should work). Thanks for any help!



--gk


Greg Kushmerek
Sr. Technical Writer
IA/Tools
The MathWorks
(+1) 508-647-7136


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread