|
Nov 07, 2009 - 10:29 PM
|
||||||
![]() |
||||||
![]() |
||||||
Search |
FAQs
1. What does the XVCL-processor do if a referenced variable is not defined? The processor will report an error to tell you that the variable is not defined. 2. What happens if an arithmetic expression is a part of (is embedded in) a string containing non-arithmetic substrings, e.g.: "some string preceding an arithmetic expression (?@A? + ?@B?) / ?@C? some string following an arithmetic expression"? Will the expression be evaluated and added to the string? For instance, if the value of the expression is 12345, will the resulting string be: "some string preceding an arithmetic expression 12345 some string following an arithmetic expression"? String following and/or proceeding an arithmetic expression like (?@A? + ?@B?) / ?@C? is called “String Expression”. And if the final concatenated result is not an arithmetic expression, the whole expression will not be evaluated. For example, if the evaluated value of (?@A? + ?@B?) / ?@C? is 12345, you can not get “H12345K” from “H(?@A? + ?@B?) / ?@C?K”. If you want it to be evaluated, you can define another variable to evaluate the arithmetic expression first. And then you use this new variable in the string expression. You can get detailed information from the XVCL Specification. 3. How can arithmetic symbols be escaped in a string expression so that it is not treated as an arithmetic expression? Only by use of <CDATA>? As above explanation, you can get the correct string expression as you expected without <CDATA>. We are not recommending using <CDATA> in attribute values. You will get error info from processor if you use like that. Please use “<” and ”>” to stand for “<”and ”>” respectively in the attribute values. For other symbols, you can use directly as you can see from the former questions. Another solution is to introduce a variable to represent the a symbol, then later use that variable instead using the symbol directly. 4. In the original frames implementation by Bassett there was the SAMELEVEL attribute in the .COPY as well as .REPLACE commands. As far as I understood it correctly, the SAMELEVEL in .REPLACE decided about the actual validity of variables in frames adapted by use the SAMELEVEL attribute (i.e. a variable defined in a lower frame was valid in an upper frame if and only if both .COPY and .REPLACE were used with the SAMELEVEL attribute). If so, the ultimate decision about raising of the scope of variables was in lower frames (only variables with the SAMELEVEL attribute were valid in the frame using SAMELEVEL for adaptation). In XVCL, only the <adapt>-command has the "samelevel" attribute (?) (the <set> command does not (?)). If so, each variable in an X-frame adapted by use of "samelevel" is valid in the adapting X-frame. Is that right? Is it not a restriction compared to the original implementation of frames? You are right I think. We will look into it in the near future. Access statistic |
| Technology for Reuse based on Bassett's frames |