;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: views.lisp,v 1.17 2002/12/24 06:30:29 kevin Exp $
+;;;; $Id: views.lisp,v 1.19 2002/12/26 12:04:00 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
(let ((slot (find-slot-by-name obj-cl slot-name)))
(unless slot
(error "Slot ~A is not found in class ~S" slot-name obj-cl))
- (let ((name (slot-definition-name slot))
- (namestr-lower (string-downcase (symbol-name (slot-definition-name slot))))
- (type (slot-value slot 'type))
- (print-formatter (esd-print-formatter slot)))
+ (let* ((name (slot-definition-name slot))
+ (namestr-lower (string-downcase (symbol-name name)))
+ (xml-namestr (escape-xml-string namestr-lower))
+ (xml-tag (escape-xml-string namestr-lower))
+ (type (slot-value slot 'type))
+ (print-formatter (esd-print-formatter slot)))
(cond
(first-field
(:html-labels
(string-append fmtstr (concatenate 'string "<span class=\"label\">" namestr-lower "</span> <span class=\"" namestr-lower "\">" value-fmt "</span>")))
(:xhtml-labels
- (string-append fmtstr (concatenate 'string "<span class=\"label\"><![CDATA[" namestr-lower "]]></span> <span class=\"" namestr-lower "\">" value-fmt "</span>")))
+ (string-append fmtstr (concatenate 'string "<span class=\"label\">" xml-namestr "</span> <span class=\"" namestr-lower "\">" value-fmt "</span>")))
(:xml-labels
- (string-append fmtstr (concatenate 'string "<label><[!CDATA[" namestr-lower "]]></label> <" namestr-lower ">" value-fmt "</" namestr-lower ">")))
+ (string-append fmtstr (concatenate 'string "<label>" xml-namestr "</label> <" xml-tag ">" value-fmt "</" xml-tag ">")))
((or :html-link :xhtml-link)
(push name links)
(if (esd-hyperlink slot)
(push name links)
(if (esd-hyperlink slot)
(string-append fmtstr "<~~a>" value-fmt "</~~a>")
- (string-append fmtstr (concatenate 'string "<" namestr-lower ">" value-fmt "</" namestr-lower ">"))))
+ (string-append fmtstr (concatenate 'string "<" xml-tag ">" value-fmt "</" xml-tag ">"))))
(:html-link-labels
(push name links)
(if (esd-hyperlink slot)
(:xhtml-link-labels
(push name links)
(if (esd-hyperlink slot)
- (string-append fmtstr "<span class=\"label\"><[!CDATA[" namestr-lower "]]></span> <~~a>" value-fmt "</~~a>")
- (string-append fmtstr (concatenate 'string "<span class=\"label\"><![CDATA[" namestr-lower "]]></span> <span class=\"" namestr-lower "\">" value-fmt "</span>"))))
+ (string-append fmtstr "<span class=\"label\">" xml-namestr "</span> <~~a>" value-fmt "</~~a>")
+ (string-append fmtstr (concatenate 'string "<span class=\"label\">" xml-namestr "</span> <span class=\"" namestr-lower "\">" value-fmt "</span>"))))
((or :xml-link-labels :ie-xml-link-labels)
(push name links)
(if (esd-hyperlink slot)
- (string-append fmtstr "<label><[![CDATA[" namestr-lower "]]></label> <~~a>" value-fmt "</~~a>")
- (string-append fmtstr (concatenate 'string "<label><![CDATA[" namestr-lower "]]></label> <" namestr-lower ">" value-fmt "</" namestr-lower ">")))))
+ (string-append fmtstr "<label>" xml-namestr "></label> <~~a>" value-fmt "</~~a>")
+ (string-append fmtstr (concatenate 'string "<label>" xml-namestr "</label> <" xml-tag ">" value-fmt "</" xml-tag ">")))))
) ;; let value-fmt
(let ((func (if print-formatter
`(,print-formatter (slot-value x (quote ,name)))
`(slot-value x (quote ,name)))))
(when (and (in category :xml :xhtml :xml-link :xhtml-link
+ :xml-labels :ie-xml-labels
:xhtml-link-labels :xml-link-labels :ie-xml-link
:ie-xml-link-labels)
(or print-formatter