anchor.diff:    (%write-rod name sink)
     (cond
       ((zerop (length public-id))
  -      (%write-rod #" SYSTEM '" sink)
  -      (%write-rod system-id sink)
  -      (%write-rune #/' sink))
  +      (%write-rod #" SYSTEM " sink)
  +      (write-quoted-rod system-id sink))
       ((zerop (length system-id))
  -      (%write-rod #" PUBLIC '" sink)
  -      (%write-rod public-id sink)
  -      (%write-rune #/' sink))
  +      (%write-rod #" PUBLIC " sink)
  +      (write-quoted-rod public-id sink))
       (t 
  -      (%write-rod #" PUBLIC '" sink)
  -      (%write-rod public-id sink)
  -      (%write-rod #"' '" sink)
  -      (%write-rod system-id sink)
  -      (%write-rune #/' sink)))
  +      (%write-rod #" PUBLIC " sink)
  +      (write-quoted-rod public-id sink)
  +      (%write-rod #" " sink)
  +      (write-quoted-rod system-id sink)))
     (%write-rune #/> sink)
     (%write-rune #/U+000A sink))
   
  
positive.code:   (%write-rod name sink)
    (%write-rune #/U+0020 sink)
    (%write-rune #/\" sink)
    (unparse-string value sink)
    (%write-rune #/\" sink)
    (%write-rune #/> sink)
    (%write-rune #/U+000A sink))
  
negative.code:         (t
            (write-rune c ystream))))
  
  (defun unparse-dtd-string (str sink)
    (let ((y (sink-ystream sink)))
      (loop for rune across str do (unparse-dtd-char rune y))))
  
  (defun unparse-dtd-char (c ystream)
    (cond ((rune= c #/%) (write-rod '#.(string-rod "&#37;") ystream))
          ((rune= c #/&) (write-rod '#.(string-rod "&amp;") ystream))
          ((rune= c #/<) (write-rod '#.(string-rod "&lt;") ystream))
          ((rune= c #/>) (write-rod '#.(string-rod "&gt;") ystream))
          ((rune= c #/\") (write-rod '#.(string-rod "&quot;") ystream))
          ((rune= c #/U+0009) (write-rod '#.(string-rod "&#9;") ystream))
          ((rune= c #/U+000A) (write-rod '#.(string-rod "&#10;") ystream))
          ((rune= c #/U+000D) (write-rod '#.(string-rod "&#13;") ystream))
          (t
           (write-rune c ystream))))
  
  (defun %write-rune (c sink)
    (write-rune c (sink-ystream sink)))
  
  