diff options
author | Teddy Wing | 2023-04-16 20:30:36 +0200 |
---|---|---|
committer | Teddy Wing | 2023-04-16 20:46:59 +0200 |
commit | f40ea60f4d767c2ce84a41ca6989750534dee3f7 (patch) | |
tree | 2609cfa15fcabc0317d3ada8d8f3b98d1fd8483a /src | |
parent | 0fdcbf0a159c9ee4df69bad2c617de01dcb0fd3c (diff) | |
download | xfdf-f40ea60f4d767c2ce84a41ca6989750534dee3f7.tar.bz2 |
Output XFDF fields into XML
Write `<field>` elements to the XFDF XML based on the cons cells in the
`fields` input list.
Change true and nil values to the FDF/XFDF checkbox value format of
"Yes" and "Off".
Also decided to use lowercase `t` to match the case of `nil`. Not sure
if that makes sense.
Diffstat (limited to 'src')
-rw-r--r-- | src/xfdf.lisp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/xfdf.lisp b/src/xfdf.lisp index a61fcdd..fd8c8b7 100644 --- a/src/xfdf.lisp +++ b/src/xfdf.lisp @@ -7,18 +7,17 @@ <fields> ") - ;; TODO - ; (loop do) - (format output-stream " <field name=\"checkbox-on\"> - <value>Yes</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> - <field name=\"checkbox-off\"> - <value>Off</value> - </field> - <field name=\"text\"> - <value>123 Fake Street, Springfield</value> - </field> -") +" +name +value))) (format output-stream " </fields> </xfdf>") |