URI Templates are similar to a macro language with a fixed set of macro definitions: the expression type determines the expansion process.
Static fragment element
Fragment expansion with multiple variables, crosshatch-prefixed (Section 3.2.4)
Form-style query continuation (Section 3.2.9)
Static query parameter element
Form-style query, ampersand-separated (Section 3.2.8)
Reserved string expansion for query parameter
Simple string expansion for query parameter
Static path element
Path segments, slash-prefixed (Section 3.2.6)
Level 2 allows reserved string expansion (Section 3.2.3)
Fragment expansion, crosshatch-prefixed (Section 3.2.4)
Level 1 allows string expansion (Section 3.2.2)