(defun build-attrs (attrs) (format nil " ~{~(~a~)='~a'~}" attrs)) (defun build-xml (tag &optional attrs &rest texts) (concatenate 'string (format nil "<~a" tag) (if (not (eql attrs nil)) (format nil "~a" (build-attrs attrs))) (if (= (length texts) 0) (format nil "/>") (format nil ">~{~a~}" texts tag))))