A scheme consists of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus (+, period (.), or hyphen (-).

Although schemes are case-insensitive, the canonical form is lowercase and documents that specify schemes must do so with lowercase letters. It is followed by a colon (:).


@:value(cast "data")@:impl@:enuminlineread onlyData:Scheme = "data"

@:value(cast "file")@:impl@:enuminlineread onlyFile:Scheme = "file"

@:value(cast "ftp")@:impl@:enuminlineread onlyFtp:Scheme = "ftp"

@:value(cast "http")@:impl@:enuminlineread onlyHttp:Scheme = "http"

@:value(cast "https")@:impl@:enuminlineread onlyHttps:Scheme = "https"

@:value(cast "mailto")@:impl@:enuminlineread onlyMailTo:Scheme = "mailto"