cite-isvalid.html (5853B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <title>valid cite</title> 4 <q cite="a:foo.com"></q><!-- scheme-private --> 5 <q cite="foo:/"></q><!-- scheme-private-slash --> 6 <q cite="foo://"></q><!-- scheme-private-slash-slash --> 7 <q cite="foo:/bar.com/"></q><!-- scheme-private-path --> 8 <q cite="foo://///////"></q><!-- scheme-private-path-leading-slashes-only --> 9 <q cite="foo://///////bar.com/"></q><!-- scheme-private-path-leading-slashes-chars --> 10 <q cite="foo:////://///"></q><!-- scheme-private-path-leading-slashes-colon-slashes --> 11 <q cite="c:/foo"></q><!-- scheme-private-single-letter --> 12 <q cite="madeupscheme:/example.com/"></q><!-- scheme-private-single-slash --> 13 <q cite="file:/example.com/"></q><!-- scheme-file-single-slash --> 14 <q cite="ftps:/example.com/"></q><!-- scheme-ftps-single-slash --> 15 <q cite="gopher:/example.com/"></q><!-- scheme-gopher-single-slash --> 16 <q cite="ws:/example.com/"></q><!-- scheme-ws-single-slash --> 17 <q cite="wss:/example.com/"></q><!-- scheme-wss-single-slash --> 18 <q cite="javascript:/example.com/"></q><!-- scheme-javascript-single-slash --> 19 <q cite="mailto:/example.com/"></q><!-- scheme-mailto-single-slash --> 20 <q cite="madeupscheme:example.com/"></q><!-- scheme-private-no-slash --> 21 <q cite="ftps:example.com/"></q><!-- scheme-ftps-no-slash --> 22 <q cite="gopher:example.com/"></q><!-- scheme-gopher-no-slash --> 23 <q cite="wss:example.com/"></q><!-- scheme-wss-no-slash --> 24 <q cite="mailto:example.com/"></q><!-- scheme-mailto-no-slash --> 25 <q cite="data:text/plain,foo"></q><!-- scheme-data-no-slash --> 26 <q cite="http://user:pass@foo:21/bar;par?b#c"></q><!-- userinfo --> 27 <q cite="http://[2001::1]"></q><!-- host-ipv6 --> 28 <q cite="http://[2001::1]:80"></q><!-- host-ipv6-port --> 29 <q cite="http://f:/c"></q><!-- port-none-but-colon --> 30 <q cite="http://f:0/c"></q><!-- port-0 --> 31 <q cite="http://f:00000000000000/c"></q><!-- port-00000000000000 --> 32 <q cite="http://f:00000000000000000000080/c"></q><!-- port-00000000000000000000080 --> 33 <q cite="http://a:b@c:29/d"></q><!-- userinfo-host-port-path --> 34 <q cite="http://foo.com:b@d/"></q><!-- userinfo-username-non-alpha --> 35 <q cite="http://foo/abcd?efgh?ijkl"></q><!-- query-contains-question-mark --> 36 <q cite="http://foo/abcd#foo?bar"></q><!-- fragment-contains-question-mark --> 37 <q cite="http://example.com/foo/%2e"></q><!-- path-percent-encoded-dot --> 38 <q cite="http://example.com/%20foo"></q><!-- path-percent-encoded-space --> 39 <q cite="http://example.com/©zbar"></q><!-- path-non-ascii --> 40 <q cite="http://example.com/foo%41%7a"></q><!-- path-percent-encoded-multiple --> 41 <q cite="http://example.com/foo%91"></q><!-- path-percent-encoded-u0091 --> 42 <q cite="http://example.com/foo%00"></q><!-- path-percent-encoded-u0000 --> 43 <q cite="http://example.com/%3A%3a%3C%3c"></q><!-- path-percent-encoded-mixed-case --> 44 <q cite="http://example.com/你好你好"></q><!-- path-unicode-han --> 45 <q cite="http://example.com//foo"></q><!-- path-uFEFF --> 46 <q cite="http://example.com//foo//bar"></q><!-- path-u202E-u202D --> 47 <q cite="http://💩"></q><!-- host-is-pile-of-poo --> 48 <q cite="http💩//:foo"></q><!-- path-contains-pile-of-poo --> 49 <q cite="http://example.com/foo?💩"></q><!-- query-contains-pile-of-poo --> 50 <q cite="http://example.com/foo#💩"></q><!-- fragment-contains-pile-of-poo --> 51 <q cite="http://192.0x00A80001"></q><!-- host-192.0x00A80001 --> 52 <q cite="http://%25DOMAIN:foobar@foodomain.com"></q><!-- userinfo-username-contains-percent-encoded --> 53 <q cite="http://@www.example.com"></q><!-- userinfo-empty --> 54 <q cite="http://:b@www.example.com"></q><!-- userinfo-user-empty --> 55 <q cite="http://a:@www.example.com"></q><!-- userinfo-password-empty --> 56 <q cite="http://GOOgoo.com"></q><!-- host-exotic-whitespace --> 57 <q cite="http://www.foo。bar.com"></q><!-- host-exotic-dot --> 58 <q cite="http://Go.com"></q><!-- host-fullwidth --> 59 <q cite="http://你好你好"></q><!-- host-idn-unicode-han --> 60 <q cite="http://192.168.0.257/"></q><!-- host-IP-address-broken --> 61 <q cite="//foo/bar"></q><!-- scheme-schemeless-relative --> 62 <q cite="/"></q><!-- path-slash-only-relative --> 63 <q cite="/a/b/c"></q><!-- path-simple-relative --> 64 <q cite="/a%2fc"></q><!-- path-percent-encoded-slash-relative --> 65 <q cite="/a/%2f/c"></q><!-- path-percent-encoded-slash-plus-slashes-relative --> 66 <q cite="?"></q><!-- query-empty-no-path-relative --> 67 <q cite="#"></q><!-- fragment-empty-hash-only-no-path-relative --> 68 <q cite="#/"></q><!-- fragment-slash-relative --> 69 <q cite="#;?"></q><!-- fragment-semicolon-question-mark-relative --> 70 <q cite="#β"></q><!-- fragment-non-ascii-relative --> 71 <q cite="foo.com"></q><!-- scheme-none-relative --> 72 <q cite=":"></q><!-- path-colon-relative --> 73 <q cite=":a"></q><!-- path-leading-colon-letter-relative --> 74 <q cite=":foo.com"></q><!-- path-leading-colon-chars-relative --> 75 <q cite=":/"></q><!-- path-leading-colon-slash-relative --> 76 <q cite=":#"></q><!-- path-leading-colon-hash-relative --> 77 <q cite=":23"></q><!-- path-leading-colon-number-relative --> 78 <q cite="/:23"></q><!-- path-slash-colon-number-relative --> 79 <q cite="::"></q><!-- path-leading-colon-colon-relative --> 80 <q cite="::23"></q><!-- path-colon-colon-number-relative --> 81 <q cite="💩http://foo"></q><!-- path-starts-with-pile-of-poo --> 82 <q cite="/💩"></q><!-- path-slash-pile-of-poo --> 83 <q cite="File://foo/bar.html"></q><!-- scheme-file-uppercase --> 84 <q cite="file://C|/foo/bar"></q><!-- scheme-file-slash-slash-c-bar --> 85 <q cite="file://server/foo/bar"></q><!-- scheme-file-host-included --> 86 <q cite="file:///foo/bar.txt"></q><!-- scheme-file-host-empty --> 87 <q cite="file:"></q><!-- scheme-file-scheme-only --> 88 <q cite="file:/"></q><!-- scheme-file-slash-only --> 89 <q cite="file://"></q><!-- scheme-file-slash-slash-only --> 90 <q cite="file:///"></q><!-- scheme-file-slash-slash-slash-only --> 91 <q cite="file:test"></q><!-- scheme-file-no-slash -->