-(defparameter *default-textformat* nil)
-(defparameter *default-htmlformat* nil)
-(defparameter *default-htmlrefformat* nil)
-(defparameter *default-xhtmlformat* nil)
-(defparameter *default-xhtmlrefformat* nil)
-(defparameter *default-xmlformat* nil)
-(defparameter *default-xmlrefformat* nil)
-(defparameter *default-ie-xmlrefformat* nil)
-(defparameter *default-nullformat* nil)
-(defparameter *default-init-format?* nil)
-
-(defun make-format-instance (fmt)
- (unless *default-init-format?*
- (setq *default-textformat* (make-instance 'textformat))
- (setq *default-htmlformat* (make-instance 'htmlformat))
- (setq *default-htmlrefformat* (make-instance 'htmlrefformat))
- (setq *default-xhtmlformat* (make-instance 'xhtmlformat))
- (setq *default-xhtmlrefformat* (make-instance 'xhtmlrefformat))
- (setq *default-xmlformat* (make-instance 'xmlformat))
- (setq *default-xmlrefformat* (make-instance 'xmlrefformat))
- (setq *default-ie-xmlrefformat* (make-instance 'ie-xmlrefformat))
- (setq *default-nullformat* (make-instance 'nullformat))
- (setq *default-init-format?* t))
-
- (case fmt
- (:text *default-textformat*)
- (:html *default-htmlformat*)
- (:htmlref *default-htmlrefformat*)
- (:xhtml *default-xhtmlformat*)
- (:xhtmlref *default-xhtmlrefformat*)
- (:xml *default-xmlformat*)
- (:xmlref *default-xmlrefformat*)
- (:ie-xmlref *default-ie-xmlrefformat*)
- (:null *default-nullformat*)
- (otherwise *default-textformat*)))
-
-;;;; Output format classes for print hyperobject-classes
-
-(defclass dataformat ()
- ((file-start-str :type string :initarg :file-start-str :reader file-start-str)
- (file-end-str :type string :initarg :file-end-str :reader file-end-str)
- (list-start-fmtstr :type string :initarg :list-start-fmtstr :reader list-start-fmtstr)
- (list-start-value-func :type function :initarg :list-start-value-func :reader list-start-value-func)
- (list-start-indent :initarg :list-start-indent :reader list-start-indent)
- (list-end-fmtstr :type string :initarg :list-end-fmtstr :reader list-end-fmtstr)
- (list-end-value-func :type function :initarg :list-end-value-func :reader list-end-value-func)
- (list-end-indent :initarg :list-end-indent :reader list-end-indent)
- (obj-start-fmtstr :type string :initarg :obj-start-fmtstr :reader obj-start-fmtstr)
- (obj-start-value-func :initarg :obj-start-value-func :reader obj-start-value-func)
- (obj-start-indent :initarg :obj-start-indent :reader obj-start-indent)
- (obj-end-fmtstr :type string :initarg :obj-end-fmtstr :reader obj-end-fmtstr)
- (obj-end-value-func :initarg :obj-end-value-func :reader obj-end-value-func)
- (obj-end-indent :initarg :obj-end-indent :reader obj-end-indent)
- (obj-data-indent :initarg :obj-data-indent :reader obj-data-indent)
- (obj-data-fmtstr :initarg :obj-data-fmtstr :reader obj-data-fmtstr)
- (obj-data-fmtstr-labels :initarg :obj-data-fmtstr-labels :reader obj-data-fmtstr-labels)
- (obj-data-end-fmtstr :initarg :obj-data-end-fmtstr :reader obj-data-end-fmtstr)
- (obj-data-value-func :initarg :obj-data-value-func :reader obj-data-value-func)
- (link-ref :initarg :link-ref :reader link-ref))
- (:default-initargs :file-start-str nil :file-end-str nil :list-start-fmtstr nil :list-start-value-func nil
- :list-start-indent nil :list-end-fmtstr nil :list-end-value-func nil :list-end-indent nil
- :obj-start-fmtstr nil :obj-start-value-func nil :obj-start-indent nil
- :obj-end-fmtstr nil :obj-end-value-func nil :obj-end-indent nil
- :obj-data-indent nil :obj-data-fmtstr nil :obj-data-fmtstr-labels nil :obj-data-end-fmtstr nil
- :obj-data-value-func nil :link-ref nil)
- (:documentation "Parent for all dataformat objects"))
-
-(defclass binaryformat (dataformat)
- ())
-
-(defclass nullformat (dataformat)
- ())
-
-(defun text-list-start-value-func (obj nitems)
- (values (hyperobject-class-title obj) nitems))
-
-(defclass textformat (dataformat)
- ()
- (:default-initargs :list-start-fmtstr "~a~P:~%"
- :list-start-value-func #'text-list-start-value-func
- :list-start-indent t
- :obj-data-indent t
- :obj-data-fmtstr #'hyperobject-class-fmtstr-text
- :obj-data-fmtstr-labels #'hyperobject-class-fmtstr-text-labels
- :obj-data-end-fmtstr "~%"
- :obj-data-value-func #'hyperobject-class-value-func))
-
-