;;;; in Text, HTML, and XML formats. This includes hyperlinking
;;;; capability and sub-objects.
;;;;
-;;;; $Id$
-;;;;
;;;; This file is Copyright (c) 2000-2006 by Kevin M. Rosenberg
;;;; *************************************************************************
(defclass hyperobject-class (standard-class)
( ;; slots initialized in defclass
- (user-name :initarg :user-name :type string :initform nil
+ (user-name :initarg :user-name :initform nil
:accessor user-name
:documentation "User name for class")
- (user-name-plural :initarg :user-name-plural :type string :initform nil
+ (user-name-plural :initarg :user-name-plural :initform nil
:accessor user-name-plural
:documentation "Plural user name for class")
(default-print-slots :initarg :default-print-slots :type list :initform nil
(defmethod finalize-inheritance :after ((cl hyperobject-class))
"Initialize a hyperobject class. Calculates all class slots"
(finalize-subobjects cl)
- (finalize-compute-cached cl))
+ (finalize-compute-cached cl)
+ (init-hyperobject-class cl))
(eval-when (:compile-toplevel :load-toplevel :execute)
(when (>= (length (generic-function-lambda-list
(or (eq type 'string)
(and (listp type) (some #'(lambda (x) (eq x 'string)) type))))
+(defun value-type-is-a-string (type)
+ (or (eq type 'string)
+ (eq type 'cdata)
+ (and (listp type) (some #'(lambda (x) (or (eq x 'string)
+ (eq x 'cdata)))
+ type))))
+
(defun base-value-type (value-type)
(if (atom value-type)
value-type
(setf (documentation cl 'type)
(format nil "Hyperobject~A~A~A~A"
(aif (user-name cl)
- (format nil ": ~A" it ""))
+ (format nil ": ~A" it) "")
(aif (description cl)
(format nil "~%Class description: ~A" it) "")
(aif (subobjects cl)