version 1.152, 2002/09/14 09:45:04
|
version 1.153, 2002/10/07 08:20:31
|
Line 3384 static void ParseCSSRule (Element eleme
|
Line 3384 static void ParseCSSRule (Element eleme
|
while (*cssRule != EOS) |
while (*cssRule != EOS) |
{ |
{ |
cssRule = SkipBlanksAndComments (cssRule); |
cssRule = SkipBlanksAndComments (cssRule); |
while (*cssRule < 0x41 || *cssRule > 0x7A || |
if (*cssRule < 0x41 || *cssRule > 0x7A || |
(*cssRule > 0x5A && *cssRule < 0x60)) |
(*cssRule > 0x5A && *cssRule < 0x60)) |
|
cssRule++; |
|
else |
{ |
{ |
if (*cssRule != ';') |
found = FALSE; |
CSSParseError ("Invalid character", cssRule); |
/* look for the type of property */ |
cssRule++; |
for (i = 0; i < NB_CSSSTYLEATTRIBUTE && !found; i++) |
cssRule = SkipBlanksAndComments (cssRule); |
|
} |
|
|
|
found = FALSE; |
|
/* look for the type of property */ |
|
for (i = 0; i < NB_CSSSTYLEATTRIBUTE && !found; i++) |
|
{ |
|
lg = strlen (CSSProperties[i].name); |
|
if (!strncasecmp (cssRule, CSSProperties[i].name, lg)) |
|
{ |
{ |
p = cssRule + lg; |
lg = strlen (CSSProperties[i].name); |
found = TRUE; |
if (!strncasecmp (cssRule, CSSProperties[i].name, lg)) |
i--; |
{ |
|
p = cssRule + lg; |
|
found = TRUE; |
|
i--; |
|
} |
} |
} |
} |
if (i == NB_CSSSTYLEATTRIBUTE) |
|
cssRule = SkipProperty (cssRule); |
if (i == NB_CSSSTYLEATTRIBUTE) |
else |
cssRule = SkipProperty (cssRule); |
|
else |
|
{ |
|
/* update index and skip the ":" indicator if present */ |
|
p = SkipBlanksAndComments (p); |
|
if (*p == ':') |
|
{ |
{ |
p++; |
/* update index and skip the ":" indicator if present */ |
p = SkipBlanksAndComments (p); |
p = SkipBlanksAndComments (p); |
/* try to parse the value associated with this property */ |
if (*p == ':') |
if (CSSProperties[i].parsing_function != NULL) |
|
{ |
{ |
p = CSSProperties[i].parsing_function (element, tsch, context, |
p++; |
p, css, isHTML); |
p = SkipBlanksAndComments (p); |
/* update index and skip the ";" separator if present */ |
/* try to parse the value associated with this property */ |
cssRule = p; |
if (CSSProperties[i].parsing_function != NULL) |
|
{ |
|
p = CSSProperties[i].parsing_function (element, tsch, context, |
|
p, css, isHTML); |
|
/* update index and skip the ";" separator if present */ |
|
cssRule = p; |
|
} |
} |
} |
|
else |
|
cssRule = SkipProperty (cssRule); |
} |
} |
else |
|
cssRule = SkipProperty (cssRule); |
|
} |
} |
|
|
/* next property */ |
/* next property */ |
cssRule = SkipBlanksAndComments (cssRule); |
cssRule = SkipBlanksAndComments (cssRule); |
if (*cssRule == '}') |
if (*cssRule == '}') |