catalog/rfc6570-uri-template.abnf

Source

; <https://www.rfc-editor.org/rfc/rfc6570.html>

URI-Template  = *( literals / expression )

literals      =  %x21 / %x23-24 / %x26 / %x28-3B / %x3D / %x3F-5B
              /  %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate
              /  pct-encoded
                   ; any Unicode character except: CTL, SP,
                   ;  DQUOTE, "'", "%" (aside from pct-encoded),
                   ;  "<", ">", "\", "^", "`", "{", "|", "}"

expression    =  "{" [ operator ] variable-list "}"
operator      =  op-level2 / op-level3 / op-reserve
op-level2     =  "+" / "#"
op-level3     =  "." / "/" / ";" / "?" / "&"
op-reserve    =  "=" / "," / "!" / "@" / "|"

variable-list =  varspec *( "," varspec )
varspec       =  varname [ modifier-level4 ]
varname       =  varchar *( ["."] varchar )
varchar       =  ALPHA / DIGIT / "_" / pct-encoded

modifier-level4 =  prefix / explode

prefix        =  ":" max-length
max-length    =  %x31-39 0*3DIGIT   ; positive integer < 10000

explode       =  "*"

pct-encoded   = <import rfc3986-uri.abnf pct-encoded>
unreserved    = <import rfc3986-uri.abnf unreserved>
reserved      = <import rfc3986-uri.abnf reserved>
gen-delims    = <import rfc3986-uri.abnf gen-delims>
sub-delims    = <import rfc3986-uri.abnf sub-delims>
ucschar       = <import rfc3987-iri.abnf ucschar>
iprivate      = <import rfc3987-iri.abnf iprivate>

Info

Rules
URI-Template, literals, expression, operator, op-level2, op-level3, op-reserve, variable-list, varspec, varname, varchar, modifier-level4, prefix, max-length, explode, pct-encoded, unreserved, reserved, gen-delims, sub-delims, ucschar, iprivate
Dependencies
Used Builtins
ALPHA, DIGIT

Alphabet

Cited By

Implementations