Da hat Dieter vollkommen recht. Ein Leerzeichen ist ein Wortbegrenzer. Würde das Leerzeichen zum Wort gehören, dann gäbe es das Problem, dass ein "IF " (IF mit einem Leerzeichen daran) oder ein IF mit Leerzeichen davor als unbekanntes Schlüsselwort gehandhabt würde. ...
Dazu eine Anmerkung:
In den Syntaxschemas gibt es eine Standardeinstellung, die man mit dem aktuellen Schema-Editor nicht bearbeiten kann:
- Ein Schlüsselwort muss mit einem der folgenden Zeichen beginnen: A-Z_a-z (Buchstabe oder Unterstrich)
- Ein Schlüsselwort darf nur folgende Zeichen enthalten: 0-9A-Z_a-z (Buchstabe, Ziffer oder Unterstrich
D.h. es ist nicht möglich Schlüsselworte zu deklarieren, die mit einer Ziffer beginnen. Schlüsselworte, die einen Bindestrich enthalten, sind ebenfalls nicht erlaubt. Obwohl das ja ganz nett wäre, denn in Html gibt es z.B.: Schlüsselworte mit einem Bindestrich, und zwar die Attribute
accept-charset und
http-equiv.
Hier gibt es eine Lösung, in dem man das Syntaxschema in einem Editor bearbeitet und mit der Anweisung
OtherIdentChars = '\-0-9A-Z_a-z' den Bindestrich innerhalb von Schlüsselworten erlaubt. Hier ein Ausschnitt aus meiner *.sch-Datei:
QUELLTEXT
................................................................................
.......
item
FontID = 21
Name = 'attributes'
Keywords =
'abbr,accept-charset,accesskey,action,align,alink,alt,archive,axi' +
's,background,bgcolor,border,cellpadding,cellspacing,char,charoff' +
',checked,cite,class,classid,clear,code,codebase,codetype,color,c' +
'ols,colspan,compact,content,coords,data,datetime,declare,defer,d' +
'ir,disabled,enctype,face,for,frame,frameborder,headers,height,hr' +
'ef,hreflang,hspace,http-equiv,id,ismap,label,lang,language,link,' +
'longdesc,marginheight,marginwidth,maxlength,media,method,multipl' +
'e,name,nohref,noresize,noshade,nowrap,object,onblur,onchange,onc' +
'lick,ondblclick,onfocus,onkeydown,onkeypress,onkeyup,onload,onmo' +
'usedown,onmousemove,onmouseout,onmouseover,onmouseup,onreset,ons' +
'elect,onsubmit,onunload,profile,prompt,public,readonly,rel,rev,r' +
'ows,rowspan,rules,scheme,scope,scrolling,selected,shape,size,spa' +
'n,src,standby,start,style,summary,tabindex,target,text,title,typ' +
'e,usemap,valign,value,valuetype,version,vlink,vspace,width'
end>
OtherIdentChars = '\-0-9A-Z_a-z'
................................................................................
.......
Das wäre z.B. auch für das CSS-Syntaxschema von Vorteil, denn dort gibt es eine Menge von zusammengesetzten Schlüsselworte (CSS-Eigenschaften).
ABER ... wenn man bei
OtherIdentChars ein Leerzeichen eingeben würde, dann gibt das sicher ein Chaos!!
Der Umweg über die String-Definition ist daher wohl die einzige Lösung!
cu, Guido
Nachtrag:Das muss mit Vorsicht angewendet werden, denn, wenn man ein Schema z.B. für eine Programmiersprache verwendet, indem der Bindestrich bzw. das Minuszeichen eben als Minus verwendet wird, dann wird es wohl auch einen Konflikt in der Interpretation geben. Da aber in HTML oder auch in CSS der Bindestrich kein besonderes Zeichen ist, gibt es in diesem Fall keine Probleme. ... oder hab' ich da jetzt etwas nicht bedacht ???