#,Test data for URI parsing,,,,,,,,,,,, @prefix,uri:,,,,,,,,,,,, @rowtype,uri:UriTest,,,,,,,,,,,, ,,,,,,,,,,,,, @columns,,,,,,,,,,,,, rdfs:label,uri:test,uri:base,uri:abs,uri:rel,rdfs:comment,uri:scheme,uri:auth,uri:user,uri:reg,uri:port,uri:path,uri:query,uri:frag @coltypes,,,,,,,,,,,,, @string,@resource,@string,@string,@string,@string,@string,xsd:boolean,@string,@string,@string,@string,@string,@string #,Values for uri:test include: ,,,,,,,,,,,, #,,"uri:AbsId, uri:AbsRf, uri:RelRf, uri:Invalid - perform syntax checks on the value of uri:base",,,,,,,,,,, #,,"uri:Decomp - uri:base decomposes to uri:scheme, uri:auth, uri:user, uri:reg, uri:port, uri:path, uri:query, uri:frag",,,,,,,,,,, #,,uri:Rel2Abs - uri:rel relative to uri:base gives uri:abs,,,,,,,,,,, #,,uri:Abs2Rel - uri:abs yields uri:rel relative to uri:base,,,,,,,,,,, #,,uri:Relative - uri:AbsRel and uri:RelAbs (round-trip),,,,,,,,,,, #,,uri:NormCase - case normalization of scheme and escape codes; uri:base yields uri:abs,,,,,,,,,,, #,,uri:NormEsc - normalization of selected escape codes; uri:base yields uri:abs #,,uri:NormPath - normalization of path segments; uri:base yields uri:abs @data,, ,, Syntax001,uri:AbsRf,http://example.org/aaa/bbb#ccc Syntax002,uri:AbsId,mailto:local@domain.org Syntax003,uri:AbsRf,mailto:local@domain.org#frag Syntax004,uri:AbsRf,HTTP://EXAMPLE.ORG/AAA/BBB#CCC Syntax005,uri:RelRf,//example.org/aaa/bbb#ccc Syntax006,uri:RelRf,/aaa/bbb#ccc Syntax007,uri:RelRf,bbb#ccc Syntax008,uri:RelRf,#ccc Syntax009,uri:RelRf,# Syntax010,uri:RelRf,/ Syntax011,uri:AbsRf,http://example.org/aaa%2fbbb#ccc,,,Escape sequences Syntax012,uri:AbsRf,http://example.org/aaa%2Fbbb#ccc,,, Syntax013,uri:RelRf,%2F,,, Syntax014,uri:RelRf,aaa%2Fbbb,,, Syntax015,uri:AbsRf,http://example.org:80/aaa/bbb#ccc,,,Port numbers Syntax016,uri:AbsRf,http://example.org:/aaa/bbb#ccc,,, Syntax017,uri:AbsRf,http://example.org./aaa/bbb#ccc,,, Syntax018,uri:AbsRf,http://example.123./aaa/bbb#ccc,,, Syntax019,uri:AbsId,http://example.org,,, Syntax021,uri:AbsId,http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html,,,IPv6 tests Syntax022,uri:AbsId,http://[1080:0:0:0:8:800:200C:417A]/index.html,,, Syntax023,uri:AbsId,http://[3ffe:2a00:100:7031::1],,, Syntax024,uri:AbsId,http://[1080::8:800:200C:417A]/foo,,, Syntax025,uri:AbsId,http://[::192.9.5.5]/ipng,,, Syntax026,uri:AbsId,http://[::FFFF:129.144.52.38]:80/index.html,,, Syntax027,uri:AbsId,http://[2010:836B:4179::836B:4179],,, Syntax028,uri:RelRf,//[2010:836B:4179::836B:4179],,, Syntax029,uri:InvRf,[2010:836B:4179::836B:4179],,, Syntax031,uri:RelRf,./aaa,,,RFC2396 test cases parse check only) Syntax032,uri:RelRf,../aaa,,, Syntax033,uri:AbsId,g:h,,, Syntax034,uri:RelRf,g,,, Syntax035,uri:RelRf,./g,,, Syntax036,uri:RelRf,g/,,, Syntax037,uri:RelRf,/g,,, Syntax038,uri:RelRf,//g,,, Syntax039,uri:RelRf,?y,,, Syntax040,uri:RelRf,g?y,,, Syntax041,uri:RelRf,#s,,, Syntax042,uri:RelRf,g#s Syntax043,uri:RelRf,g?y#s Syntax044,uri:RelRf,;x Syntax045,uri:RelRf,g;x Syntax046,uri:RelRf,g;x?y#s Syntax047,uri:RelRf,. Syntax048,uri:RelRf,./ Syntax049,uri:RelRf,.. Syntax050,uri:RelRf,../ Syntax051,uri:RelRf,../g Syntax052,uri:RelRf,../.. Syntax053,uri:RelRf,../../ Syntax054,uri:RelRf,../../g Syntax055,uri:RelRf,../../../g Syntax056,uri:RelRf,../../../../g Syntax057,uri:RelRf,/./g Syntax058,uri:RelRf,/../g Syntax059,uri:RelRf,g. Syntax060,uri:RelRf,.g Syntax061,uri:RelRf,g.. Syntax062,uri:RelRf,..g Syntax063,uri:RelRf,./../g Syntax064,uri:RelRf,./g/. Syntax065,uri:RelRf,g/./h Syntax066,uri:RelRf,g/../h Syntax067,uri:RelRf,g;x=1/./y Syntax068,uri:RelRf,g;x=1/../y Syntax069,uri:RelRf,g?y/./x Syntax070,uri:RelRf,g?y/../x Syntax071,uri:RelRf,g#s/./x Syntax072,uri:RelRf,g#s/../x Syntax073,uri:RelRf, Syntax074,uri:RelRf,A'C,,, Syntax075,uri:RelRf,A$C,,, Syntax076,uri:RelRf,A@C,,, Syntax077,uri:RelRf,"A,C",,, Syntax078,uri:InvRf,http://foo.org:80Path/More,,,Not valid URIrefs Syntax081,uri:InvRf,::,,, Syntax082,uri:InvRf, ,,,Empty Syntax083,uri:InvRf,%,,, Syntax084,uri:InvRf,A%Z,,, Syntax085,uri:InvRf,%ZZ,,, Syntax086,uri:InvRf,%AZ,,, Syntax087,uri:InvRf,A C,,, Syntax090,uri:InvRf,"A\C""",,, Syntax091,uri:InvRf,A`C,,, Syntax092,uri:InvRf,AC,,, Syntax094,uri:InvRf,A^C,,, Syntax095,uri:InvRf,A\\C,,, Syntax096,uri:InvRf,A{C,,, Syntax097,uri:InvRf,A|C,,, Syntax098,uri:InvRf,A}C,,, Syntax101,uri:InvRf,A[C,,,Disallowed use of '[' amd ']' Syntax102,uri:InvRf,A]C,,, Syntax103,uri:InvRf,A[**]C,,, Syntax104,uri:InvRf,http://[xyz]/,,, Syntax105,uri:InvRf,http://]/,,, Syntax106,uri:InvRf,http://example.org/[2010:836B:4179::836B:4179],,, Syntax107,uri:InvRf,http://example.org/abc#[2010:836B:4179::836B:4179],,, Syntax108,uri:InvRf,http://example.org/xxx/[qwerty]#a[b],,, Syntax111,uri:AbsRf,http://example/Andrȷ,,,Random other things,,,,,,,,, Syntax112,uri:AbsId,file:///C:/DEV/Haskell/lib/HXmlToolbox-3.01/examples/,,,,,,,,,,,, Syntax113,uri:AbsId,http://46229EFFE16A9BD60B9F1BE88B2DB047ADDED785/demo.mp3,,,,,,,,,,,, Syntax114,uri:InvRf,http://example.org/xxx/qwerty#a#b,,, Decomp01,uri:Decomp,http://user:pass@example.org:99/aaa/bbb?qqq#fff,,,Decomposing a URI,http:,True,user:pass@,example.org,:99,/aaa/bbb,?qqq,#fff,x Decomp02,uri:Decomp,http://user:pass@example.org:99aaa/bbb,,,Invalid,,False,,,,,,,x Decomp03,uri:Decomp,http://user:pass@example.org:99?aaa/bbb,,,,http:,True,user:pass@,example.org,:99,,?aaa/bbb,,x Decomp04,uri:Decomp,http://user:pass@example.org:99#aaa/bbb,,,,http:,True,user:pass@,example.org,:99,,,#aaa/bbb,x Relative01,uri:Relative,foo:xyz,bar:abc,bar:abc,Base/relative URI tests,,,,,,,,, Relative02,uri:Relative,http://example/x/y/z,http://example/x/abc,../abc,,,,,,,,,, Relative03,uri:Relative,http://example2/x/y/z,http://example/x/abc,//example/x/abc,"(uri:rel was ""http://example/x/abc"")",,,,,,,,, Relative04,uri:Relative,http://ex/x/y/z,http://ex/x/r,../r,,,,,,,,,, Relative05,uri:Relative,http://ex/x/y/z,http://ex/r,/r,"(uri:rel was ""../../r"")",,,,,,,,, Relative06,uri:Relative,http://ex/x/y/z,http://ex/x/y/q/r,q/r,,,,,,,,,, Relative07,uri:Relative,http://ex/x/y,http://ex/x/q/r#s,q/r#s,,,,,,,,,, Relative08,uri:Relative,http://ex/x/y,http://ex/x/q/r#s/t,q/r#s/t, Relative09,uri:Relative,http://ex/x/y,ftp://ex/x/q/r,ftp://ex/x/q/r, Relative10,uri:Relative,http://ex/x/y,http://ex/x/y,,"(uri:rel was ""y"")" Relative11,uri:Relative,http://ex/x/y/,http://ex/x/y/,,"(uri:rel was ""./"")" Relative12,uri:Relative,http://ex/x/y/pdq,http://ex/x/y/pdq,,"(uri:rel was ""pdq"")" Relative13,uri:Relative,http://ex/x/y/,http://ex/x/y/z/,z/, Relative14,uri:Relative,file:/swap/test/animal.rdf,file:/swap/test/animal.rdf#Animal,#Animal,"(uri:rel was ""animal.rdf#Animal"")" Relative15,uri:Relative,file:/e/x/y/z,file:/e/x/abc,../abc, Relative16,uri:Relative,file:/example2/x/y/z,file:/example/x/abc,/example/x/abc, Relative17,uri:Relative,file:/ex/x/y/z,file:/ex/x/r,../r, Relative18,uri:Relative,file:/ex/x/y/z,file:/r,/r, Relative19,uri:Relative,file:/ex/x/y,file:/ex/x/q/r,q/r, Relative20,uri:Relative,file:/ex/x/y,file:/ex/x/q/r#s,q/r#s, Relative21,uri:Relative,file:/ex/x/y,file:/ex/x/q/r#,q/r#, Relative22,uri:Relative,file:/ex/x/y,file:/ex/x/q/r#s/t,q/r#s/t, Relative23,uri:Relative,file:/ex/x/y,ftp://ex/x/q/r,ftp://ex/x/q/r, Relative24,uri:Relative,file:/ex/x/y,file:/ex/x/y,,"(uri:rel was ""y"")" Relative25,uri:Relative,file:/ex/x/y/,file:/ex/x/y/,,"(uri:rel was ""./"")" Relative26,uri:Relative,file:/ex/x/y/pdq,file:/ex/x/y/pdq,,"(uri:rel was ""pdq"")" Relative27,uri:Relative,file:/ex/x/y/,file:/ex/x/y/z/,z/, Relative28,uri:Relative,file:/devel/WWW/2000/10/swap/test/reluri-1.n3,file://meetings.example.com/cal#m1,//meetings.example.com/cal#m1,"(uri:rel was ""file://meetings.example.com/cal#m1"")" Relative29,uri:Relative,file:/home/connolly/w3ccvs/WWW/2000/10/swap/test/reluri-1.n3,file://meetings.example.com/cal#m1,//meetings.example.com/cal#m1,"(uri:rel was ""file://meetings.example.com/cal#m1"")" Relative30,uri:Relative,file:/some/dir/foo,file:/some/dir/#blort,./#blort, Relative31,uri:Relative,file:/some/dir/foo,file:/some/dir/#,./#, Relative32,uri:Relative,http://ex/x/y,http://ex/x/q:r,./q:r,"(see RFC2396bis, section 5)" Relative33,uri:Relative,http://ex/x/y,http://ex/x/p=q:r,./p=q:r, Relative34,uri:Relative,http://ex/x/y?pp/qq,http://ex/x/y?pp/rr,?pp/rr, Relative35,uri:Relative,http://ex/x/y?pp/qq,http://ex/x/y/z,y/z, Relative36,uri:Relative,mailto:local,mailto:local/qual@domain.org#frag,local/qual@domain.org#frag, Relative37,uri:Relative,mailto:local/qual1@domain1.org,mailto:local/more/qual2@domain2.org#frag,more/qual2@domain2.org#frag, Relative38,uri:Relative,http://ex/x/z?q,http://ex/x/y?q,y?q, Relative39,uri:Relative,http://ex?p,http://ex/x/y?q,/x/y?q, Relative40,uri:Relative,foo:a/b,foo:a/c/d,c/d, Relative41,uri:Relative,foo:a/b,foo:/c/d,/c/d, Relative42,uri:Relative,foo:a/b?c#d,foo:a/b?c,, Relative43,uri:Relative,foo:a,foo:b/c,b/c, Relative44,uri:Relative,foo:/a/y/z,foo:/a/b/c,../b/c, Relative45,uri:Rel2Abs,foo:a,foo:b/c,./b/c, Relative46,uri:Rel2Abs,foo:a,foo:/b/c,/./b/c, Relative47,uri:Rel2Abs,foo://a//b/c,foo://a/d,../../d, Relative48,uri:Rel2Abs,foo:a,foo:,., Relative49,uri:Rel2Abs,foo:a,foo:,.., Relative50,uri:Relative,http://example/x/y%2Fz,http://example/x/abc,abc, Relative51,uri:Relative,http://example/a/x/y/z,http://example/a/x%2Fabc,../../x%2Fabc,"(cf. TimBL comments -- http://lists.w3.org/Archives/Public/uri/2003Feb/0028.html, http://lists.w3.org/Archives/Public/uri/2003Jan/0008.html)" Relative52,uri:Relative,http://example/a/x/y%2Fz,http://example/a/x%2Fabc,../x%2Fabc, Relative53,uri:Relative,http://example/x%2Fy/z,http://example/x%2Fy/abc,abc, Relative54,uri:Relative,http://ex/x/y,http://ex/x/q%3Ar,q%3Ar, Relative55,uri:Relative,http://example/x/y%2Fz,http://example/x%2Fabc,/x%2Fabc Relative56,uri:Relative,http://example/x/y/z,http://example/x%2Fabc,/x%2Fabc Relative57,uri:Relative,http://example/x/y%2Fz,http://example/x%2Fabc,/x%2Fabc Relative60,uri:Rel2Abs,ftp://example/x/y,http://example/c,http://example/a/b/../../c Relative61,uri:Rel2Abs,ftp://example/x/y,http://example/a/,http://example/a/b/c/../../ Relative62,uri:Rel2Abs,ftp://example/x/y,http://example/a/b/c/,http://example/a/b/c/./ Relative63,uri:Rel2Abs,ftp://example/x/y,http://example/a/b/,http://example/a/b/c/.././ Relative64,uri:Rel2Abs,ftp://example/x/y,http://example/e,http://example/a/b/c/d/../../../../e Relative65,uri:Rel2Abs,ftp://example/x/y,http://example/e,http://example/a/b/c/d/../.././../../e Relative70,uri:Relative,mailto:local1@domain1?query1,mailto:local2@domain2,local2@domain2 Relative71,uri:Relative,mailto:local1@domain1,mailto:local2@domain2?query2,local2@domain2?query2 Relative72,uri:Relative,mailto:local1@domain1?query1,mailto:local2@domain2?query2,local2@domain2?query2 Relative73,uri:Relative,mailto:local@domain?query1,mailto:local@domain?query2,?query2 Relative74,uri:Relative,mailto:?query1,mailto:local@domain?query2,local@domain?query2 Relative75,uri:Relative,mailto:local@domain?query1,mailto:local@domain?query2,?query2, Relative76,uri:Relative,foo:bar,http://example/a/b?c/../d,http://example/a/b?c/../d, Relative77,uri:Relative,foo:bar,http://example/a/b#c/../d,http://example/a/b#c/../d, Relative81,uri:Abs2Rel,http://example.org/base/uri,http:this,this, Relative82,uri:Rel2Abs,http://example.org/base/uri,http:this,http:this, Relative83,uri:Rel2Abs,http:base,http:this,http:this, Relative84,uri:Rel2Abs,f:/a,f://g,.//g, Relative85,uri:Rel2Abs,f://example.org/base/a,f://example.org/base/b/c//d/e,b/c//d/e, Relative86,uri:Rel2Abs,mid:m@example.ord/c@example.org,mid:m@example.ord/m2@example.ord/c2@example.org,m2@example.ord/c2@example.org, Relative87,uri:Rel2Abs,file:///C:/DEV/Haskell/lib/HXmlToolbox-3.01/examples/,file:///C:/DEV/Haskell/lib/HXmlToolbox-3.01/examples/mini1.xml,mini1.xml, Relative88,uri:Relative,foo:a/y/z,foo:a/b/c,../b/c,Variant of Relative44 RFC01,uri:Rel2Abs,http://a/b/c/d;p?q,g:h,g:h,"Normal cases, RFC2396bis 5.4.1" RFC02,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g,g, RFC03,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g,./g, RFC04,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g/,g/, RFC05,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/g,/g, RFC06,uri:Rel2Abs,http://a/b/c/d;p?q,http://g,//g, RFC07,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/d;p?y,?y, RFC08,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g?y,g?y, RFC09,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/d;p?q#s,?q#s,(not in RFC 2396bis) RFC23,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/d;p?q#s,#s, RFC10,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g#s,g#s, RFC11,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g?y#s,g?y#s, RFC12,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/;x,;x, RFC13,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g;x,g;x, RFC14,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g;x?y#s,g;x?y#s, RFC24,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/d;p?q,, RFC15,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/,., RFC16,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/,./, RFC17,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/,.., RFC18,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/,../, RFC19,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/g,../g, RFC20,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/,../.., RFC21,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/,../../, RFC22,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/g,../../g, RFC23,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/d;p?r,?r,(Not in RFC2396bis) RFC32,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/g,../../../g,"Abnormal cases, RFC2396bis 5.4.2" RFC33,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/g,../../../../g, RFC34,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/g,/./g, RFC35,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/g,/../g, RFC36,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g.,g., RFC37,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/.g,.g, RFC38,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g..,g.., RFC39,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/..g,..g, RFC40,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/g,./../g, RFC41,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g/,./g/., RFC42,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g/h,g/./h, RFC43,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/h,g/../h, RFC44,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g;x=1/y,g;x=1/./y, RFC45,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/y,g;x=1/../y, RFC46,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g?y/./x,g?y/./x, RFC47,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g?y/../x,g?y/../x, RFC48,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g#s/./x,g#s/./x, RFC49,uri:Rel2Abs,http://a/b/c/d;p?q,http://a/b/c/g#s/../x,g#s/../x, RFC50,uri:Rel2Abs,http://a/b/c/d;p?q,http:x,http:x,(Strict parsing) Rel60,uri:Relative,http://ex,http://ex/x/y?q,/x/y?q,"Null path tests (see RFC2396bis, section 5.2.3: ""If the base URI has a defined authority component and an empty path, then return a string consisting of ""/"" concatenated with the reference's path; ..."")" Rel61,uri:Rel2Abs,http://ex,http://ex/x/y?q,x/y?q, Rel62,uri:Relative,http://ex?p,http://ex/x/y?q,/x/y?q, Rel63,uri:Rel2Abs,http://ex?p,http://ex/x/y?q,x/y?q, Rel64,uri:Relative,http://ex#f,http://ex/x/y?q,/x/y?q, Rel65,uri:Rel2Abs,http://ex#f,http://ex/x/y?q,x/y?q, Rel66,uri:Relative,http://ex?p,http://ex/x/y#g,/x/y#g, Rel67,uri:Rel2Abs,http://ex?p,http://ex/x/y#g,x/y#g, Rel68,uri:Relative,http://ex,http://ex/,/, Rel69,uri:Rel2Abs,http://ex,http://ex/,./, Rel70,uri:Relative,http://ex,http://ex/a/b,/a/b, Rel71,uri:Relative,http://ex/a/b,http://ex/a/,./, Mail01,uri:Rel2Abs,mailto:local/option@domain.org?notaquery#frag,mailto:local/more@domain,more@domain,More oddball tests Mail02,uri:Rel2Abs,mailto:local/option@domain.org?notaquery#frag,mailto:local/option@domain.org?notaquery#newfrag,#newfrag, Mail03,uri:Rel2Abs,mailto:local/option@domain.org?notaquery#frag,mailto:local/l1/q1@domain,l1/q1@domain, Mail11,uri:Rel2Abs,mailto:local1@domain1?query1,mailto:local2@domain2,mailto:local2@domain2, Mail12,uri:Rel2Abs,mailto:local1@domain1,mailto:local2@domain2?query2,mailto:local2@domain2?query2, Mail13,uri:Rel2Abs,mailto:local1@domain1?query1,mailto:local2@domain2?query2,mailto:local2@domain2?query2, Mail14,uri:Rel2Abs,mailto:local@domain?query1,mailto:local@domain?query2,mailto:local@domain?query2, Mail15,uri:Rel2Abs,mailto:?query1,mailto:local@domain?query2,mailto:local@domain?query2, Mail16,uri:Rel2Abs,mailto:local@domain?query1,mailto:local@domain?query2,?query2, Info17,uri:Rel2Abs,info:name/1234/../567,info:name/name/543,name/9876/../543, Info18,uri:Rel2Abs,info:/name/1234/../567,info:/name/name/543,name/9876/../543, Normalize01,uri:NormCase,http://EXAMPLE.com/Root/%2A?%2B#%2C,HTTP://EXAMPLE.com/Root/%2a?%2b#%2c,,Case normalization; cf. RFC2396bis section 6.2.2.1 (NOTE: authority case normalization is not performed) Normalize11,uri:NormEsc,HTTP://EXAMPLE.com/Root/~Me/,HTTP://EXAMPLE.com/Root/%7eMe/,,Encoding normalization; cf. RFC2396bis section 6.2.2.2 Normalize12,uri:NormEsc,foo:%40AZ%5b%60az%7b%2f09%3a-._~,foo:%40%41%5a%5b%60%61%7a%7b%2f%30%39%3a%2d%2e%5f%7e,, Normalize13,uri:NormEsc,foo:%3a%2f%3f%23%5b%5d%40,foo:%3a%2f%3f%23%5b%5d%40,, Normalize21,uri:NormPath,http://example/c,http://example/a/b/../../c,,Path segment normalization; cf. RFC2396bis section 6.2.2.4 Normalize22,uri:NormPath,http://example/a/,http://example/a/b/c/../../,, Normalize23,uri:NormPath,http://example/a/b/c/,http://example/a/b/c/./,, Normalize24,uri:NormPath,http://example/a/b/,http://example/a/b/c/.././,, Normalize25,uri:NormPath,http://example/e,http://example/a/b/c/d/../../../../e,, Normalize26,uri:NormPath,http://example/e,http://example/a/b/c/d/../.././../../e,, Normalize27,uri:NormPath,http://example/e,http://example/a/b/../.././../../e Normalize28,uri:NormPath,foo:e,foo:a/b/../.././../../e @end,,,