I actually still prefer using the ${foo} syntax as :I'm happy with either one of Jareks options 2 and 3:
- its easier to distinguish properties (as Ian originally said)
2. if=${length($propertyname)=length($someotherpropertyname)}" 3. if=${length(propertyname)=length(someotherpropertyname)}"
3. is cleaner and it basically changes ${ from meaning property to meaning expression. So
if=${length(propertyname)}
returns the result of the function while:
if=${propertyname)}
returns just the value of the property, however they are both expressions.
- it won't break compatibility for properties with numeric names (eg ${123})hmm - this works with Jareks current implementation. so
<echo message="${123}" />
will output the value of the property 123 if it exists and the literal 123 if it doesn't. Still I don't know a single language that allows numeric identifiers.
- corresponds with the MSbuild implementation. (not that this is importantàxslt variables differ from nant properties in a number of ways. They have always been more macro substitutions than true variables.
- XSLT also uses a ($) prefix for variables
not so. From the xslt spec:I also don't think we should use lt, gt, ... instead of ==, > for operators, both XSLT and MSBuild use similar operators ... so I don't see why we should be different ...
NOTE: When an XPath expression occurs in an XML document, any < and <= operators must be quoted according to XML 1.0 rules by using, for example, < and <=. In the following example the value of the test attribute is an XPath expression: <xsl:if test="@value < 10">...</xsl:if>
not sure about msbuild but as its an xml vocabulary it will surely have the same issues with escaping angle brackets.
sure using the same function names is a good idea. I think the string fucntions that Jarek has implemented are pretty similar to xslt's one anyway.In my opinion, it would be better to combine the best of XSLT and MSbuild expressions, and try to be "compatibile" with these where it makes sense and were these's no added value for not being compatible ... (eg. use the same functions names, operators, ...)
Ian
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers