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>