Stylesheet Language
wei@sting.berkeley.edu (Pei Y. Wei)
Date: Fri, 22 Oct 93 14:03:11 -0700
From: wei@sting.berkeley.edu (Pei Y. Wei)
Message-id: <9310222103.AA03264@sting.Berkeley.EDU>
To: www-talk@nxoc01.cern.ch
Subject: Stylesheet Language
Cc: hackers@ora.com
Hi.
I'm working on a stylesheet library that will hopefully be useful for
all W3 browsers. A prototype is implemented in viola, but before I
get too far on this-- producing a more formal RFC and stand-alone
library and testing code, I'd like to get people's impression on it.
Particularly, any problem with the the syntax of the style description
language?
Here is a sample stylesheet:
(HEAD,BODY fontSize=normal
BGColor=white
FGColor=black
(H1 fontSize=largest
BGColor=red
FGColor=white)
(H2 fontSize=large)
(P)
(A FGColor=red)
(CMD,KBD,SCREEN,LISTING,EXAMPLE fontFamily=fixed)
(BOLD,EMPH,STRONG fontWeight=bold)
(I fontSlant=italic)
(ADDRESS
(P fontSlant=italic))
(OL
(LI numStyle=roman
(LI numStyle=number
(LI numStyle=alpha)
)
)
)
(FOOTNOTE fontSize=small
(P)
)
)
From this stylesheet, you can derive the following information:
* <P> inside of <HEAD> and <BODY> gets fontSize of "normal".
* <P> inside of <ADDRESS> gets italic slant font.
* <P> inside of <FOOTNOTE> gets a "small" font.
* List items in first, second, and third levels are numbered differently.
* Since <BOLD> and <STRONG> look the same, they are succintly lumpped
together.
Note that properties are inherited down the tree, unless overridden.
So, the color information that is specifed at the top is used all over,
except for <H1> which redefines its own colors.
Having this inheritance behaviour also helps to keep the description
short, as lots of information can be derived by the context in the
tree structure.
The lone "(P)"s are there to engage the respective <P> tags to be in
those particular contexts.
A document uses a <LINK REL="STYLE" HREF="URL_to_a_stylesheet">
to associate to a stylesheet. It's an open question as to whether
we should allow multiple stylesheets in a document, and where
this link can be specified (once only, in the <HEAD>?).
-Pei Pei Y. Wei
O'Reilly & Associates