This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Indenting Blocks in HTML Output
- From: <xml at kinowin dot zeddiclan dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 19 Jul 2002 16:06:40 -0500 (CDT)
- Subject: [xsl] Indenting Blocks in HTML Output
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi,
I have an XML file, one of whose productions can be:
<statement>
<startblock/>
<statement_list>...</statement_list>
<endblock/>
</statement>
This represents statement blocks in a traditional programming language,
for example:
if (condition)
{
statement1;
statement2;
...
statementN;
}
My XSL file tries to create HTML from my XML file, and I would like it to
indent statement blocks like these.
I initially tried something like this:
<xsl:template match="statement[ *[1]/self::startblock and
*[2]/self::statement_list and *[3]/self::endblock ]">
<xsl:apply-templates select="*[1]"/>
<xsl:text>    </xsl:text>
<xsl:apply-templates select="*[2]"/>
<xsl:apply-templates select="*[3]"/>
</xsl:template>
But, this of course only indents the first line. Not to be discouraged,
I tried using <dd>s, <ul>s, and <ol>s instead. These do the correct
indenting, and look perfect in Internet Explorer and Mozilla. However,
they put extra lines in when using the Java EditorPane class which is what
I ultimately need to display this in.
I'm wondering if there's a nice way of just doing the   thing but
making it propogate down throughout the rest of the rules? Otherwise if
anyone else has an idea on how to solve this, that would be great.
Thanks a lot!
Jared
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list