tech-invite   World Map     

3GPP     Specs     Glossaries     Architecture     IMS     UICC       IETF     RFCs     Groups     SIP     ABNFs       Search

SIP        SIP URIs        SIP Headers        SIP Private Headers        SDP       
HTTP        Generic URI        IRI        IMF        MSRP        RTSP        ABNF Notation

IRI (Internationalized Resource Identifier) Syntax – RFC 3987

 

Here        Top

 

|   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