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