You are correct. There is some dissonance between Javascript, XML, and CSS
identifiers.
'_' is a valid identifier character for all 3 languages, so is a suitable
separator character. (The bug you recall was in the opensource CSS parser
library we used. It has since been fixed.)
`$` is not a valid character in CSS identifiers. (It is also recommended that
it be reserved for "mechanically generated code" in Javascript.) For those
reasons, it is not a suitable separator for making pseudo namespaces.
On 2011-02-27, at 04:43, Raju Bitter wrote:
> One comment, Tucker. I remember that using CSS with underscores in
> class names didn't work in some older versions of OpenLaszlo (I think
> the 4.0.x series of releases). I had the problem in the RCM project I
> did, where ALU recommended that I use _ (underscore) for marking my
> custom classes. I've used namespace_class in the past, when there was
> not support for CSS.
>
> $ on the other hand gives you problems if you define a CSS style for a
> class, e.g.
> <canvas width="100%" height="600" debug="true">
> <class name="$my$class" extends="view">
> </class>
> <stylesheet>
> $my$class {
> width: 100;
> }
> </stylesheet>
> </canvas>
> Compiler error:
> namespacetest.lzx:6:13: Error parsing css file at line 2, Invalid
> identifier start character: $.
>
> W3C on CSS style names: http://www.w3.org/TR/CSS21/syndata.html#characters
> "In CSS, identifiers (including element names, classes, and IDs in
> selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646
> characters U+00A0 and higher, plus the hyphen (-) and the underscore
> (_)"
>
> That leaves you with just the _ for marking the namespace, if you want
> to apply CSS to your custom tags.
>
> On Sat, Feb 26, 2011 at 10:27 PM, P T Withington <[email protected]> wrote:
>> I can't say for sure. For myself, when I need a 'namespace' I just use
>> namespaces but replace the `:` or `.` of the namespace with a valid symbol
>> character such as `_` or `$`.
>>
>> E.g.:
>>
>> $lzc$class
>> _dbg_name
>>
>>
>> On 2011-02-26, at 15:35, Laszlo Developer wrote:
>>
>>> Thanks for the answer, I agree that namespaces are not necessarily a
>>> good thing. How does the Webtop team structure the application and
>>> make sure you don't pollute the global namespace? Especially, when 3rd
>>> party modules are integrated into Webtop?
>>>
>>> On Sat, Feb 26, 2011 at 7:55 PM, P T Withington <[email protected]> wrote:
>>>> There has not been significant pressure to add namespaces to OpenLaszlo,
>>>> although there is a Jira task to do so. If you have a need for
>>>> namespaces, consider adding your comments to that task.
>>>>
>>>> Most likely OpenLaszlo will acquire namespaces by default when they are
>>>> supported in the majority of ECMAScript platforms OpenLaszlo delivers to.
>>>>
>>>> Personally, I find most namespace schemes to be overly complex, resulting
>>>> in a lot of boilerplate noise and overhead that make even the simplest
>>>> program more difficult to comprehend.
>>>>
>>>> On 2011-02-26, at 11:53, Laszlo Developer wrote:
>>>>
>>>>> It seems that there is no namespace support in LZX. Is that something
>>>>> which will be added in the near future? If not, what are the best
>>>>> practices for using namespaces with 4.9 or the upcoming 5.0 release?
>>>>>
>>>>> Thanks,
>>>>> L.
>>>>
>>>>
>>
>>
>>