On this page:
collection-name?
collection-name-element?

6.10 API for Collection Names

 (require setup/collection-name) package: base

procedure

(collection-name? v)  boolean?

  v : any/c
Returns #t if v is a string that is syntactically valid as a collection name, which means that it is one or more /-separated strings for which collection-name-element? returns true.

procedure

(collection-name-element? v)  boolean?

  v : any/c
Returns #t if v is a string that is syntactically valid as a top-level collection name or as a part of a collection name, which means that it is non-empty and contains only ASCII letters, ASCII digits, -, +, _, and %, where a % is allowed only when followed by two lowercase hexadecimal digits, and the digits must form a number that is not the ASCII value of a letter, digit, -, +, or _.