Property Set for CSS [Provisional]
Subject: CSS Property Set
From: roconnor@undergrad.math.uwaterloo.ca (Russell Steven Shawn O'Connor)
Date: 1998/04/14
Newsgroups: comp.text.sgml,comp.infosystems.www.authoring.stylesheets
I mailed the following to the W3C's Style mailing list.
(www-style@w3.org)
I believe that the W3C should make an official property set for CSS. The
CSS format lends itself nicely to the grove data model. To get the ball
rolling I wrote a draft property set this evening. Comments are
welcome.
---------------
<!--
CSS1 Property Set DRAFT
By: Russell O'Connor
This document is PUBLIC DOMAIN.
Available at
<URL:http://www.undergrad.math.uwaterloo.ca/%7Eroconnor/hi2pscss.sgml>.
This is my first stab at a Property Set for CSS1. I'm sure that someone
who knows more about Property Sets than I do can improve upon this. I
should also note that this is NOT a complete property set. A complete
property set should be made for a final document.
Modeled after the SGML property set document and based on Appendix B of
Cascading Style Sheets, level 1
<URL:http://www.w3.org/pub/WWW/TR/REC-CSS1#appendix-b>
-->
<!DOCTYPE propset
PUBLIC "ISO/IEC 10744:1997//DTD Property Set//EN"
[
<!-- I don't know if this is right. I don't know anything about notations.
The W3C probably should have a FPI for CSS.
-->
<!NOTATION CSS SYSTEM "http://www.w3.org/pub/WWW/TR/REC-CSS1">
]>
<propset nsd=CSS>
<desc>
Defines the classes and properties to be used in the construction of
groves from the parsing of CSS documents.
<!--
Modules should be made to separate the important aspects of CSS from the
full information available to the parser. For this draft I have no modules
and have no classes for irrelevant information such as comments etc.
Because of this, this is NOT a complete property set.
-->
<classdef rcsnm=cssdoc appnm="css document">
<desc>
A CSS document. The root of the grove.
<propdef subnode rcsnm=imports appnm="imported rules" nodelist ac=import>
<propdef subnode rcsnm=rules nodelist ac=rule>
<classdef rcsnm=import appnm="imported at-rule">
<propdef rcsnm=file appnm="file name" string>
<desc>
The file name of the imported style sheet.
<when>
A string is used instead of a URL.
<propdef subnode rcsnm=cssurl node ac=cssurl>
<desc>
The URL of the imported style sheet.
<when>
A URL is used instead of a string.
<classdef rcsnm=cssurl>
<propdef rcsnm=url string>
<desc>
The URL string for the CSS style sheet.
<!-- is the AC attribute allowed and proper for urefnodes? -->
<propdef urefnode rcsnm=cssdoc appnm="css document" fullnm="imported css
document" node ac=cssdoc>
<desc>
The CSS document that is being imported.
<classdef rcsnm=rule>
<propdef subnode rcsnm=selects appnm=selectors nodelist ac=selector>
<propdef subnode rcsnm=decls appnm=declarations nmndlist ac=decl
acnmprop=prop>
<classdef rcsnm=selector>
<propdef subnode rcsnm=smslcts appnm="simple selectors" nodelist ac=smslct>
<note>
I consider a pseudo element a simple selector. I consider a pseudo element to
stand on it's own separate from it's parent element. A pseudo element must
be the last element in the list of simple selectors if it is in the list at
all.
<classdef rcsnm=smslct appnm="simple selector">
<propdef rcsnm=name string>
<desc>
The name is the generic identifier of an element, or the name of a pseudo
element.
<propdef rcsnm=id string>
<desc>
The ID portion of the simple selector
<when>
An ID is given in the simple selector
<propdef rcsnm=class string>
<desc>
The class portion of the simple selector
<when>
A class is given in the simple selector
<propdef rcsnm=psdclass appnm="pseudo class" string>
<desc>
The pseudo class portion of the simple selector
<when>
An pseudo class is given in the simple selector
<classdef rcsnm=decl appnm=declaration>
<propdef rcsnm=prop appnm=property string>
<desc>
The property being assigned a value
<!-- should this be divided into further nodes? -->
<propdef rcsnm=expr appnm=expression string>
<desc>
the value being assigned to the property
<propdef rcsnm=prio appnm=priority boolean>
<desc>
True if ``! important'' is given to this declaration
--
Russell O'Connor roconnor@uwaterloo.ca
<URL:http://www.undergrad.math.uwaterloo.ca/%7Eroconnor/>
"And truth irreversibly destroys the meaning of its own message"
-- Anindita Dutta, "The Paradox of Truth, the Truth of Entropy"