#,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,,,