Tech-invite3GPPspecsGlossariesIETFRFCsGroupsSIPABNFs   Ti+SearchTech-invite World Map Symbol

SIP   SIP URIs   SIP Headers   SIP P‑Headers   SDP   HTTP   Generic URI   IRI   IMF   RTSP   ABNF Notation

IRI (Internationalized Resource Identifier) Syntax – RFC 3987

IRI Reference   iAuthority   iPath   iQuery   iFragment   iCharacters

IRI-reference   =
IRI   =
scheme   ":"   ihier-part   [ "?"   iquery ]   [ "#"   ifragment ]
Up

absolute-IRI   =
scheme   ":"   ihier-part   [ "?"   iquery ]
Up

irelative-ref   =
irelative-part   [ "?"   iquery ]   [ "#"   ifragment ]
Up

ihier-part   =
"//"   iauthority     ipath-abempty  /  ipath-absolute  /  ipath-rootless  /  ipath-empty
Up
Up

irelative-part   =
"//"   iauthority     ipath-abempty  /  ipath-absolute  /  ipath-noscheme  /  ipath-empty
Up

 

IRI Reference   iAuthority   iPath   iQuery   iFragment   iCharacters

iauthority   =
iuserinfo   "@" ]   ihost   [ ":"   port ]
Up


iuserinfo   =
*( iunreserved  /  pct-encoded  /  sub-delims  /  ":" )
Up


ihost   =

ireg-name   =
*( iunreserved  /  pct-encoded  /  sub-delims )
Up

 

IRI Reference   iAuthority   iPath   iQuery   iFragment   iCharacters

ipath   =
ipath‑abempty  /    ;  begins with "/" or is empty
ipath‑absolute  /    ;  begins with "/" but not "//"
ipath‑noscheme  /    ;  begins with a non‑colon segment
ipath‑rootless  /    ;  begins with a segment
ipath‑empty    ;  zero characters
Up

ipath-abempty   =
*( "/"   isegment )
Up

ipath-absolute   =
"/"   [ isegment‑nz   *( "/"   isegment ) ]
Up

ipath-noscheme   =
isegment‑nz‑nc   *( "/"   isegment )
Up

ipath-rootless   =
isegment‑nz   *( "/"   isegment )
Up

ipath-empty   =
0<ipchar>
Up

isegment   =
isegment-nz   =
1*ipchar

isegment-nz-nc   =
1*( iunreserved  /  pct‑encoded  /  sub‑delims  /  "@" )
; non-zero-length segment without any colon ":"

ipchar   =
iunreserved  /  pct-encoded  /  sub-delims  /  ":"  /  "@"

 

IRI Reference   iAuthority   iPath   iQuery   iFragment   iCharacters

iquery   =
*( ipchar  /  iprivate  /  "/"  /  "?" )
Up

 

IRI Reference   iAuthority   iPath   iQuery   iFragment   iCharacters

ifragment   =
*( ipchar  /  "/"  /  "?" )

 

IRI Reference   iAuthority   iPath   iQuery   iFragment   iCharacters

iunreserved   =
ALPHA  /  DIGIT  /  "-"  /  "."  /  "_"  /  "~"  /  ucschar

ucschar   =
%xA0-D7FF  / 
%xF900-FDCF  / 
%xFDF0-FFEF  / 
%x10000-1FFFD  / 
%x20000-2FFFD  / 
%x30000-3FFFD  / 
%x40000-4FFFD  / 
%x50000-5FFFD  / 
%x60000-6FFFD  / 
%x70000-7FFFD  / 
%x80000-8FFFD  / 
%x90000-9FFFD  / 
%xA0000-AFFFD  / 
%xB0000-BFFFD  / 
%xC0000-CFFFD  / 
%xD0000-DFFFD  / 
%xE1000-EFFFD
Up

iprivate   =
%xE000-F8FF  / 
%xF0000-FFFFD  / 
%x100000-10FFFD