[Top] [All Lists]

Re: [xsl] modify output document elements

2020-03-04 12:01:21
You can put a constructed sub-tree in a variable:

<xsl:variable name="t">

and then do further transformations on the content of this variable

<xsl:apply-templates select="$t" mode="post-process"/>

If you're still using the old XSLT 1.0 version, there are restrictions on using 
variables this way, which (with most processors) you can get around with an 
extension function:

<xsl:apply-templates select="exsl:node-set($t)" mode="post-process"/>

Michael Kay

On 4 Mar 2020, at 17:49, Kammering, Raimund 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:


I have a stylesheet which creates a HTML output document dynamically based on 
the incoming XML file. I use some for-each loop to get the processing done in 
the right order. My layout causes the stylesheet to look like this:

 <xsl:template name="details_table">
   <table border="0" cellspacing="0">
       <td width="64px">
         <a href="#" onclick="toggle('{$details_table}')" title="show/hide 
           <img src="show_hide.png"/>
     <table id="{$details_table}" cellspacing="3" style="display: block">
         <td width="64px">
           <img border="0" src="{$imagedir}/null.gif"/>
         <th align="left">Start</th>
         <th align="left">End</th>
         <th align="left">Duration [h]</th>
         <th align="left">Type</th>
         <th align="left">Category</th>
         <th align="left">Comment</th>

           <xsl:when test=".='Down'">
             <td width="150" valign="top">
                 <xsl:when test="../Down='not_set'">
                    <font color="red">not_set</font>
                    <xsl:value-of select="../Down"/>

Now I would like to modify the style of the details_table depending on the 
outcome of the test within the for-each loop. Since the table element has 
already been created, I do not know how one could do this without changing 
the overall logic. Is there a way to access the elements of the created HTML 
DOM tree from within the stylesheet? Or am I hunting in the wrong direction?!

Any ideas/help welcome - greetings,
Raimund Kammering

XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
<Prev in Thread] Current Thread [Next in Thread>