This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Indenting Blocks in HTML Output


There are two ways to do this. One is to pass the current depth (or the
indentation string) as a parameter when you do the apply-templates. The
other is, when processing each node, use count(ancestor::*) to determine
its depth in the original tree.

Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com 

> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com 
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of 
> xml@kinowin.zeddiclan.com
> Sent: 19 July 2002 22:07
> To: xsl-list@lists.mulberrytech.com
> Subject: [xsl] Indenting Blocks in HTML Output
> 
> 
> 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>&#160;&#160;&#160;&#160;</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 &#160; 
> 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
> 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]