[WebDNA] passing a variable in an include - precedence
This WebDNA talk-list message is from 2015
It keeps the original formatting.
numero = 112520
interpreted = N
texte = 88Working on 8.2, we have decided to work on an issue mentioned by =Donovan:> Here is the test page:> http://www.euca.us/admin/tests/include-bug/test.html>=20> The main issue for discussion is that when passing a variable in an =include>=20> [include file=3Dsomefile.inc&var=3Dsomevalue]>=20> You can=E2=80=99t overwrite the var value with a text context =[text]=E2=80=A6[/text] within somefile.inc.>=20> So, if I do>=20> [include file=3Dsomefile.inc&var=3D1]>=20> it is fine. the tag [var] in the included file shows "1">=20> but if I do> [text]var=3D2[/text]> [include file=3Dsomefile.inc&var=3D[var]]>=20> then the tag [var] in the included file shows "[var]" instead of "2"This isn't a simple problem, it goes pretty deep into how WebDNA =retrieves variables.The order of precedence for variable lookups is:1.) [INCLUDE] cgi parameters2.) text variables3.) math variables4.) regular cgi parameters (passed via URL or POST)These variables are all kept in separate variable lists, and there is =normally no checking between lists. So you can have a text and a CGI =variable with the same name at the same time.Normally, WebDNA is taking advantage of the fact that regular CGI =parameters are going to be the earliest assignment of any variable, so =they can be treated with lowest priority and it will work correctly. =However, when you do an include, we need to create a new set of CGI =parameters that are treated as highest priority inside of a new context. =This creates all sorts of problems with getting the order of precedence =correct.We decided the best solution is to make all assignments of text =variables delete similarly named CGI parameters in all [INCLUDE] =contexts. This makes it work correctly even if you include a file inside =of another include.[math] variable assignments though will still be ignored if there is a =conflicting variable passed via an include.[math] variables are already treated as inferior. For example, this code =returns Var=3D4:[text]var=3D4[/text][math]var=3D1[/math]Var=3D[var]With 8.2, Donovan test shows this output now:Value of VAR from first include: 1Value of VAR after setting it in first include: 2Value of VAR from second include: 2---------------------------------------------------------This message is sent to you because you are subscribed tothe mailing list
.To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.usBug Reporting: support@webdna.us.
Associated Messages, from the most recent to the oldest:
88Working on 8.2, we have decided to work on an issue mentioned by =Donovan:> Here is the test page:> http://www.euca.us/admin/tests/include-bug/test.html>=20> The main issue for discussion is that when passing a variable in an =include>=20> [include file=3Dsomefile.inc&var=3Dsomevalue]>=20> You can=E2=80=99t overwrite the var value with a text context =[text]=E2=80=A6[/text] within somefile.inc.>=20> So, if I do>=20> [include file=3Dsomefile.inc&var=3D1]>=20> it is fine. the tag [var] in the included file shows "1">=20> but if I do> [text]var=3D2[/text]> [include file=3Dsomefile.inc&var=3D[var]]>=20> then the tag [var] in the included file shows "[var]" instead of "2"This isn't a simple problem, it goes pretty deep into how WebDNA =retrieves variables.The order of precedence for variable lookups is:1.) [include] cgi parameters2.) text variables3.) math variables4.) regular cgi parameters (passed via URL or POST)These variables are all kept in separate variable lists, and there is =normally no checking between lists. So you can have a text and a CGI =variable with the same name at the same time.Normally, WebDNA is taking advantage of the fact that regular CGI =parameters are going to be the earliest assignment of any variable, so =they can be treated with lowest priority and it will work correctly. =However, when you do an include, we need to create a new set of CGI =parameters that are treated as highest priority inside of a new context. =This creates all sorts of problems with getting the order of precedence =correct.We decided the best solution is to make all assignments of text =variables delete similarly named CGI parameters in all [include] =contexts. This makes it work correctly even if you include a file inside =of another include.[math] variable assignments though will still be ignored if there is a =conflicting variable passed via an include.[math] variables are already treated as inferior. For example, this code =returns Var=3D4:[text]var=3D4[/text][math]var=3D1[/math]Var=3D[var]With 8.2, Donovan test shows this output now:Value of VAR from first include: 1Value of VAR after setting it in first include: 2Value of VAR from second include: 2---------------------------------------------------------This message is sent to you because you are subscribed tothe mailing list .To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.usBug Reporting: support@webdna.us.
christophe.billiottet@webdna.us
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
WebCat2_Mac RETURNs in .db (1997)
New Guestbook Source (1997)
displaying 12 results 4 by 3 (2000)
two questions (1997)
Attaching a plain text file via [sendmail] (2001)
BBEdit and WebCatalog 2.0? (1997)
SiteEdit NewFile.html ? (1997)
input problem (1999)
Setting up shop (1997)
How is it done? (1998)
WebCatalog f2 Installation (1997)
WebCatalog NT beta 18 now available (1997)
Using Japanesse text with webcat. (1998)
We have Proof (1997)
WebCat2 Append problem (B14Macacgi) (1997)
Can you do this??? and other stuff (1997)
[WebDNA] grep question (2009)
Permission denied? (2004)
PCS Customer submissions ? (1997)
off topic - dna snipets (1997)