anchor.diff:  
   
   
  -
  +(defvar *styles-node*)
   
   (defmacro with-excel-workbook (() &body chillins)
     `(let ((*namespace-prefix-map* +excel-namespaces+))
        (with-document ()
          (?mso-application)
  -       (ss:workbook () ,@chillins))))
  +       (let ((*styles-node* (ss:styles ())))
  +	 (add-default-excel-styles)
  +	 (ss:workbook ()
  +	   *styles-node*
  +	   ,@chillins)))))
  +
  +(defun remove-style (id)
  +  (iter (for kid in (dom:child-nodes *styles-node*))
  +	(when (string-equal id (get-attribute kid "ss:ID"))
  +	  (dom:remove-child *styles-node* kid))))
  +
  +(defun add-style (id &key name parent styles)
  +  (remove-style id)  
  +  (add-children
  +   *styles-node*
  +   (ss:style (append
  +	      (when id
  +		(list "ss:ID" id))
  +	      (when name
  +		(list "ss:Name" name))
  +	      (when parent
  +		(list "ss:Parent" parent)))
  +     styles)))
   
   (defmacro with-excel-workbook-string (() &body chillins)
     `(with-output-to-string (s)
  -     (let ((doc (buildnode::with-excel-workbook () ,@chillins)))
  +     (let ((doc (with-excel-workbook () ,@chillins)))
          (write-document doc s))))
   
   (defparameter +valid-data-types+
  
positive.code: 		 "Data" "Font"  "Interior" "NamedCell" "NamedRange" "Names" 
  		 "NumberFormat" "Protection" "Row" "Style" "Styles" "Table" 
  		 "Workbook" "Worksheet" )
      (#:currency-cell #:date-cell))
  
  (excel-tag-package :urn.schemas-microsoft-com.office.excel :x
      ("AutoFilter" "AutoFilterAnd" "AutoFilterColumn" "AutoFilterCondition"
  		  "AutoFilterOr" "Footer" "Header" "Layout" "PageMargins" "PageSetup"
  		  "PhoneticText" "WorksheetOptions") )
  
  (excel-tag-package :urn.schemas-microsoft-com.office.office :o
      ("Smarts" "SmartType" "DocumentProperties" "Author" "LastAuthor"
  
negative.code:        res file
         :if-exists :supersede
         :if-does-not-exist :create))
      res))
  
  