diff options
| author | Teddy Wing | 2023-04-20 19:11:11 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2023-04-20 19:11:11 +0200 | 
| commit | 2dd22dd3e49e29eedc9e5794cdfc0f851a9db6be (patch) | |
| tree | 3384a86fef91885f78d0a6c1f08905966d3099bc /src | |
| parent | 8ac9d4176e8f82285427f698b824fb69df601df8 (diff) | |
| download | xfdf-2dd22dd3e49e29eedc9e5794cdfc0f851a9db6be.tar.bz2 | |
xfdf.lisp: Ideas for hierarchical fields
Ideas for an implementation change to allow writing XFDFs with nested
fields.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xfdf.lisp | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/src/xfdf.lisp b/src/xfdf.lisp index d64aa29..5ddd23a 100644 --- a/src/xfdf.lisp +++ b/src/xfdf.lisp @@ -25,3 +25,26 @@ value)))  </xfdf>")    output-stream) + +(defun field-xfdf (name value) +  (field-xfdf* name value 0)) + +(defun field-xfdf* (name value nesting-level) +  "" +  (let ((indent (+ 2 nesting-level))) +    ;; TODO: Add checkbox default values. +    (if (listp value) +        (field-xfdf* name value (1+ nesting-level)) + +        ;; TODO: Put checkbox stuff here. +        (format nil "~ +~v{~A~:*~}<field name=\"~A\" +~v{~A~:*~}	<value>~A</value> +~v{~A~:*~}</field> +" +indent +name +indent +value +indent)))) +;; * (format t "~v{~A~:*~}<>~A" 5 '("Hello") "Next") | 
