Since I've got some good feedback on my last snippet, here is the new
version that display named line/column for the arrays ;)

Gauthier

----- Original Message -----
From: "[Gauthier]" <[EMAIL PROTECTED]>
To: "Multiple recipients of list witango-talk" <[EMAIL PROTECTED]>
Sent: Friday, June 07, 2002 11:01 AM
Subject: Re: Witango-Talk: naming column/line of array


> Hi,
>
> I'm very glad to act as reminder for you ;)
> hopefully for Henning Sittler the other explanations was more
> understandable...
>
> I'm currently extensively using this notation for my cache system, but I
> don't know if it can lead to performance fall or if the server manage a
> double indexing (numbers and named elements) with array, did anyone have
an
> idea on how it work on the server side implementation?
>
> Thanks!
>
> Gauthier
>
> ----- Original Message -----
> From: "Scott Cadillac" <[EMAIL PROTECTED]>
> To: "Multiple recipients of list witango-talk" <[EMAIL PROTECTED]>
> Sent: Thursday, June 06, 2002 8:08 PM
> Subject: Re: Witango-Talk: naming column/line of array
>
>
> > D'oh!
> >
> > Thank you Gauthier, I had forgotten about that feature.
> >
> > After assigning a value to the zero '0' column - it's becomes an
excellent
> > way to report back the row number of a record in an array when using
> > something like <@FILTER>.
> >
> > Thank you. Cheers...
> >
> > Scott Cadillac
> > http://xml-extra.net
> > [EMAIL PROTECTED]
> >
> > VP, Research and Development
> > Plus International Corp.
> > 604-460-1843
> > [EMAIL PROTECTED]
> > http://www.plusinternational.com
> >
> > Vancouver, BC, Canada
> >
> > Does your company have an Enterprise Information Portal? Check out Salsa
> at
> > www.plusinternational.com/flash/salsa.htm
>
>
>
____________________________________________________________________________
__
> ifrance.com, l'email gratuit le plus complet de l'Internet !
> vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> http://www.ifrance.com/_reloc/email.emailif
>
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
>                 with unsubscribe witango-talk in the message body
<@debug>
<@assign local$scopeArray <@array value="Domain;User;Local;">>
<style type="text/css">
    body {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 10px;}
         span.tab, span.tabOn, span.tabOff {border:1px solid #000; cursor:pointer; 
line-height:15px;}
         span.tabOn, .debugVarTable td.on {background-color:#369; color:#FFF;}
         span.tabOff, .debugVarTable td.off  {background-color:#FFF; color:#369;}
    .tabGrp {width:30%;}
         #tabContent{ overflow:scroll; overflow-x:hidden ; height:200px;border:1px 
solid #369;}
        .debugVarTable td { border:1px solid #000;}
        #varContent {border:4px dashed #336699;}
</style>
<div class="tabGrp" id="tabGrpDebugWitango">
        <div id="tabHeader">
        <@rows array="local$scopeArray">
                <span class="tab" id="scope<@var local$scopeArray[<@currow>,1]>" 
onclick="selectTab(this);"><@var local$scopeArray[<@currow>,1]> Scope</span>
        </@rows>
        </div>
        <div id="tabContent">
                <@rows array="local$scopeArray"><@assign local$eachScope <@currow>>
                        <div id="tabscope<@var local$scopeArray[<@currow>,1]>">
                                <@assign local$<@var 
local$scopeArray[<@currow>,1]>Vars <@varnames scope='<@var 
local$scopeArray[<@currow>,1]>'>>
                                <table class="debugVarTable">
                                <@rows array="local$<@var 
local$scopeArray[<@currow>,1]>Vars" step="4">
                                        <tr>
                                                <td id="<@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+0">,1]>" 
onclick="refreshVar(this)">
                                                        <@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+0">,1]>
                                                </td>
                                                <td id="<@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+1">,1]>" 
onclick="refreshVar(this)">
                                                <@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+1">,1]>
                                                </td>
                                                <td id="<@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+2">,1]>" 
onclick="refreshVar(this)">
                                                <@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+2">,1]>
                                                </td>
                                                <td id="<@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+3">,1]>" 
onclick="refreshVar(this)">
                                                <@var local$<@var 
local$scopeArray[<@var local$eachScope>,1]>Vars[<@calc expr="<@currow>+3">,1]>
                                                </td>
                                        </tr>
                                </@rows>
                                </table>
                        </div>
                </@rows>
        </div>
