We are currently implementing character properties in OpenJade.
Here is a related question to the collected wisdom of the list:
How should the following cases be treated ?
1)	<style-specification id=p1 use=p2>
	(declare-characteristic foo "foo" #f)
	<style-specification id=p2>
	(declare-char-characteristic+property foo "foo" #f)
2)	(declare-characteristic use "foo" #f) 
3)	(declare-characteristic foo "foo" #f)
	(declare-char-characteristic+property force!foo "blah" #f)
I think the standard remains silent on all three. I tend to say: 
1) No conflict, allow normal overriding behaviour since ICs and NICs
   share a namespace.
2) Conflict, forbid redefining use:, label: and content-map:
3) No idea.
 
-- 
Matthias Clasen, 
Tel. 0761/203-5606
Email: clasen@xxxxxxxxxxxxxxxxxxxxxxxxxx
Mathematisches Institut, Albert-Ludwigs-Universitaet Freiburg
 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist