wovnrb 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +5 -0
  3. data/docker/docker-compose.yml +11 -0
  4. data/docker/rails/Dockerfile +6 -0
  5. data/docker/rails/TestSite/.browserslistrc +1 -0
  6. data/docker/rails/TestSite/.gitignore +63 -0
  7. data/docker/rails/TestSite/Gemfile +56 -0
  8. data/docker/rails/TestSite/README.md +24 -0
  9. data/docker/rails/TestSite/Rakefile +6 -0
  10. data/docker/rails/TestSite/app/assets/config/manifest.js +2 -0
  11. data/docker/rails/TestSite/app/assets/images/.keep +0 -0
  12. data/docker/rails/TestSite/app/assets/stylesheets/application.css +15 -0
  13. data/docker/rails/TestSite/app/assets/stylesheets/redirects.scss +3 -0
  14. data/docker/rails/TestSite/app/channels/application_cable/channel.rb +4 -0
  15. data/docker/rails/TestSite/app/channels/application_cable/connection.rb +4 -0
  16. data/docker/rails/TestSite/app/controllers/application_controller.rb +2 -0
  17. data/docker/rails/TestSite/app/controllers/concerns/.keep +0 -0
  18. data/docker/rails/TestSite/app/controllers/pages_controller.rb +7 -0
  19. data/docker/rails/TestSite/app/controllers/redirects_controller.rb +5 -0
  20. data/docker/rails/TestSite/app/helpers/application_helper.rb +2 -0
  21. data/docker/rails/TestSite/app/helpers/pages_helper.rb +2 -0
  22. data/docker/rails/TestSite/app/helpers/redirects_helper.rb +2 -0
  23. data/docker/rails/TestSite/app/javascript/channels/consumer.js +6 -0
  24. data/docker/rails/TestSite/app/javascript/channels/index.js +5 -0
  25. data/docker/rails/TestSite/app/javascript/packs/application.js +17 -0
  26. data/docker/rails/TestSite/app/jobs/application_job.rb +7 -0
  27. data/docker/rails/TestSite/app/mailers/application_mailer.rb +4 -0
  28. data/docker/rails/TestSite/app/models/application_record.rb +3 -0
  29. data/docker/rails/TestSite/app/models/concerns/.keep +0 -0
  30. data/docker/rails/TestSite/app/views/layouts/application.html.erb +15 -0
  31. data/docker/rails/TestSite/app/views/layouts/mailer.html.erb +13 -0
  32. data/docker/rails/TestSite/app/views/layouts/mailer.text.erb +1 -0
  33. data/docker/rails/TestSite/babel.config.js +72 -0
  34. data/docker/rails/TestSite/bin/bundle +114 -0
  35. data/docker/rails/TestSite/bin/rails +4 -0
  36. data/docker/rails/TestSite/bin/rake +4 -0
  37. data/docker/rails/TestSite/bin/setup +36 -0
  38. data/docker/rails/TestSite/bin/webpack +18 -0
  39. data/docker/rails/TestSite/bin/webpack-dev-server +18 -0
  40. data/docker/rails/TestSite/bin/yarn +11 -0
  41. data/docker/rails/TestSite/config.ru +5 -0
  42. data/docker/rails/TestSite/config/application.rb +26 -0
  43. data/docker/rails/TestSite/config/boot.rb +4 -0
  44. data/docker/rails/TestSite/config/cable.yml +10 -0
  45. data/docker/rails/TestSite/config/credentials.yml.enc +1 -0
  46. data/docker/rails/TestSite/config/database.yml +25 -0
  47. data/docker/rails/TestSite/config/environment.rb +5 -0
  48. data/docker/rails/TestSite/config/environments/development.rb +62 -0
  49. data/docker/rails/TestSite/config/environments/production.rb +112 -0
  50. data/docker/rails/TestSite/config/environments/test.rb +49 -0
  51. data/docker/rails/TestSite/config/initializers/application_controller_renderer.rb +8 -0
  52. data/docker/rails/TestSite/config/initializers/assets.rb +14 -0
  53. data/docker/rails/TestSite/config/initializers/backtrace_silencers.rb +7 -0
  54. data/docker/rails/TestSite/config/initializers/content_security_policy.rb +30 -0
  55. data/docker/rails/TestSite/config/initializers/cookies_serializer.rb +5 -0
  56. data/docker/rails/TestSite/config/initializers/filter_parameter_logging.rb +4 -0
  57. data/docker/rails/TestSite/config/initializers/inflections.rb +16 -0
  58. data/docker/rails/TestSite/config/initializers/mime_types.rb +4 -0
  59. data/docker/rails/TestSite/config/initializers/wrap_parameters.rb +14 -0
  60. data/docker/rails/TestSite/config/locales/en.yml +33 -0
  61. data/docker/rails/TestSite/config/puma.rb +38 -0
  62. data/docker/rails/TestSite/config/routes.rb +4 -0
  63. data/docker/rails/TestSite/config/spring.rb +6 -0
  64. data/docker/rails/TestSite/config/storage.yml +34 -0
  65. data/docker/rails/TestSite/config/webpack/development.js +5 -0
  66. data/docker/rails/TestSite/config/webpack/environment.js +3 -0
  67. data/docker/rails/TestSite/config/webpack/production.js +5 -0
  68. data/docker/rails/TestSite/config/webpack/test.js +5 -0
  69. data/docker/rails/TestSite/config/webpacker.yml +96 -0
  70. data/docker/rails/TestSite/db/seeds.rb +7 -0
  71. data/docker/rails/TestSite/lib/assets/.keep +0 -0
  72. data/docker/rails/TestSite/lib/tasks/.keep +0 -0
  73. data/docker/rails/TestSite/log/.keep +0 -0
  74. data/docker/rails/TestSite/package.json +15 -0
  75. data/docker/rails/TestSite/postcss.config.js +12 -0
  76. data/docker/rails/TestSite/public/index.html +9 -0
  77. data/docker/rails/TestSite/public/page.html +13 -0
  78. data/docker/rails/TestSite/public/pages/files/plaintext_unicode.txt +204 -0
  79. data/docker/rails/TestSite/public/pages/files/simple_css.css +8 -0
  80. data/docker/rails/TestSite/public/pages/files/simple_javascript.js +2 -0
  81. data/docker/rails/TestSite/public/pages/html5test.html +555 -0
  82. data/docker/rails/TestSite/public/pages/oldhtml.html +335 -0
  83. data/docker/rails/TestSite/public/pages/xhtml.xhtml +726 -0
  84. data/docker/rails/TestSite/public/redirection_target.html +10 -0
  85. data/docker/rails/TestSite/public/testdir/testpage-dir.html +9 -0
  86. data/docker/rails/TestSite/public/testdir/testpage-redirect-destination.html +9 -0
  87. data/docker/rails/TestSite/public/testpage.html +9 -0
  88. data/docker/rails/TestSite/public/wovn_index.html +24 -0
  89. data/docker/rails/TestSite/start.sh +13 -0
  90. data/docker/rails/TestSite/storage/.keep +0 -0
  91. data/docker/rails/TestSite/test/application_system_test_case.rb +5 -0
  92. data/docker/rails/TestSite/test/channels/application_cable/connection_test.rb +11 -0
  93. data/docker/rails/TestSite/test/controllers/.keep +0 -0
  94. data/docker/rails/TestSite/test/controllers/pages_controller_test.rb +7 -0
  95. data/docker/rails/TestSite/test/controllers/redirects_controller_test.rb +7 -0
  96. data/docker/rails/TestSite/test/fixtures/.keep +0 -0
  97. data/docker/rails/TestSite/test/fixtures/files/.keep +0 -0
  98. data/docker/rails/TestSite/test/helpers/.keep +0 -0
  99. data/docker/rails/TestSite/test/integration/.keep +0 -0
  100. data/docker/rails/TestSite/test/mailers/.keep +0 -0
  101. data/docker/rails/TestSite/test/models/.keep +0 -0
  102. data/docker/rails/TestSite/test/system/.keep +0 -0
  103. data/docker/rails/TestSite/test/test_helper.rb +13 -0
  104. data/docker/rails/TestSite/yarn.lock +7642 -0
  105. data/lib/wovnrb/version.rb +1 -1
  106. data/makefile +16 -0
  107. data/wovnrb.gemspec +3 -3
  108. metadata +112 -10
@@ -0,0 +1,335 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
+ "http://www.w3.org/TR/html4/loose.dtd">
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
7
+ <title>
8
+ Test display of HTML elements
9
+ </title>
10
+ <style>
11
+ .limited { width: 15.5em; }
12
+ .hyphens {
13
+ -moz-hyphens: auto;
14
+ -webkit-hyphens: auto;
15
+ -ms-hyphens: auto;
16
+ hyphens: auto;
17
+ }
18
+ </style>
19
+ <link rel="alternate stylesheet" type="text/css" title=
20
+ "A cool style sheet" href="../styles/cool.css">
21
+ <link rel="alternate stylesheet" type="text/css" title=
22
+ "Yucca's basic style sheet" href="../basic.css">
23
+ <link rel="alternate stylesheet" type="text/css" title=
24
+ "Style sheet for fixing some IE oddities" href="test-ie.css">
25
+ <script src="../js/hyphenator.js"></script>
26
+ <script>
27
+ Hyphenator.run();
28
+ </script>
29
+
30
+ </head>
31
+
32
+ <body>
33
+
34
+ <h1>Testing display of HTML elements</h1>
35
+
36
+ <h2>This is 2nd level heading</h2>
37
+ <p>This is a test paragraph.</p>
38
+ <h3>This is 3rd level heading</h3>
39
+ <p>This is a test paragraph.</p>
40
+ <h4>This is 4th level heading</h4>
41
+ <p>This is a test paragraph.</p>
42
+ <h5>This is 5th level heading</h5>
43
+ <p>This is a test paragraph.</p>
44
+ <h6>This is 6th level heading</h6>
45
+ <p>This is a test paragraph.</p>
46
+
47
+ <h2>Basic block level elements</h2>
48
+
49
+ <p>This is a normal paragraph (<code>p</code> element).
50
+ To add some length to it, let us mention that this page was
51
+ primarily written for testing the effect of <strong>user style sheets</strong>.
52
+ You can use it for various other purposes as well, like just checking how
53
+ your browser displays various HTML elements by default.
54
+ It can also be useful when testing conversions from HTML
55
+ format to other formats, since some elements can go wrong then.</p>
56
+ <p>This is another paragraph. I think it needs to be added that
57
+ the set of elements tested is not exhaustive in any sense. I have selected
58
+ those elements for which it can make sense to write user style sheet rules,
59
+ in my opionion.</p>
60
+ <div>This is a <code>div</code> element. Authors may use such elements instead
61
+ of paragraph markup for various reasons. (End of <code>div</code>.)</div>
62
+ <blockquote><p>This is a block quotation containing a single
63
+ paragraph. Well, not quite, since this is not <em>really</em>
64
+ quoted text, but I hope you understand the point. After all, this
65
+ page does not use HTML markup very normally anyway.</p></blockquote>
66
+ <p>The following contains address information about the author, in an <code>address</code>
67
+ element.</p>
68
+ <address>
69
+ <a href="../personal.html" lang="fi" hreflang="en">Jukka Korpela</a>,
70
+ <a href="mailto:jukkakk@gmail.com">jukkakk@gmail.com</A><br>
71
+ Päivänsäteenkuja 4 A, Espoo, Finland
72
+ </address>
73
+
74
+ <h2>Lists</h2>
75
+
76
+ <p>This is a paragraph before an <strong>unnumbered</strong> list (<code>ul</code>). Note that
77
+ the spacing between a paragraph and a list before or after that is hard
78
+ to tune in a user style sheet. You can't guess which paragraphs are
79
+ logically related to a list, e.g. as a "list header".</p>
80
+ <ul>
81
+ <li> One.
82
+ <li> Two.
83
+ <li> Three. Well, probably this list item should be longer. Note that
84
+ for short items lists look better if they are compactly presented,
85
+ whereas for long items, it would be better to have more vertical spacing between items.
86
+ <li> Four. This is the last item in this list.
87
+ Let us terminate the list now without making any more fuss about it.
88
+ </ul>
89
+ <p>The following is a <code>menu</code> list:</p>
90
+ <menu>
91
+ <li> One.
92
+ <li> Two.
93
+ <li> Three. Well, probably this list item should be longer so that it will
94
+ probably wrap to the next line in rendering.
95
+ </menu>
96
+ <p>The following is a <code>dir</code> list:</p>
97
+ <dir>
98
+ <li> One.
99
+ <li> Two.
100
+ <li> Three. Well, probably this list item should be longer so that it will
101
+ probably wrap to the next line in rendering.
102
+ </dir>
103
+
104
+ <p>This is a paragraph before a <strong>numbered</strong> list (<code>ol</code>). Note that
105
+ the spacing between a paragraph and a list before or after that is hard
106
+ to tune in a user style sheet. You can't guess which paragraphs are
107
+ logically related to a list, e.g. as a "list header".</p>
108
+ <ol>
109
+ <li> One.
110
+ <li> Two.
111
+ <li> Three. Well, probably this list item should be longer. Note that if
112
+ items are short, lists look better if they are compactly presented,
113
+ whereas for long items, it would be better to have more vertical spacing between items.
114
+ <li> Four. This is the last item in this list.
115
+ Let us terminate the list now without making any more fuss about it.
116
+ </ol>
117
+
118
+ <p>This is a paragraph before a <strong>definition</strong> list (<code>dl</code>).
119
+ In principle, such a list should consist of <em>terms</em> and associated
120
+ definitions.
121
+ But many authors use <code>dl</code> elements for fancy "layout" things. Usually the
122
+ effect is not <em>too</em> bad, if you design user style sheet rules for <code>dl</code>
123
+ which are suitable
124
+ for real definition lists.
125
+ <dl>
126
+ <dt> recursion
127
+ <dd> see recursion
128
+ <dt> recursion, indirect
129
+ <dd> see indirect recursion
130
+ <dt> indirect recursion
131
+ <dd> see recursion, indirect
132
+ <dt> term
133
+ <dd> a word or other expression taken into specific use in
134
+ a well-defined meaning, which is often defined rather rigorously, even
135
+ formally, and may differ quite a lot from an everyday meaning
136
+ </dl>
137
+
138
+ <h2>Text-level markup</h2>
139
+
140
+ <ul>
141
+ <li> <abbr title="Cascading Style Sheets">CSS</abbr> (an abbreviation;
142
+ <code>abbr</code> markup used)
143
+ <li> <acronym title="radio detecting and ranging">radar</acronym> (an acronym; <code>acronym</code> markup used)
144
+ <li> <b>bolded</b> (<code>b</code> markup used - just bolding with unspecified
145
+ semantics)
146
+ <li> <big>big thing</big> (<code>big</code> markup used)
147
+ <li> <font size=6>large size</font> (<code>font size=6</code> markup used)
148
+ <li> <font face=Courier>Courier font</font> (<code>font face=Courier</code> markup used)
149
+ <li> <font color=red>red text</font> (<code>font color=red</code> markup used)
150
+ <li> <cite>Origin of Species</cite> (a book title;
151
+ <code>cite</code> markup used)
152
+ <li> <code>a[i] = b[i] + c[i);</code> (computer code; <code>code</code> markup used)
153
+ <li> here we have some <del>deleted</del> text (<code>del</code> markup used)
154
+ <li> an <dfn>octet</dfn> is an entity consisting of eight bits
155
+ (<code>dfn</code> markup used for the term being defined)
156
+ <li> this is <em>very</em> simple (<code>em</code> markup used for emphasizing
157
+ a word)
158
+ <li> <i lang="la">Homo sapiens</i> (should appear in italics; <code>i</code> markup used)
159
+ <li> here we have some <ins>inserted</ins> text (<code>ins</code> markup used)
160
+ <li> type <kbd>yes</kbd> when prompted for an answer (<code>kbd</code> markup
161
+ used for text indicating keyboard input)
162
+ <li> <q>Hello!</q> (<code>q</code> markup used for quotation)
163
+ <li> He said: <q>She said <q>Hello!</q></q> (a quotation inside a quotation)
164
+ <li> you may get the message <samp>Core dumped</samp> at times
165
+ (<code>samp</code> markup used for sample output)
166
+ <li> <small>this is not that important</small> (<code>small</code> markup used)
167
+ <li> <strike>overstruck</strike> (<code>strike</code> markup used; note:
168
+ <code>s</code> is a nonstandard synonym for <code>strike</code>)
169
+ <li> <strong>this is highlighted text</strong> (<code>strong</code>
170
+ markup used)
171
+ <li> In order to test how subscripts and superscripts (<code>sub</code> and
172
+ <code>sup</code> markup) work inside running text, we need some
173
+ dummy text around constructs like x<sub>1</sub> and H<sub>2</sub>O
174
+ (where subscripts occur). So here is some fill so that
175
+ you will (hopefully) see whether and how badly the subscripts
176
+ and superscripts mess up vertical spacing between lines.
177
+ Now superscripts: M<sup>lle</sup>, 1<sup>st</sup>, and then some
178
+ mathematical notations: e<sup>x</sup>, sin<sup>2</sup> <i>x</i>,
179
+ and some nested superscripts (exponents) too:
180
+ e<sup>x<sup>2</sup></sup> and f(x)<sup>g(x)<sup>a+b+c</sup></sup>
181
+ (where 2 and a+b+c should appear as exponents of exponents).
182
+ <li> <tt>text in monospace font</tt> (<code>tt</code> markup used)
183
+ <li> <u>underlined</u> text (<code>u</code> markup used)
184
+ <li> the command <code>cat</code> <var>filename</var> displays the
185
+ file specified by the <var>filename</var> (<code>var</code> markup
186
+ used to indicate a word as a variable).
187
+ </ul>
188
+
189
+ <p>Some of the elements tested above are typically displayed in a monospace
190
+ font, often using the <em>same</em> presentation for all of them. This
191
+ tests whether that is the case on your browser:</p>
192
+
193
+ <ul>
194
+ <li> <code>This is sample text inside code markup</code>
195
+ <li> <kbd>This is sample text inside kbd markup</kbd>
196
+ <li> <samp>This is sample text inside samp markup</samp>
197
+ <li> <tt>This is sample text inside tt markup</tt>
198
+ </ul>
199
+ <h2>Links</h2>
200
+ <ul>
201
+ <li> <a href="../wovn_index.html">main page</a>
202
+ <li> <a href=
203
+ "http://www.unicode.org/versions/Unicode4.0.0/ch06.pdf"
204
+ title="Writing Systems and Punctuation"
205
+ type="application/pdf"
206
+ >Unicode Standard, chapter&nbsp;6</a>
207
+ </ul>
208
+
209
+ <p>This is a text paragraph that contains some
210
+ inline links. Generally, inline links (as opposite to e.g. links
211
+ lists) are problematic
212
+ from the
213
+ <a href="http://www.useit.com">usability</a> perspective,
214
+ but they may have use as
215
+ &#8220;incidental&#8221;, less relevant links. See the document
216
+ <cite><a href="links.html">Links Want To Be Links</a></cite>.</p>
217
+
218
+ <h2>Forms</h2>
219
+
220
+ <form action="http://jkorpela.fi/cgi-bin/echo.cgi">
221
+ <div>
222
+ <input type="hidden" name="hidden field" value="42">
223
+ This is a form containing various fields (with some initial
224
+ values (defaults) set, so that you can see how input text looks
225
+ like without actually typing it):</div>
226
+ <div><label for="but">Button:
227
+ <button id="but" type="submit" name="foo" value="bar">A cool<br>button</button></label></div>
228
+ <div><label for="f0">Reset button:
229
+ <input id="f0" type="reset" name="reset" value="Reset"></label></div>
230
+ <div><label for="f1">Single-line text input field: <input id="f1" name="text" size="20" value="Default text."></label></div>
231
+ <div><label for="f2">Multi-line text input field (textarea):</label><br>
232
+ <textarea id="f2" name="textarea" rows="2" cols="20">
233
+ Default text.
234
+ </textarea></div>
235
+ <div>The following two radio buttons are inside
236
+ a <code>fieldset</code> element with a <code>legend</code>:</div>
237
+ <fieldset>
238
+ <legend>Legend</legend>
239
+ <div><label for="f3"><input id="f3" type="radio" name="radio" value="1"> Radio button 1</label></div>
240
+ <div><label for="f4"><input id="f4" type="radio" name="radio" value="2" checked> Radio button 2 (initially checked)</label></div>
241
+ </fieldset>
242
+ <fieldset>
243
+ <legend>Check those that apply</legend>
244
+ <div><label for="f5"><input id="f5" type="checkbox" name="checkbox"> Checkbox 1</label></div>
245
+ <div><label for="f6"><input id="f6" type="checkbox" name="checkbox2" checked> Checkbox 2 (initially checked)</label></div>
246
+ </fieldset>
247
+ <div><label for="f10">A <code>select</code> element with <code>size="1"</code>
248
+ (dropdown box):
249
+ <select id="f10" name="select1" size="1">
250
+ <option>one
251
+ <option selected>two (default)
252
+ <option>three
253
+ </select></label></div>
254
+ <div><label for="f11">A <code>select</code> element with <code>size="3"</code>
255
+ (listbox):</label><br>
256
+ <select id="f11" name="select2" size="3">
257
+ <option>one
258
+ <option selected>two (default)
259
+ <option>three
260
+ </select></div>
261
+ <div><label for="f99">Submit button:
262
+ <input id="f99" type="submit" name="submit" value="Just a test"></label></div>
263
+ </form>
264
+
265
+ <h2>Tables</h2>
266
+
267
+ <p>The following table has a caption. The first row and the first column
268
+ contain table header cells (<code>th</code> elements) only; other cells
269
+ are data cells (<code>td</code> elements), with <code>align="right"</code>
270
+ attributes:</p>
271
+
272
+ <TABLE summary=
273
+ "Each row names a Nordic country and specifies its total area and land area, in square kilometers">
274
+ <CAPTION>Sample table: Areas of the Nordic countries, in sq km</CAPTION>
275
+ <TR><th scope="col">Country</th> <th scope="col">Total area</TH> <th scope="col">Land area</TH>
276
+ <TR><th scope="row">Denmark</TH> <TD ALIGN=RIGHT> 43,070 </TD><TD ALIGN=RIGHT> 42,370</TR>
277
+ <TR><th scope="row">Finland</TH> <TD ALIGN=RIGHT>337,030 </TD><TD ALIGN=RIGHT>305,470</TR>
278
+ <TR><th scope="row">Iceland</TH> <TD ALIGN=RIGHT>103,000 </TD><TD ALIGN=RIGHT>100,250</TR>
279
+ <TR><th scope="row">Norway</TH> <TD ALIGN=RIGHT>324,220 </TD><TD ALIGN=RIGHT>307,860</TR>
280
+ <TR><th scope="row">Sweden</TH> <TD ALIGN=RIGHT>449,964 </TD><TD ALIGN=RIGHT>410,928</TR>
281
+ </TABLE>
282
+
283
+ <h2>Character test</h2>
284
+ <p>The following table has some sample characters with
285
+ annotations. If the browser&#8217;s default font does not
286
+ contain all of them, they may get displayed using backup fonts.
287
+ This may cause stylistic differences, but it should not
288
+ prevent the characters from being displayed at all.</p>
289
+
290
+ <table>
291
+ <tr><th>Char. <th>Explanation <th>Notes
292
+ <tr><td>ê <td>e with circumflex <td>Latin 1 character, should be ok
293
+ <tr><td>&#8212; <td>em dash <td>Windows Latin 1 character, should be ok, too
294
+ <tr><td>&#x100; <td>A with macron (line above) <td>Latin Extended-A character, not present in all fonts
295
+ <tr><td>&Omega; <td>capital omega <td>A Greek letter
296
+ <tr><td>&#x2212; <td>minus sign <td>Unicode minus
297
+ <tr><td>&#x2300; <td>diameter sign <td>relatively rare in fonts
298
+ </table>
299
+
300
+ <h2>Hyphenation</h2>
301
+ <p>In the following, a width setting should cause some hyphenation,
302
+ depending on support to various methods of hyphenation.</p>
303
+
304
+ <h3>CSS-based hyphenation</h3>
305
+ <p class="limited hyphens">Until recently the great majority of naturalists believed that species were immutable productions, and had been separately created. This view has been ably maintained by many authors.
306
+
307
+ <h3>JavaScript-driven hyphenation</h3>
308
+ <p class="limited hyphenate">Until recently the great majority of naturalists believed that species were immutable productions, and had been separately created. This view has been ably maintained by many authors.
309
+
310
+ <h3>Explicit hyphenation hints (soft hyphens)</h3>
311
+ <p class="limited">Un­til re­cent­ly the great
312
+ ma­jor­i­ty of nat­u­ral­ists
313
+ be­lieved that spe­cies were
314
+ im­mu­ta­ble
315
+ pro­duc­tions,
316
+ and had been sep­a­rate­ly cre­at­ed.
317
+ This view has been ably main­tain­ed by many au­thors.
318
+
319
+
320
+ <HR TITLE="Information about this document">
321
+
322
+ <address>
323
+ <a href="../personal.html" hreflang="en" lang="fi">Jukka Korpela</a>
324
+ </address>
325
+ <div>
326
+ <A TITLE=
327
+ "ISO 8601, the date and time representation standard"
328
+ HREF="../iso8601.html">
329
+ Date</A> of creation: 2000-09-15.
330
+ Last update: 2013-03-21.
331
+ </div>
332
+
333
+ </BODY>
334
+
335
+ </HTML>
@@ -0,0 +1,726 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <?xml-stylesheet href="xhtml.css" type="text/css" media="screen, aural, print" ?>
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr">
6
+ <head lang="en" xml:lang="en" dir="ltr" profile="profile">
7
+ <!-- base href="http://www.w3.org/People/mimasa/test/xhtml/media-types/test" /-->
8
+ <meta http-equiv="Content-Language" content="en" />
9
+ <title lang="en" xml:lang="en" dir="ltr">Sample XHTML 1.0 document</title>
10
+ <link rev="made" href="mailto:mimasa@w3.org" />
11
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
12
+ <meta http-equiv="Content-Style-Type" content="text/css" />
13
+ <link href="xhtml.css" type="text/css" rel="stylesheet" media="screen, aural, print" />
14
+ <meta lang="en" xml:lang="en" name="keywords" content="XHTML, sample" />
15
+ <style type="text/css" media="screen">
16
+ .title { color: red }
17
+ </style>
18
+ <meta scheme="Dublin Core" name="DC.CREATOR" content="ISHIKAWA, Masayasu" />
19
+ <style type="text/css" media="aural">
20
+ .title { volume: loud }
21
+ </style>
22
+ <link id="help.link" class="help.link" title="For more information, see HTML 4 Specification." lang="en" xml:lang="en" dir="ltr" charset="ISO-8859-1" href="http://www.w3.org/TR/html4" rel="Help" />
23
+ </head>
24
+ <body id="body" class="body" title="body" lang="en" xml:lang="en" dir="ltr">
25
+
26
+ <h1 id="title" class="title" title="document title" lang="en"
27
+ xml:lang="en" dir="ltr" style="color: maroon">Sample XHTML 1.0 document</h1>
28
+
29
+
30
+ <h2 id="ToC">Contents</h2>
31
+
32
+ <ul>
33
+ <li><a href="#grouping.heading">Grouping elements: <code>div</code> and <code>span</code></a></li>
34
+ <li><a href="#headings.heading">Headings: <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code></a></li>
35
+ <li><a href="#address.heading">Address: <code>address</code></a></li>
36
+ <li><a href="#bidi.heading">Bidrectionality</a>
37
+ <ul>
38
+ <li><a href="#ltr.heading">Base directionality: left to right</a></li>
39
+ <li><a href="#rtl.heading">Base directionality: right to left</a></li>
40
+ <li><a href="#bdo.heading">Bidirectionality override: <code>bdo</code></a></li>
41
+ </ul>
42
+ </li>
43
+ <li><a href="#text.heading">Text</a>
44
+ <ul>
45
+ <li><a href="#phrase.heading">Phrase elements: <code>em</code>, <code>strong</code>, <code>dfn</code>, <code>code</code>, <code>samp</code>, <code>kbd</code>, <code>var</code>, <code>cite</code>, <code>abbr</code>, and <code>acronym</code></a></li>
46
+ <li><a href="#fonts.heading">Font style elements: <code>tt</code>, <code>i</code>, <code>b</code>, <code>big</code>, and <code>small</code></a></li>
47
+ <li><a href="#quotations.heading">Quotations: <code>blockquote</code> and <code>q</code></a></li>
48
+ <li><a href="#sub-sup.heading">Subscripts and superscripts: <code>sub</code> and <code>sup</code></a></li>
49
+ <li><a href="#p.heading">Paragraphs: <code>p</code></a></li>
50
+ <li><a href="#br.heading">Forcing a line break: <code>br</code></a></li>
51
+ <li><a href="#pre.heading">Preformatted text: <code>pre</code></a></li>
52
+ <li><a href="#ins-del.heading">Marking document changes: <code>ins</code> and <code>del</code></a></li>
53
+ <li><a href="#hr.heading">Rules: <code>hr</code></a></li>
54
+ </ul>
55
+ </li>
56
+ <li><a href="#lists.heading">Lists</a>
57
+ <ul>
58
+ <li><a href="#ul.heading">Unordered lists: <code>ul</code></a></li>
59
+ <li><a href="#ol.heading">Ordered lists: <code>ol</code></a></li>
60
+ <li><a href="#dl.heading">Definition lists: <code>dl</code></a></li>
61
+ </ul>
62
+ </li>
63
+ <li><a href="#tables.heading">Tables</a>
64
+ <ul>
65
+ <li><a href="#tables.grouping.heading">Using column and row groups: <code>colgroup</code>, <code>col</code>, <code>thead</code>, <code>tfoot</code>, and <code>tbody</code></a></li>
66
+ <li><a href="#tables.header.heading">Associating header information with data cells</a></li>
67
+ <li><a href="#tables.categorize.heading">Basic table, with categorizing cells</a></li>
68
+ </ul>
69
+ </li>
70
+ <li><a href="#a.heading">Anchors: <code>a</code></a></li>
71
+ <li><a href="#objects.heading">Objects, Images, and Applets</a>
72
+ <ul>
73
+ <li><a href="#img.heading">Including an image: <code>img</code></a></li>
74
+ <li><a href="#object.heading">Generic inclusion: <code>object</code></a></li>
75
+ <li><a href="#usemap.heading">Client-side image maps: <code>map</code> and <code>area</code></a></li>
76
+ <li><a href="#ismap.heading">Server-side image maps</a></li>
77
+ </ul>
78
+ </li>
79
+ <li><a href="#forms.heading">Forms</a></li>
80
+ <li><a href="#script.heading">Script</a></li>
81
+ </ul>
82
+
83
+
84
+ <div id="div.grouping" class="grouping" lang="en" xml:lang="en" dir="ltr">
85
+ <h2 id="grouping.heading" class="grouping" lang="en" xml:lang="en" dir="ltr">Grouping elements: <code>div</code> and <code>span</code></h2>
86
+
87
+ <div title="div contains Flow" lang="en" xml:lang="en" dir="ltr">
88
+ <div id="div" class="div" title="div" lang="en" xml:lang="en" dir="ltr"><code>div</code></div>
89
+ <span id="span" class="span" title="span" lang="en" xml:lang="en" dir="ltr"><code>span</code></span>
90
+ </div>
91
+ </div>
92
+
93
+ <div id="div.headings" class="headings" title="headings" lang="en" xml:lang="en">
94
+ <h2 id="headings.heading" class="headings" lang="en" xml:lang="en" dir="ltr">Headings: <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code></h2>
95
+
96
+ <h1 id="h1" class="h1" title="h1" lang="en" xml:lang="en">h1</h1>
97
+ <h2 id="h2" class="h2" title="h2" lang="en" xml:lang="en">h2</h2>
98
+ <h3 id="h3" class="h4" title="h3" lang="en" xml:lang="en">h3</h3>
99
+ <h4 id="h4" class="h4" title="h4" lang="en" xml:lang="en">h4</h4>
100
+ <h5 id="h5" class="h5" title="h5" lang="en" xml:lang="en">h5</h5>
101
+ <h6 id="h6" class="h6" title="h6" lang="en" xml:lang="en">h6</h6>
102
+ </div>
103
+
104
+ <div id="div.address">
105
+ <h2 id="address.heading">Address: <code>address</code></h2>
106
+
107
+ <address id="address" class="address" title="address" lang="en" xml:lang="en" dir="ltr">
108
+ Address
109
+ </address>
110
+ </div>
111
+
112
+ <div id="div.bidi">
113
+ <h2 id="bidi.heading">Bidirectionality</h2>
114
+
115
+ <h3 id="ltr.heading">Base directionality: left to right</h3>
116
+
117
+ <p lang="en" xml:lang="en" dir="ltr">
118
+ Arabic text<span dir="ltr">:</span>
119
+ <span lang="ar" xml:lang="ar" dir="rtl">&#x063A;&#x0631;&#x0628;</span>
120
+ </p>
121
+
122
+ <h3 id="rtl.heading">Base directionality: right to left</h3>
123
+
124
+ <p lang="ar" xml:lang="ar" dir="rtl">
125
+ <span lang="en" xml:lang="en" dir="ltr">Arabic text</span><span dir="rtl">:</span>
126
+ &#x063A;&#x0631;&#x0628;
127
+ </p>
128
+
129
+ <h3 id="bdo.heading">Bidirectionality override: <code>bdo</code></h3>
130
+
131
+ <p lang="en" xml:lang="en" dir="ltr">left to right:
132
+ <bdo id="bdo" class="bdo" title="bdo" lang="en" xml:lang="en" dir="ltr">1234567890</bdo></p>
133
+
134
+ <p lang="en" xml:lang="en" dir="ltr">right to left:
135
+ <bdo dir="rtl">1234567890</bdo></p>
136
+ </div>
137
+
138
+ <div id="div.text">
139
+ <h2 id="text.heading">Text</h2>
140
+
141
+ <div id="div.phrase">
142
+ <h3 id="phrase.heading">Phrase elements: <code>em</code>, <code>strong</code>, <code>dfn</code>, <code>code</code>, <code>samp</code>, <code>kbd</code>, <code>var</code>, <code>cite</code>, <code>abbr</code>, and <code>acronym</code></h3>
143
+
144
+ <ul>
145
+ <li><em id="em" class="em" title="em" lang="en" xml:lang="en" dir="ltr">em</em></li>
146
+ <li><strong id="strong" class="strong" title="strong" lang="en" xml:lang="en" dir="ltr">strong</strong></li>
147
+ <li><dfn id="dfn" class="dfn" title="dfn" lang="en" xml:lang="en" dir="ltr">dfn</dfn></li>
148
+ <li><code id="code" class="code" title="code" lang="en" xml:lang="en" dir="ltr">code</code></li>
149
+ <li><samp id="samp" class="samp" title="samp" lang="en" xml:lang="en" dir="ltr">samp</samp></li>
150
+ <li><kbd id="kbd" class="kbd" title="kbd" lang="en" xml:lang="en" dir="ltr">kbd</kbd></li>
151
+ <li><var id="var" class="var" title="var" lang="en" xml:lang="en" dir="ltr">var</var></li>
152
+ <li><cite id="cite" class="cite" title="cite" lang="en" xml:lang="en" dir="ltr">cite</cite></li>
153
+ <li>abbr: <abbr id="abbr" class="abbr" title="abbreviation" lang="en" xml:lang="en" dir="ltr">abbr.</abbr></li>
154
+ <li>acronym: <acronym id="acronym" class="acronym" title="World Wide Web" lang="en" xml:lang="en" dir="ltr">WWW</acronym></li>
155
+ </ul>
156
+ </div>
157
+
158
+ <div id="div.fonts">
159
+ <h3 id="fonts.heading">Font style elements: <code>tt</code>, <code>i</code>, <code>b</code>, <code>big</code>, and <code>small</code></h3>
160
+
161
+ <ul>
162
+ <li><tt id="tt" class="tt" title="tt" lang="en" xml:lang="en" dir="ltr">tt</tt></li>
163
+ <li><i id="i" class="i" title="i" lang="en" xml:lang="en" dir="ltr">i</i></li>
164
+ <li><b id="b" class="b" title="b" lang="en" xml:lang="en" dir="ltr">b</b></li>
165
+ <li><big id="big" class="big" title="big" lang="en" xml:lang="en" dir="ltr">big</big></li>
166
+ <li><small id="small" class="small" title="small" lang="en" xml:lang="en" dir="ltr">small</small></li>
167
+ </ul>
168
+ </div>
169
+
170
+ <div id="div.quotations">
171
+ <h3 id="quotations.heading">Quotations:
172
+ <code>blockquote</code> and <code>q</code></h3>
173
+
174
+ <p>An example of quotation:</p>
175
+
176
+ <blockquote id="blockquote" class="blockquote" title="blockquote"
177
+ lang="en" xml:lang="en" dir="ltr"
178
+ cite="http://www.w3.org/TR/html4/struct/text.html#h-9.2.2">
179
+ <p>John said, <q id="q" class="q" title="q" lang="en-US" xml:lang="en-US"
180
+ dir="ltr" cite="http://www.w3.org/TR/html4/struct/text.html#h-9.2.2">I saw
181
+ Lucy at lunch, she told me <q lang="en-US">Mary wants you to get some
182
+ ice cream on your way home.</q> I think I will get some at Ben and
183
+ Jerry's, on Gloucester Road.</q></p>
184
+ </blockquote>
185
+ </div>
186
+
187
+ <div id="div.sub-sup">
188
+ <h3 id="sub-sup.heading">Subscripts and superscripts: <code>sub</code> and <code>sup</code></h3>
189
+
190
+ <p>
191
+ This is
192
+ <sub id="sub" class="sub" title="sub" lang="en" xml:lang="en" dir="ltr">subscript</sub>,
193
+ and this is
194
+ <sup id="sup" class="sup" title="sup" lang="en" xml:lang="en" dir="ltr">superscript</sup>.
195
+ </p>
196
+ </div>
197
+
198
+ <div id="div.p">
199
+ <h3 id="p.heading">Paragraphs: <code>p</code></h3>
200
+
201
+ <p id="p" class="p" title="p" lang="en" xml:lang="en" dir="ltr">
202
+ This is paragraph.</p>
203
+ </div>
204
+
205
+ <div id="div.br">
206
+ <h3 id="br.heading">Forcing a line break: <code>br</code></h3>
207
+
208
+ <p>Line<br id="br" class="br" title="br" />break</p>
209
+ </div>
210
+
211
+ <div id="div.pre">
212
+ <h3 id="pre.heading">Preformatted text: <code>pre</code></h3>
213
+
214
+ <pre id="pre" class="pre" title="pre" lang="en" xml:lang="en" dir="ltr">
215
+ This is
216
+ preformatted
217
+ text.
218
+ </pre>
219
+ </div>
220
+
221
+ <div id="div.ins-del">
222
+ <h3 id="ins-del.heading">Marking document changes:
223
+ <code>ins</code> and <code>del</code></h3>
224
+
225
+ <p><ins id="ins" class="ins" title="ins" lang="en" xml:lang="en" dir="ltr" cite="http://www.w3.org/TR/html4/struct/text.html#h-9.4" datetime="2000-08-06T14:33:15Z">ins</ins> and <del id="del" class="del" title="del" lang="en" xml:lang="en" dir="ltr" cite="http://www.w3.org/TR/html4/struct/text.html#h-9.4" datetime="2000-08-06T14:33:15Z">del</del></p>
226
+
227
+ <ins>
228
+ <p>Inserted paragraph</p>
229
+ </ins>
230
+
231
+ <del>
232
+ <p>Deleted paragraph</p>
233
+ </del>
234
+
235
+ <del datetime="2000-08-06T14:38:11Z">
236
+ <p><ins datetime="2000-08-06T14:37:44Z">Some words were inserted</ins>,
237
+ but later whole paragraph was deleted</p>
238
+ </del>
239
+ </div>
240
+
241
+ <div id="div.hr">
242
+ <h3 id="hr.heading">Rules: <code>hr</code></h3>
243
+
244
+ <hr id="hr" class="hr" title="hr" lang="en" xml:lang="en" dir="ltr" />
245
+ </div>
246
+ </div>
247
+
248
+ <div id="div.lists">
249
+ <h2 id="lists.heading">Lists</h2>
250
+
251
+ <div id="div.ul">
252
+ <h3 id="ul.heading">Unordered lists: <code>ul</code></h3>
253
+
254
+ <ul id="ul" class="ul" title="ul" lang="en" xml:lang="en" dir="ltr">
255
+ <li id="ul.li.inline" class="li" title="li" lang="en" xml:lang="en" dir="ltr">"Inline" list item</li>
256
+ <li id="ul.li.block" class="li" title="li" lang="en" xml:lang="en" dir="ltr"><p>"Block" list item</p></li>
257
+ </ul>
258
+ </div>
259
+
260
+ <div id="div.ol">
261
+ <h3 id="ol.heading">Ordered lists: <code>ol</code></h3>
262
+
263
+ <ol id="ol" class="ol" title="ol" lang="en" xml:lang="en" dir="ltr">
264
+ <li id="ol.li.inline" class="li" title="li" lang="en" xml:lang="en" dir="ltr">"Inline" list item</li>
265
+ <li id="ol.li.block" class="li" title="li" lang="en" xml:lang="en" dir="ltr"><p>"Block" list item</p></li>
266
+ </ol>
267
+ </div>
268
+
269
+ <div id="div.dl">
270
+ <h3 id="dl.heading">Definition lists: <code>dl</code></h3>
271
+
272
+ <dl id="dl" class="dl" title="dl" lang="en" xml:lang="en" dir="ltr">
273
+ <dt id="dt" class="dt" lang="en" xml:lang="en" dir="ltr">Definition term</dt>
274
+ <dd id="dd.inline" class="dd" title="dd" lang="en" xml:lang="en" dir="ltr">"Inline" definition description</dd>
275
+ <dd id="dd.block" class="dd" title="dd" lang="en" xml:lang="en" dir="ltr">"Block" definition description</dd>
276
+ </dl>
277
+ </div>
278
+ </div>
279
+
280
+ <h2 id="tables.heading">Tables</h2>
281
+
282
+ <h3 id="tables.grouping.heading">Using column and row groups: <code>colgroup</code>, <code>col</code>, <code>thead</code>, <code>tfoot</code>, and <code>tbody</code></h3>
283
+
284
+ <table id="table" class="table" title="table" lang="en" xml:lang="en" dir="ltr" summary="The first column contains inline content in th, and the second column contains block content in th. The third column contains inline content in td, and the forth column contains block content in td." border="1">
285
+ <caption id="caption" class="caption" title="caption" lang="en" xml:lang="en" dir="ltr">Caption</caption>
286
+ <colgroup id="colgroup" class="colgroup" title="colgroup" lang="en" xml:lang="en" dir="ltr" span="1" width="100">
287
+ <col id="col" class="col" title="col" lang="en" xml:lang="en" dir="ltr" span="2" width="150" />
288
+ <col span="2" />
289
+ </colgroup>
290
+ <thead id="thead" class="thead" title="thead" lang="en" xml:lang="en" dir="ltr" align="center" valign="top">
291
+ <tr id="thead.tr" class="thead.tr" title="thead.tr" lang="en" xml:lang="en" dir="ltr">
292
+ <th id="thead.th.inline" class="thead.th.inline" title="thead.th.inline" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1">Inline content in <code>th</code> in <code>thead</code></th>
293
+ <th id="thead.th.block" class="thead.th.block" title="thead.th.block" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1"><p>Block content in <code>th</code> in <code>thead</code></p></th>
294
+ <td id="thead.td.inline" class="thead.td.inline" title="thead.td.inline" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1">Inline content in <code>td</code> in <code>thead</code></td>
295
+ <td id="thead.td.block" class="thead.td.block" title="thead.td.block" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1"><p>Block content in <code>td</code> in <code>thead</code></p></td>
296
+ </tr>
297
+ </thead>
298
+ <tfoot id="tfoot" class="tfoot" title="tfoot" lang="en" xml:lang="en" dir="ltr" align="right" valign="bottom">
299
+ <tr id="tfoot.tr" class="tfoot.tr" title="tfoot.tr" lang="en" xml:lang="en" dir="ltr">
300
+ <th id="tfoot.th.inline" class="tfoot.th.inline" title="tfoot.th.inline" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1">Inline content in <code>th</code> in <code>tfoot</code></th>
301
+ <th id="tfoot.th.block" class="tfoot.th.block" title="tfoot.th.block" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1"><p>Block content in <code>th</code> in <code>tfoot</code></p></th>
302
+ <td id="tfoot.td.inline" class="tfoot.td.inline" title="tfoot.td.inline" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1">Inline content in <code>td</code> in <code>tfoot</code></td>
303
+ <td id="tfoot.td.block" class="tfoot.td.block" title="tfoot.td.block" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1"><p>Block content in <code>td</code> in <code>tfoot</code></p></td>
304
+ </tr>
305
+ </tfoot>
306
+ <tbody id="tbody" class="tbody" title="tbody" lang="en" xml:lang="en" dir="ltr" align="left" valign="middle">
307
+ <tr id="tbody.tr" class="tbody.tr" title="tbody.tr" lang="en" xml:lang="en" dir="ltr">
308
+ <th id="tbody.th.inline" class="tbody.th.inline" title="tbody.th.inline" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1">Inline content in <code>th</code> in <code>tbody</code></th>
309
+ <th id="tbody.th.block" class="tbody.th.block" title="tbody.th.block" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1"><p>Block content in <code>th</code> in <code>tbody</code></p></th>
310
+ <td id="tbody.td.inline" class="tbody.td.inline" title="tbody.td.inline" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1">Inline content in <code>td</code> in <code>tbody</code></td>
311
+ <td id="tbody.td.block" class="tbody.td.block" title="tbody.td.block" lang="en" xml:lang="en" dir="ltr" rowspan="1" colspan="1"><p>Block content in <code>td</code> in <code>tbody</code></p></td>
312
+ </tr>
313
+ </tbody>
314
+ </table>
315
+
316
+ <h3 id="tables.header.heading">Associating header information with data cells</h3>
317
+
318
+ <table summary="This table contains header information." border="1">
319
+ <col span="1" width="150" />
320
+ <col span="3" width="100" />
321
+ <thead>
322
+ <tr>
323
+ <th id="thead.th1" abbr="th" scope="col" rowspan="1" colspan="1">thead.th1</th>
324
+ <th id="thead.th2" abbr="th" scope="col" rowspan="1" colspan="1">thead.th2</th>
325
+ <th id="thead.th3" abbr="th" scope="col" rowspan="1" colspan="1">thead.th3</th>
326
+ <th id="thead.th4" abbr="th" scope="col" rowspan="1" colspan="1">thead.th4</th>
327
+ </tr>
328
+ </thead>
329
+ <tbody>
330
+ <tr>
331
+ <th id="tbody.tr1.th1" abbr="th" scope="row" rowspan="1" colspan="1">tbody.tr1.th1</th>
332
+ <td id="tbody.tr1.td1" headers="thead.th2 tbody.tr1.th1" rowspan="1" colspan="1">tbody.tr1.td1</td>
333
+ <td id="tbody.tr1.td2" headers="thead.th3 tbody.tr1.th1" rowspan="1" colspan="1">tbody.tr1.td2</td>
334
+ <td id="tbody.tr1.td3" headers="thead.th4 tbody.tr1.th1" rowspan="1" colspan="1">tbody.tr1.td3</td>
335
+ </tr>
336
+ <tr>
337
+ <th id="tbody.tr2.th1" abbr="th" scope="row" rowspan="1" colspan="1">tbody.tr2.th1</th>
338
+ <td id="tbody.tr2.td1" headers="thead.th2 tbody.tr2.th1" rowspan="1" colspan="1">tbody.tr2.td1</td>
339
+ <td id="tbody.tr2.td2" headers="thead.th3 tbody.tr2.th1" rowspan="1" colspan="1">tbody.tr2.td2</td>
340
+ <td id="tbody.tr2.td3" headers="thead.th4 tbody.tr2.th1" rowspan="1" colspan="1">tbody.tr2.td3</td>
341
+ </tr>
342
+ </tbody>
343
+ </table>
344
+
345
+ <h3 id="tables.categorize.heading">Basic table, with categorizing cells</h3>
346
+
347
+ <table summary="This table summarizes travel expenses incurred during August trips to San Jose and Seattle" border="1" cellspacing="2" cellpadding="5">
348
+ <caption>Travel Expense Report</caption>
349
+ <colgroup align="char" char=".">
350
+ </colgroup>
351
+ <tr>
352
+ <th></th>
353
+ <th id="a2" axis="expenses">Meals</th>
354
+ <th id="a3" axis="expenses">Hotels</th>
355
+ <th id="a4" axis="expenses">Transport</th>
356
+ <td>subtotals</td>
357
+ </tr>
358
+ <tr>
359
+ <th id="a6" axis="location">San Jose</th>
360
+ <th></th>
361
+ <th></th>
362
+ <th></th>
363
+ <td></td>
364
+ </tr>
365
+ <tr align="char" char=".">
366
+ <td id="a7" axis="date">25-Aug-97</td>
367
+ <td headers="a6 a7 a2" align="char" char=".">37.74</td>
368
+ <td headers="a6 a7 a3" align="char" char=".">112.00</td>
369
+ <td headers="a6 a7 a4" align="char" char=".">45.00</td>
370
+ <td></td>
371
+ </tr>
372
+ <tr align="char" char=".">
373
+ <td id="a8" axis="date">26-Aug-97</td>
374
+ <td headers="a6 a8 a2" align="char" char=".">27.28</td>
375
+ <td headers="a6 a8 a3" align="char" char=".">112.00</td>
376
+ <td headers="a6 a8 a4" align="char" char=".">45.00</td>
377
+ <td></td>
378
+ </tr>
379
+ <tr align="char" char=".">
380
+ <td>subtotals</td>
381
+ <td align="char" char=".">65.02</td>
382
+ <td align="char" char=".">224.00</td>
383
+ <td align="char" char=".">90.00</td>
384
+ <td align="char" char=".">379.02</td>
385
+ </tr>
386
+ <tr>
387
+ <th id="a10" axis="location">Seattle</th>
388
+ <th></th>
389
+ <th></th>
390
+ <th></th>
391
+ <td></td>
392
+ </tr>
393
+ <tr align="char" char=".">
394
+ <td id="a11" axis="date">27-Aug-97</td>
395
+ <td headers="a10 a11 a2" align="char" char=".">96.25</td>
396
+ <td headers="a10 a11 a3" align="char" char=".">109.00</td>
397
+ <td headers="a10 a11 a4" align="char" char=".">36.00</td>
398
+ <td></td>
399
+ </tr>
400
+ <tr align="char" char=".">
401
+ <td id="a12" axis="date">28-Aug-97</td>
402
+ <td headers="a10 a12 a2" align="char" char=".">35.00</td>
403
+ <td headers="a10 a12 a3" align="char" char=".">109.00</td>
404
+ <td headers="a10 a12 a4" align="char" char=".">36.00</td>
405
+ <td></td>
406
+ </tr>
407
+ <tr align="char" char=".">
408
+ <td>subtotals</td>
409
+ <td align="char" char=".">131.25</td>
410
+ <td align="char" char=".">218.00</td>
411
+ <td align="char" char=".">72.00</td>
412
+ <td align="char" char=".">421.25</td>
413
+ </tr>
414
+ <tr>
415
+ <th>Totals</th>
416
+ <td align="char" char=".">196.27</td>
417
+ <td align="char" char=".">442.00</td>
418
+ <td align="char" char=".">162.00</td>
419
+ <td align="char" char=".">800.27</td>
420
+ </tr>
421
+ </table>
422
+
423
+ <h2 id="a.heading">Anchors: <code>a</code></h2>
424
+
425
+ <p>For more information about XHTML 1.0, please consult the
426
+ <a id="a" class="a" title="a" lang="en" xml:lang="en" dir="ltr" name="a" href="http://www.w3.org/TR/xhtml1" hreflang="en" accesskey="X" tabindex="1">XHTML 1.0 Specification</a>.</p>
427
+
428
+ <p>For more information about semantics of the elements and their
429
+ attributes in XHTML, please consult the
430
+ <a id="a.2" lang="en" xml:lang="en" dir="ltr" charset="ISO-8859-1" type="text/html" name="a.2" href="http://www.w3.org/TR/html4" hreflang="en" accesskey="H" tabindex="4">HTML 4 Specification</a>.</p>
431
+
432
+ <p>Links to the <a href="#tables.heading" rev="Prev" accesskey="P" tabindex="2">previous section</a> and the <a href="#objects.heading" rel="Next" accesskey="N" tabindex="3">next section</a>.</p>
433
+
434
+ <p>
435
+ Body elements:
436
+ <a href="#div">div</a>, <a href="#span">span</a>,
437
+ <a href="#h1">h1</a>, <a href="#h2">h2</a>, <a href="#h3">h3</a>,
438
+ <a href="#h4">h4</a>, <a href="#h5">h5</a>, <a href="#h6">h6</a>,
439
+ <a href="#address">address</a>, <a href="#bdo">bdo</a>,
440
+ <a href="#em">em</a>, <a href="#strong">strong</a>, <a href="#dfn">dfn</a>,
441
+ <a href="#code">code</a>, <a href="#samp">samp</a>, <a href="#kbd">kbd</a>,
442
+ <a href="#var">var</a>, <a href="#cite">cite</a>, <a href="#abbr">abbr</a>,
443
+ <a href="#acronym">acronym</a>, <a href="#tt">tt</a>, <a href="#i">i</a>,
444
+ <a href="#b">b</a>, <a href="#big">big</a>, <a href="#small">small</a>,
445
+ <a href="#blockquote">blockquote</a>, <a href="#q">q</a>,
446
+ <a href="#sub">sub</a>, <a href="#sup">sup</a>, <a href="#p">p</a>,
447
+ <a href="#br">br</a>, <a href="#pre">pre</a>,
448
+ <a href="#ins">ins</a>, <a href="#del">del</a>, <a href="#hr">hr</a>,
449
+ <a href="#ul">ul</a>, <a href="#ol">ol</a>, <a href="#ul.li.inline">li</a>,
450
+ <a href="#dl">dl</a>, <a href="#dt">dt</a>, <a href="#dd.inline">dd</a>,
451
+ <a href="#table">table</a>, <a href="#caption">caption</a>,
452
+ <a href="#colgroup">colgroup</a>, <a href="#col">col</a>,
453
+ <a href="#thead">thead</a>, <a href="#tfoot">tfoot</a>,
454
+ <a href="#tbody">tbody</a>, <a href="#thead.tr">tr</a>,
455
+ <a href="#thead.th.inline">th</a>, <a href="#thead.td.inline">td</a>,
456
+ <a href="#a">a</a>, <a href="#img">img</a>, <a href="#object">object</a>,
457
+ <a href="#map">map</a>, <a href="#area">area</a>
458
+ </p>
459
+
460
+ <div id="div.objects">
461
+ <h2 id="objects.heading">Objects, Images, and Applets</h2>
462
+
463
+ <div id="div.img">
464
+ <h3 id="img.heading">Including an image: <code>img</code></h3>
465
+
466
+ <p><img id="img" class="img" title="img" lang="en" xml:lang="en" dir="ltr" src="dot.png" alt="image" longdesc="#img.heading" height="40" width="40" /></p>
467
+ </div>
468
+
469
+ <div id="div.object">
470
+ <h3 id="object.heading">Generic inclusion: <code>object</code></h3>
471
+
472
+ <p><object id="object" class="object" title="object" lang="en" xml:lang="en" dir="ltr" data="dot.png" type="image/png" height="40" width="40" tabindex="8">
473
+ <param name="width" value="40" valuetype="data" />
474
+ <param name="height" value="40" valuetype="data" />
475
+ <object data="dot.jpg" type="image/jpeg" height="40" width="40">
476
+ <param name="width" value="40" valuetype="data" />
477
+ <param name="height" value="40" valuetype="data" />
478
+ <img src="dot.png" alt="Image" height="40" width="40" />
479
+ </object></object></p>
480
+ </div>
481
+
482
+ <div id="div.usemap">
483
+ <h3 id="usemap.heading">Client-side image maps: <code>map</code> and <code>area</code></h3>
484
+
485
+ <p><img src="dot.png" alt="image" height="40" width="40" usemap="#map" /></p>
486
+
487
+ <p><img src="dot.png" alt="image" height="40" width="40" usemap="#map2" /></p>
488
+
489
+ <div>
490
+ <map lang="en" xml:lang="en" dir="ltr" id="map" class="map" title="map" name="map">
491
+ <area id="area" class="area" title="area" lang="en" xml:lang="en" dir="ltr" shape="rect" coords="0,0,19,19" href="#grouping.heading" alt="Grouping elements: div and span" tabindex="5" />
492
+ <area shape="rect" coords="20,0,39,20" href="#headings.heading" alt="Headings: h1, h2, h3, h4, h5, h6" tabindex="6" />
493
+ <area shape="rect" coords="0,20,20,39" href="#address.heading" alt="Address: address" tabindex="7" />
494
+ <area shape="rect" coords="20,20,39,39" nohref="nohref" alt="" />
495
+ </map>
496
+ </div>
497
+
498
+ <div>
499
+ <map lang="en" xml:lang="en" dir="ltr" id="map2" class="map" title="map" name="map2">
500
+ <ul>
501
+ <li><a shape="rect" coords="0,0,19,19" href="#grouping.heading">Grouping elements: div and span</a></li>
502
+ <li><a shape="rect" coords="20,0,39,20" href="#headings.heading">Headings: h1, h2, h3, h4, h5, h6</a></li>
503
+ <li><a shape="rect" coords="0,20,20,39" href="#address.heading">Address: address</a></li>
504
+ </ul>
505
+ </map>
506
+ </div>
507
+ </div>
508
+
509
+ <div id="div.ismap">
510
+ <h3 id="ismap.heading">Server-side image maps</h3>
511
+
512
+ <p><a href="uri"><img src="dot.png" alt="Server-side image maps" longdesc="#ismap.heading" height="40" width="40" ismap="ismap" /></a></p>
513
+ </div>
514
+ </div>
515
+
516
+ <h2 id="forms.heading">Forms</h2>
517
+
518
+ <form id="form" class="form" title="form" lang="en" xml:lang="en" dir="ltr" action="uri" method="post" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8, UTF-16, UTF-16BE, UTF-16LE">
519
+ <fieldset id="fieldset" class="fieldset" title="Fieldset" lang="en" xml:lang="en" dir="ltr">
520
+ <legend id="legend" class="legend" title="Legend" lang="en" xml:lang="en" dir="ltr" accesskey="L">Input fields</legend>
521
+
522
+ <fieldset>
523
+ <legend>Text input</legend>
524
+
525
+ <p>
526
+ <label id="label" class="label" title="Label" lang="en" xml:lang="en" dir="ltr" for="input.text">Text input field:</label>
527
+ <input id="input.text" class="input" title="Text input" lang="en" xml:lang="en" dir="ltr" type="text" name="text" value="default text" size="40" tabindex="8" accesskey="T" />
528
+ </p>
529
+
530
+ <p>
531
+ <label for="input.text.disabled">Disabled text input field:</label>
532
+ <input id="input.text.disabled" class="input" title="Disabled text input" lang="en" xml:lang="en" dir="ltr" type="text" name="text.disabled" value="default text" disabled="disabled" size="40" />
533
+ </p>
534
+
535
+ <p>
536
+ <label for="input.text.readonly">Readonly text input field:</label>
537
+ <input id="input.text.readonly" class="input" title="Readonly text input" lang="en" xml:lang="en" dir="ltr" type="text" name="text.readonly" value="readonly text" readonly="readonly" size="15" />
538
+ </p>
539
+
540
+ </fieldset>
541
+
542
+ <fieldset>
543
+ <legend>Password input</legend>
544
+
545
+ <p>
546
+ <label for="input.password">Password input field:</label>
547
+ <input id="input.password" name="input.password" title="Password input" type="password" size="6" maxlength="6" />
548
+ </p>
549
+
550
+ <p>
551
+ <label for="input.password.disabled">Disabled password input field:</label>
552
+ <input id="input.password.disabled" name="input.password.disabled" title="Disabled password input" type="password" disabled="disabled" size="6" maxlength="6" />
553
+ </p>
554
+
555
+ <p>
556
+ <label for="input.password.readonly">Readonly password input field:</label>
557
+ <input id="input.password.readonly" name="input.password.readonly" title="Readonly password input" type="password" value="123456" readonly="readonly" size="6" maxlength="6" />
558
+ </p>
559
+ </fieldset>
560
+
561
+ <fieldset>
562
+ <legend>Checkboxes</legend>
563
+ <p>
564
+ <label for="input.checkbox1">1:</label>
565
+ <input id="input.checkbox1" title="Checkbox" type="checkbox" name="checkbox" value="checkbox1" checked="checked" />
566
+ <label for="input.checkbox2">2:</label>
567
+ <input id="input.checkbox2" title="Checkbox" type="checkbox" name="checkbox" value="checkbox2" />
568
+ <label for="input.checkbox3">3:</label>
569
+ <input id="input.checkbox3" title="Checkbox" type="checkbox" name="checkbox" value="checkbox3" />
570
+ <label for="input.checkbox4">4:</label>
571
+ <input id="input.checkbox4" title="Checkbox" type="checkbox" name="checkbox" value="checkbox4" />
572
+ <label for="input.checkbox5">5:</label>
573
+ <input id="input.checkbox5" title="Checkbox" type="checkbox" name="checkbox" value="checkbox5" />
574
+ <label for="input.checkbox.disabled">disabled:</label>
575
+ <input id="input.checkbox.disabled" title="Disabled checkbox" type="checkbox" name="checkbox" value="disabled_checkbox" disabled="disabled" />
576
+ </p>
577
+ </fieldset>
578
+
579
+ <fieldset>
580
+ <legend>Radio buttons</legend>
581
+ <p>
582
+ <label for="input.radio1">a.</label>
583
+ <input id="input.radio1" title="Radio button" type="radio" name="radio" value="radio1" />
584
+ <label for="input.radio2">b.</label>
585
+ <input id="input.radio2" title="Radio button" type="radio" name="radio" value="radio2" />
586
+ <label for="input.radio3">c.</label>
587
+ <input id="input.radio3" title="Radio button" type="radio" name="radio" value="radio3" checked="checked" />
588
+ <label for="input.radio4">d.</label>
589
+ <input id="input.radio4" title="Radio button" type="radio" name="radio" value="radio4" />
590
+ <label for="input.radio5">e.</label>
591
+ <input id="input.radio5" title="Radio button" type="radio" name="radio" value="radio5" />
592
+ <label for="input.radio.disabled">disabled.</label>
593
+ <input id="input.radio.disabled" title="Disabled radio button" type="radio" name="radio" value="disabled_radio" disabled="disabled" />
594
+ </p>
595
+ </fieldset>
596
+
597
+ <fieldset>
598
+ <legend>File upload</legend>
599
+ <p><label for="input.file">File upload:</label>
600
+ <input id="input.file" name="input.file" title="File upload" type="file" value="filename.ext" accept="text/plain,text/html,text/xml" /></p>
601
+
602
+ <p><label for="input.file.disabled">Disabled file upload:</label>
603
+ <input id="input.file.disabled" name="input.file.disabled" title="Disabled file upload" type="file" value="filename.ext" disabled="disabled" /></p>
604
+ </fieldset>
605
+
606
+ <fieldset>
607
+ <legend>Image submit button</legend>
608
+ <p><label for="input.image">Image submit button:</label>
609
+ <input id="input.image" name="input.image" style="width: 20px; height: 20px" title="Image submit button" type="image" src="dot.png" alt="Submit" /></p>
610
+
611
+ <p><label for="input.image.disabled">Disabled image submit button:</label>
612
+ <input id="input.image.disabled" name="input.image.disabled" style="width: 20px; height: 20px" title="Disabled image submit button" type="image" disabled="disabled" src="dot.png" alt="Submit" /></p>
613
+ </fieldset>
614
+
615
+
616
+ <fieldset>
617
+ <legend>Submit/Reset</legend>
618
+ <p><input id="input.submit" title="Submit button" type="submit" value="Submit" />
619
+ <input id="input.reset" title="Reset button" type="reset" value="Reset" />
620
+ <input id="input.buttom" title="Input button" type="button" value="Button" /></p>
621
+
622
+ <p><input id="input.submit.disabled" title="Disabled submit button" type="submit" value="Submit" disabled="disabled" />
623
+ <input id="input.reset.disabled" title="Disabled reset button" type="reset" value="Reset" disabled="disabled" />
624
+ <input id="input.buttom.disabled" title="Disabled input button" type="button" value="Button" disabled="disabled" /></p>
625
+ </fieldset>
626
+
627
+ <p><input id="input.hidden" name="input.hidden" title="Hidden input control" type="hidden" value="hidden_value" /></p>
628
+ </fieldset>
629
+
630
+ <fieldset>
631
+ <legend>Button</legend>
632
+ <button id="button.submit" lang="en" xml:lang="en" dir="ltr" name="submit" value="submit" type="submit" tabindex="9" accesskey="B">
633
+ Submit button using<br /> the <code>button</code> element</button>
634
+ <button id="button.reset" name="reset" value="reset" type="reset">
635
+ Reset button using<br /> the <code>button</code> element</button>
636
+ <button id="button.button" name="button" value="button" type="button">
637
+ A button using the<br /> <code>button</code> element</button>
638
+ <button id="button.disabled" name="button.disabled" value="button" type="button" disabled="disabled">
639
+ A disabled button using<br /> the <code>button</code> element</button>
640
+
641
+ </fieldset>
642
+
643
+ <fieldset>
644
+ <legend>Option selector</legend>
645
+
646
+ <p><label for="select">Single selection:</label>
647
+ <select id="select" class="select" title="Select" lang="en" xml:lang="en" dir="ltr" name="select">
648
+ <optgroup id="optgroup" class="optgroup" title="Optgroup" lang="en" xml:lang="en" dir="ltr" label="optgroup">
649
+ <option id="option" class="option" title="Option" lang="en" xml:lang="en" dir="ltr" value="Opt1">Option 1</option>
650
+ <option value="Opt2">Option 2</option>
651
+ </optgroup>
652
+ <optgroup disabled="disabled" label="disabled_optgroup">
653
+ <option value="Opt3">Option 3 (disabled)</option>
654
+ <option value="Opt4">Option 4 (disabled)</option>
655
+ </optgroup>
656
+ <option value="Opt5">Option 5</option>
657
+ <option selected="selected" value="Opt6">Option 6 (default)</option>
658
+ <option disabled="disabled" value="Opt7">Option 7 (disabled)</option>
659
+ </select>
660
+ </p>
661
+
662
+ <p><label for="select.multiple">Multiple selections:</label>
663
+ <select id="select.multiple" class="select" title="Multiple select" lang="en" xml:lang="en" dir="ltr" name="select.multiple" size="4" multiple="multiple">
664
+ <optgroup id="optgroup.multiple" class="optgroup" title="Optgroup" lang="en" xml:lang="en" dir="ltr" label="optgroup">
665
+ <option id="option.multiple" class="option" title="Option" lang="en" xml:lang="en" dir="ltr" value="Opt1">Option 1</option>
666
+ <option value="Opt2">Option 2</option>
667
+ </optgroup>
668
+ <optgroup disabled="disabled" label="disabled_optgroup">
669
+ <option value="Opt3">Option 3 (disabled)</option>
670
+ <option value="Opt4">Option 4 (disabled)</option>
671
+ </optgroup>
672
+ <option value="Opt5">Option 5</option>
673
+ <option selected="selected" value="Opt6">Option 6 (default)</option>
674
+ <option disabled="disabled" value="Opt7">Option 7 (disabled)</option>
675
+ </select>
676
+ </p>
677
+
678
+ <p><label for="select.disabled">Disabled selection:</label>
679
+ <select id="select.disabled" class="select" title="Select" lang="en" xml:lang="en" dir="ltr" name="select.disabled" disabled="disabled">
680
+ <optgroup id="optgroup.disabled" class="optgroup" title="Optgroup" lang="en" xml:lang="en" dir="ltr" label="optgroup">
681
+ <option id="option.disabled" class="option" title="Option" lang="en" xml:lang="en" dir="ltr" value="Opt1">Option 1</option>
682
+ <option value="Opt2">Option 2</option>
683
+ </optgroup>
684
+ <optgroup disabled="disabled" label="disabled_optgroup">
685
+ <option value="Opt3">Option 3 (disabled)</option>
686
+ <option value="Opt4">Option 4 (disabled)</option>
687
+ </optgroup>
688
+ <option value="Opt5">Option 5</option>
689
+ <option selected="selected" value="Opt6">Option 6 (default)</option>
690
+ <option disabled="disabled" value="Opt7">Option 7 (disabled)</option>
691
+ </select>
692
+ </p>
693
+ </fieldset>
694
+
695
+ <fieldset>
696
+ <legend>Textarea</legend>
697
+ <p><label for="textarea">Textarea:</label>
698
+ <textarea id="textarea" class="textarea" title="Textarea" lang="en" xml:lang="en" dir="ltr" name="textarea" rows="5" cols="20" tabindex="10" accesskey="X">default text</textarea></p>
699
+ <p><label for="textarea.disabled">Disabled textarea:</label>
700
+ <textarea id="textarea.disabled" class="textarea" title="Textarea" lang="en" xml:lang="en" dir="ltr" name="textarea.disabled" rows="5" cols="20" disabled="disabled">default text</textarea></p>
701
+ <p><label for="textarea.readonly">Readonly textarea:</label>
702
+ <textarea id="textarea.readonly" class="textarea" title="Textarea" lang="en" xml:lang="en" dir="ltr" name="textarea.readonly" rows="5" cols="20" readonly="readonly">default text</textarea></p>
703
+ </fieldset>
704
+
705
+ </form>
706
+
707
+ <h2 id="script.heading">Script</h2>
708
+
709
+ <script type="text/javascript">
710
+ //<![CDATA[
711
+ document.write("<p>Text generated by JavaScript.<\/p>")
712
+ //]]>
713
+ </script>
714
+
715
+ <noscript id="noscript" class="noscript" title="Noscript" lang="en" xml:lang="en" dir="ltr">
716
+ <p>Alternate text in <code>noscript</code>.</p>
717
+ </noscript>
718
+
719
+ <hr />
720
+
721
+ <address title="author" lang="en" xml:lang="en" dir="ltr">
722
+ <a href="mailto:mimasa@w3.org">Masayasu Ishikawa</a>
723
+ </address>
724
+
725
+ </body>
726
+ </html>