((p "All " (a (@ (href . "00001006020000")) "supported metadata keys") " conform to a type.") (p "User-defined metadata keys conform also to a type, based on the suffix of the key.") (table (thead (tr (th "Suffix") (th "Type"))) (tbody (tr (td (kbd "-date")) (td (a (@ (href . "00001006034500")) "Timestamp"))) (tr (td (kbd "-number")) (td (a (@ (href . "00001006033000")) "Number"))) (tr (td (kbd "-role")) (td (a (@ (href . "00001006035500")) "Word"))) (tr (td (kbd "-time")) (td (a (@ (href . "00001006034500")) "Timestamp"))) (tr (td (kbd "-title")) (td (a (@ (href . "00001006036500")) "Zettelmarkup"))) (tr (td (kbd "-url")) (td (a (@ (href . "00001006035000")) "URL"))) (tr (td (kbd "-zettel")) (td (a (@ (href . "00001006032000")) "Identifier"))) (tr (td (kbd "-zid")) (td (a (@ (href . "00001006032000")) "Identifier"))) (tr (td (kbd "-zids")) (td (a (@ (href . "00001006032500")) "IdentifierSet"))) (tr (td "any other suffix") (td (a (@ (href . "00001006031500")) "EString"))))) (p "The name of the metadata key is bound to the key type") (p "Every key type has an associated validation rule to check values of the given type." " " "There is also a rule how values are matched, e.g. against a " (a (@ (href . "00001007706000")) "search value") " when selecting some zettel." " " "And there is a rule how values compare for sorting.") (ul (li (a (@ (href . "00001006031000")) "Credential")) (li (a (@ (href . "00001006031500")) "EString")) (li (a (@ (href . "00001006032000")) "Identifier")) (li (a (@ (href . "00001006032500")) "IdentifierSet")) (li (a (@ (href . "00001006033000")) "Number")) (li (a (@ (href . "00001006033500")) "String")) (li (a (@ (href . "00001006034000")) "TagSet")) (li (a (@ (href . "00001006034500")) "Timestamp")) (li (a (@ (href . "00001006035000")) "URL")) (li (a (@ (href . "00001006035500")) "Word")) (li (a (@ (href . "00001006036500")) "Zettelmarkup"))))