(BLOCK (PARA (TEXT "The data encoding represents the zettel as a special ") (LINK () (ZETTEL "00001012930000") (TEXT "symbolic expression")) (TEXT ".") (SOFT) (TEXT "In contrast to the similar-looking ") (LINK () (ZETTEL "00001012920516") (TEXT "sz encoding")) (TEXT ", a much simpler structure is used.")) (PARA (TEXT "If transferred via HTTP, the content type will be ") (LITERAL-INPUT () "text/plain; charset=utf-8") (TEXT ".")) (PARA (TEXT "A full zettel, both metadata and content, is encoded by the list")) (REGION-BLOCK (("" . "syntax")) ((PARA (LITERAL-INPUT () "(zettel") (TEXT " ") (LINK () (SELF "#metadata") (FORMAT-EMPH () (TEXT "Metadata"))) (TEXT " ") (LINK () (SELF "#access-rights") (FORMAT-EMPH () (TEXT "Access rights"))) (TEXT " ") (LINK () (SELF "#content-encoding") (FORMAT-EMPH () (TEXT "Content encoding"))) (TEXT " ") (LINK () (SELF "#content") (FORMAT-EMPH () (TEXT "Content"))) (TEXT " ") (LITERAL-INPUT () ")") (TEXT ".")))) (PARA (TEXT "If you only want to encode the metadata of a zettel, the following format will be used:")) (REGION-BLOCK (("" . "syntax")) ((PARA (LITERAL-INPUT () "(list") (TEXT " ") (LINK () (SELF "#metadata") (FORMAT-EMPH () (TEXT "Metadata"))) (TEXT " ") (LINK () (SELF "#access-rights") (FORMAT-EMPH () (TEXT "Access rights"))) (TEXT " ") (LITERAL-INPUT () ")") (TEXT ".")))) (HEADING 1 () "metadata" "metadata" (TEXT "Metadata")) (PARA (TEXT "Metadata is basically a sequence of key / value pairs:")) (REGION-BLOCK (("" . "syntax")) ((PARA (FORMAT-EMPH () (TEXT "Metadata")) (TEXT " ") (FORMAT-STRONG () (TEXT "=")) (TEXT " ") (LITERAL-INPUT () "(meta") (TEXT " ") (LITERAL-INPUT () "(") (TEXT " ") (FORMAT-EMPH () (TEXT "Key")) (TEXT " ") (FORMAT-EMPH () (TEXT "Value")) (TEXT " ") (LITERAL-INPUT () ")") (TEXT " … ") (LITERAL-INPUT () ")") (TEXT ".")) (PARA (FORMAT-EMPH () (TEXT "Key")) (TEXT " ") (FORMAT-STRONG () (TEXT "=")) (TEXT " Symbol.")) (PARA (FORMAT-EMPH () (TEXT "Value")) (TEXT " ") (FORMAT-STRONG () (TEXT "=")) (TEXT " String.")))) (PARA (TEXT "Each ") (FORMAT-EMPH () (TEXT "Key")) (TEXT " is a symbol, derivied from the metadata key.") (SOFT) (TEXT "The ") (FORMAT-EMPH () (TEXT "Value")) (TEXT " is a string containing the value of the corresponding metadata entry.")) (HEADING 1 () "access-rights" "access-rights" (TEXT "Access rights")) (PARA (TEXT "This element encodes ") (LINK () (ZETTEL "00001012921200") (TEXT "access rights")) (TEXT " of a zettel:")) (REGION-BLOCK (("" . "syntax")) ((PARA (FORMAT-EMPH () (TEXT "Access rights")) (TEXT " ") (FORMAT-STRONG () (TEXT "=")) (TEXT " ") (LITERAL-INPUT () "(rights") (TEXT " Number ") (LITERAL-INPUT () ")") (TEXT ".")))) (HEADING 1 () "content-encoding" "content-encoding" (TEXT "Content encoding")) (PARA (TEXT "The content encoding specifies, how the zettel content is encoded.") (SOFT) (TEXT "Currently, two values are supported: the empty string and the string ") (LITERAL-INPUT () "\"base64\"") (TEXT ".")) (REGION-BLOCK (("" . "syntax")) ((PARA (FORMAT-EMPH () (TEXT "Content encoding")) (TEXT " ") (FORMAT-STRONG () (TEXT "=")) (TEXT " ") (LITERAL-INPUT () "(encoding \"\")") (TEXT " ") (FORMAT-STRONG () (TEXT "|")) (TEXT " ") (LITERAL-INPUT () "(encoding \"base64\")") (TEXT ".")))) (PARA (TEXT "The empty string indicates that the content is not encoded and can be used as is.") (SOFT) (LITERAL-INPUT () "\"base64\"") (TEXT " indicates that the content string is Base64-encoded (typically used for binary content).")) (HEADING 1 () "content" "content" (TEXT "Content")) (PARA (TEXT "The content of a zettel is always encoded as a readable string.") (SOFT) (TEXT "For binary content, it is first encoded using Base64.")) (REGION-BLOCK (("" . "syntax")) ((PARA (FORMAT-EMPH () (TEXT "Content")) (TEXT " ") (FORMAT-STRONG () (TEXT "=")) (TEXT " ") (LITERAL-INPUT () "(content") (TEXT " String ") (LITERAL-INPUT () ")") (TEXT ".")))))