tech-invite   World Map     

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

ABNF grammars

|   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