diff options
| -rw-r--r-- | scratch.lisp | 2 | ||||
| -rw-r--r-- | src/xfdf.lisp | 25 | 
2 files changed, 17 insertions, 10 deletions
| diff --git a/scratch.lisp b/scratch.lisp index 7723a80..48d8dc2 100644 --- a/scratch.lisp +++ b/scratch.lisp @@ -1,3 +1,5 @@  (ql:quickload "xfdf-test")  (1am:run)  (consp '(1 2 3 4)) + +(xfdf::field-xfdf* "name" '(("value" . "1") ("v2" . "2")) 0) diff --git a/src/xfdf.lisp b/src/xfdf.lisp index db36c80..3aa88d0 100644 --- a/src/xfdf.lisp +++ b/src/xfdf.lisp @@ -23,7 +23,7 @@ list."    (loop for (name . value) in fields          do -        (field-xfdf name value)) +        (format output-stream "~A" (field-xfdf name value)))    (format output-stream "	</fields>  </xfdf>") @@ -37,23 +37,28 @@ list."    ""    (let ((indent (+ 2 nesting-level)))      ;; TODO: Add checkbox default values. +    (format t "debug1: n'~A' : v'~A' : n'~A'~%" name value nesting-level)      (if (listp value)          ;; TODO: We need to do something with value -        (dolist (field value) -          (let ((subname (if (listp field) -                             (first field) -                             field)) -                (subfield (if (listp field) -                              (rest field) -                              field))) -            (field-xfdf* subname subfield (1+ nesting-level)))) +        ;; TODO: How to concat results from dolist? +        (format nil "~{~A~}" +         (loop for field in value +               collect +               (let ((subname (if (listp field) +                                  (first field) +                                  field)) +                     (subfield (if (listp field) +                                   (rest field) +                                   field))) +                 (field-xfdf* subname subfield (1+ nesting-level)))))          ;; TODO: Put checkbox stuff here.          (let ((value (cond ((eq value t) "Yes")                             ((eq value nil) "Off")                             (t value)))) +          (format t "debug2: n'~A' : v'~A' : n'~A'~%" name value nesting-level)            (format nil "~ -~v{~A~:*~}<field name=\"~A\" +~v{~A~:*~}<field name=\"~A\">  ~v{~A~:*~}	<value>~A</value>  ~v{~A~:*~}</field>  " | 
