Re: Math WG Prioritized Requests

On Nov 15, 2007, at 9:16 AM, James Elmore wrote:

> I suggested something similar a year back and was told that "that  
> is not format, it is content." I agree with you that it would be  
> very useful to be able to format based on strings or other, more  
> complex pattern matches. I couldn't find my original email in the  
> archives, perhaps it was before I joined the group, so I will copy  
> some of it here so it gets archived.
>
> I was considering the basic function of CSS (formatting HTML/XHTML/ 
> etc. content) and found an area where CSS is lacking: formatting  
> based on content. Simple examples:
>
> 	If a number is negative, print it in red.
> 	If a name (IBM) appears in a page, make the font larger and bold.
> 	Display all (American) monetary values with a dollar sign ($), a  
> decimal point (.) and cents ("$f8.2" for example).
>

Perhaps the dollars and cents example caused a negative reaction, as  
folks here like the HTML to contain the the meaningful content, and  
the lack of a dollar sign and decimal would make it less so. But your  
other examples are no less valid (philosophy-wise) than ::first-line  
or ::first-letter.


> There are plenty of regular expression libraries/packages  
> available, so the hardest part of implementation could use one of  
> these. The rest depends on how much freedom/power to provide users.  
> Do we want to limit to just strings, or provide strings plus some  
> special characters (start and end of word, e.g., from your example)  
> or allow a full regular expression parser? I would guess the group  
> would not want the latter, but what would the users want?

Full-on regular expression, including perl extensions, back  
references and such, would probably be too expensive and complex. I  
would favor a limited sub-set of regular expressions, with the  
minimum (besides literals) being "\b" (word boundary), "\d" (digits),  
"\w" (word character), and some sort of wild card (a period in  
regular expressions). And I would want a space to match any  
whitespace character (\s). Ranges and repetition subpatterns would  
also be nice ( [A-Za-z0-9]+ for instance).


> I really think this would make CSS into a powerful formatting tool,  
> allowing users to specify something like:
>
> body:equals("\wIBM\w") { font-size: +1; font-weight: bold; }
>
> Where one line of CSS can replace many <span  
> class="CompanyLogo">IBM</span> insertions. Again, yes -- this can  
> be done server side, with programming or macros. But it seems to be  
> a powerful formatting ability and a natural fit for CSS.
>

Actually, I think you would want \b instead of \w there. \w matches  
word characters, and \b is for boundaries of words.

Received on Thursday, 15 November 2007 18:01:12 UTC