aboutsummaryrefslogtreecommitdiffstats
path: root/src/xfdf.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xfdf.lisp')
-rw-r--r--src/xfdf.lisp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/xfdf.lisp b/src/xfdf.lisp
index 98516a3..726b578 100644
--- a/src/xfdf.lisp
+++ b/src/xfdf.lisp
@@ -52,16 +52,7 @@ list."
(rest field)
field)))
(field-xfdf* subname subfield (1+ nesting-level))))))
- (format nil "~
-~v{~A~:*~}<field name=\"~A\">
-~{~A~}~v{~A~:*~}</field>
-"
-indent
-'(" ")
-name
-inner-fields
-indent
-'(" ")))
+ (build-xfdf-outer-field name inner-fields indent))
;; TODO: Put checkbox stuff here.
(let ((value (pdf-checkbox-value value)))
@@ -78,6 +69,19 @@ If `value` is anything else, return its identity."
((eq value nil) "Off")
(t value)))
+(defun build-xfdf-outer-field (name inner-fields-str indent)
+ "Build the XFDF XML for a field containing other fields."
+ (format nil "~
+~v{~A~:*~}<field name=\"~A\">
+~{~A~}~v{~A~:*~}</field>
+"
+indent
+'(" ")
+name
+inner-fields-str
+indent
+'(" ")))
+
(defun build-xfdf-field (name value indent)
(format nil "~
~v{~A~:*~}<field name=\"~A\">