diff options
Diffstat (limited to 'src/xfdf.lisp')
| -rw-r--r-- | src/xfdf.lisp | 42 | 
1 files changed, 30 insertions, 12 deletions
| diff --git a/src/xfdf.lisp b/src/xfdf.lisp index 5ddd23a..db36c80 100644 --- a/src/xfdf.lisp +++ b/src/xfdf.lisp @@ -9,17 +9,21 @@ list."  	<fields>  ") +;   (loop for (name . value) in fields +;         do +;         (let ((value (cond ((eq value t) "Yes") +;                            ((eq value nil) "Off") +;                            (t value)))) +;           (format output-stream "		<field name=\"~A\"> +; 			<value>~A</value> +; 		</field> +; " +; name +; value))) +    (loop for (name . value) in fields          do -        (let ((value (cond ((eq value t) "Yes") -                           ((eq value nil) "Off") -                           (t value)))) -          (format output-stream "		<field name=\"~A\"> -			<value>~A</value> -		</field> -" -name -value))) +        (field-xfdf name value))    (format output-stream "	</fields>  </xfdf>") @@ -34,17 +38,31 @@ value)))    (let ((indent (+ 2 nesting-level)))      ;; TODO: Add checkbox default values.      (if (listp value) -        (field-xfdf* name value (1+ nesting-level)) +        ;; 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: Put checkbox stuff here. -        (format nil "~ +        (let ((value (cond ((eq value t) "Yes") +                           ((eq value nil) "Off") +                           (t value)))) +          (format nil "~  ~v{~A~:*~}<field name=\"~A\"  ~v{~A~:*~}	<value>~A</value>  ~v{~A~:*~}</field>  "  indent +'("	")  name  indent +'("	")  value -indent)))) +indent +'("	"))))))  ;; * (format t "~v{~A~:*~}<>~A" 5 '("Hello") "Next") | 