</div>
<div id="varContent">
<@rows array="local$scopeArray"><@assign local$eachScope <@currow>>
        <@rows array="local$<@var local$scopeArray[<@currow>,1]>Vars">
                <div style="display:none" id="<@var local$<@var local$scopeArray[<@var 
local$eachScope>,1]>Vars[<@currow>,1]>">
                        <h2><@var local$scopeArray[<@var local$eachScope>,1]>$<@var 
local$<@var local$scopeArray[<@var local$eachScope>,1]>Vars[<@currow>,1]></h2>
                        <h3>value:</h3>
                <@IF EXPR='<@VARINFO NAME="<@var local$scopeArray[<@var 
local$eachScope>,1]>$<@var local$<@var local$scopeArray[<@var 
local$eachScope>,1]>Vars[<@currow>,1]>" ATTRIBUTE="TYPE">=array'>
                        <@ASSIGN Local$CurrentVarName <@var local$scopeArray[<@var 
local$eachScope>,1]>$<@var local$<@var local$scopeArray[<@var 
local$eachScope>,1]>Vars[<@currow>,1]>>
                        <@ASSIGN Local$ArrayNumCols <@NUMCOLS 
ARRAY="@@Local$CurrentVarName">>
                        <table border="1">
                        <@ROWS ARRAY="@@Local$CurrentVarName" START="0">
                                <tr>
                                <td><b><@VAR <@VAR 
Local$CurrentVarName>[<@CURROW>,0]></b></td>
                                <@COLS ARRAY="" START="0" STOP="<@VAR 
Local$ArrayNumCols>">
                                        <td><@VAR <@VAR 
Local$CurrentVarName>[<@CURROW>,<@CURCOL>]></td>
                                </@COLS>
                                </tr>
                        </@ROWS>
                        </table>
                <@ELSE>
                        <@var <@var local$scopeArray[<@var local$eachScope>,1]>$<@var 
local$<@var local$scopeArray[<@var local$eachScope>,1]>Vars[<@currow>,1]>>
                </@IF>
                </div>
        </@rows>
</@rows>
</div>

<script>
function refreshVar(elm)
{
        for(var i=0;i<elm.parentNode.parentNode.childNodes.length;i++)
                for(var 
j=0;j<elm.parentNode.parentNode.childNodes[i].childNodes.length;j++)
                        
elm.parentNode.parentNode.childNodes[i].childNodes[j].className='off'
        elm.className='on';
        var divContent=document.getElementById('varContent');

        for(i=0;i<divContent.childNodes.length;i++)
        {
                if(divContent.childNodes[i].id!=elm.id)
                        divContent.childNodes[i].style.display='none';
                else
                        divContent.childNodes[i].style.display='block';
        }       
}
</script>

<script>
var classTabOn ='tabOn';
var classTabOff ='tabOff';
currentTabGrp=document.getElementById('tabGrpDebugWitango');
selectTab(currentTabGrp.childNodes(0).childNodes(0));
function showTabContent(divsource,tabcontentid)
{
        function hideAllTabsContents(divsource)
        {
                var contents=divsource.childNodes(1);
                var childs=contents.childNodes.length;
                var i;
                for(i=0;i<childs;i++)
                {
                        contents.childNodes(i).style.display='none';
                }
        }
        hideAllTabsContents(divsource);
        var childs=divsource.childNodes(1).childNodes.length;
        var i;
        for(i=0;i<childs;i++)
        {
                if(divsource.childNodes(1).childNodes(i).id==tabcontentid)
                {
                        divsource.childNodes(1).childNodes(i).style.display='block';
                }
        }
}
function deselectSiblingTabs(tab)
{
        for(var i=0;i<tab.parentNode.childNodes.length;i++)
        {
                if(tab.parentNode.childNodes(i).tagName=='SPAN' && 
tab.parentNode.childNodes(i).id!==tab.id)
                        {
                                tab.parentNode.childNodes(i).className='tabOff';
                                tab.parentNode.childNodes(i).style.cursor='pointer';
                        }
        }
}
function selectTab(tab)
{
        showTabContent(tab.parentNode.parentNode,'tab'+tab.id);
        deselectSiblingTabs(tab);
        tab.className=classTabOn;
        tab.style.cursor='default';
}
</script>
</@debug>

Reply via email to