Автор: Пользователь скрыл имя, 13 Февраля 2013 в 20:07, лабораторная работа
HyperText Markup Language (надалі HTML) - це мова гіпертекстової розмітки документа. У нашому випадку цим документом є web сторінка. Простіше кажучи, це мова для написання web сторінок. Читаючи код HTML, Ваш улюблений веб-браузер виводить на екран Вашого монітора вміст web сторінки. Ви запитаєте; «А що таке веб-браузер?». Це програма для перегляду web сторінок, якими є «Microsoft Internet Explorer", «Netscape Navigator», «Opera», «Mozila» та ін.
Введення……………………………………………………………………………3
Елементи конструювання таблиць
Елемент TABLE………………………………………………………………..4
Напрямок в таблиці……………………………………………………………6
Заголовок таблиці: елемент CAPTION……………………………………….6
Групи рядів: елементи THEAD, TFOOT і TBODY…………………………..7
Групи стовпців: елементи COLGROUP і COL……………………………….9
Ряди: елемент TR………………………………………………………………15
Осередки: елементи TH і TD………………………………………………….16
Подання таблиць невізуальними ПА
Асоціювання заголовної інформації з осередками даних…………………..21
Категоризація осередків……………………………………………………....24
Алгоритм пошуку заголовної інформації…………………………………....28
Зразок таблиці………………………………………………………………….28
Висновок………………………………………………………………………….....32
Використана література………………………………………………………….....34
Користувачі, що переглядають таблиці за допомогою мовного ПА, можуть додатково побажати почути роз'яснення про вміст комірки. Один з методів отримати роз'яснення складається в прослуховуванні асоційованої заголовної інформації перед прослуховуванням вмісту осередків даних (див. розділ асоціювання заголовної інформації з комірками даних).
Користувачів може також зацікавити інформація про більш ніж одному осередку. У цьому випадку заголовна інформація, що дається на рівні осередку (атрибутами headers, scope і abbr), не може надати адекватний контекст. Розглянемо таблицю, де класифікуються ціни на їжу, готелі та транспорт у двох містах (Сан-Хосе і Сіетл) за кілька днів:
Користувачеві може знадобитися витягти інформацію з таблиці у формі запиту:
Кожен запит викликає обчислення ПА, в яких можуть бути задіяні нуль або більше клітинок. Щоб визначити, наприклад, вартість харчування 25 серпня, ПА повинен знати, яка осередок посилається на "Meals" (всі) і яка посилається на "Dates" (конкретно, на 25 серпня), і знайти перетин двох наборів (даних).
Щоб пристосувати цей тип запиту, таблична модель HTML 4 дозволяє авторам розмістити заголовки осередків і дані по категоріях. Наприклад, за таблицею цін на проїзд автор міг би згрупувати заголовні осередку "San Jose" і "Seattle" в категорію "Location", заголовки "Meals", "Hotels" і "Transport" - в категорію "Expenses", а 4 дні в категорію "Date". Попередні три питання отримають тоді такі значення:
Автори категоризируются осередку заголовків або даних установкою атрибуту axis для осередку. Наприклад, у таблиці витрат на проїзд, осередок, що містить інформацію "San Jose" може бути поміщена в категорію "Location" так:
<TH id="a6" axis="location">San Jose</TH>
будь-яка комірка, що містить інформацію з посиланням на "San Jose", повинна посилатися на цю заголовну осередок через атрибути headers або scope.
Таким чином, витрати
на харчування 25 серпня повинні
бути позначені так, щоб
<TD headers="a6">37.74</TD>
Кожен атрибут headers надає список посилань на id. Автори можуть таким чином категоризувати дані осередку якими способами.
Нижче розміщено таблицю витрат на подорож з розподілом інформації за категоріями:
<TABLE border="1"
summary="This table summarizes travel expenses
incurred during August trips to
San Jose and Seattle">
<CAPTION>
Travel Expense Report
</CAPTION>
<TR>
<TH></TH>
<TH id="a2" axis="expenses">Meals</TH>
<TH id="a3" axis="expenses">Hotels</TH>
<TH id="a4" axis="expenses">Transport</TH>
<TD>subtotals</TD>
</TR>
<TR>
<TH id="a6" axis="location">San Jose</TH>
<TH></TH>
<TH></TH>
<TH></TH>
<TD></TD>
</TR>
<TR>
<TD id="a7" axis="date">25-Aug-97</TD>
<TD headers="a6 a7 a2">37.74</TD>
<TD headers="a6 a7 a3">112.00</TD>
<TD headers="a6 a7 a4">45.00</TD>
<TD></TD>
</TR>
<TR>
<TD id="a8" axis="date">26-Aug-97</TD>
<TD headers="a6 a8 a2">27.28</TD>
<TD headers="a6 a8 a3">112.00</TD>
<TD headers="a6 a8 a4">45.00</TD>
<TD></TD>
</TR>
<TR>
<TD>subtotals</TD>
<TD>65.02</TD>
<TD>224.00</TD>
<TD>90.00</TD>
<TD>379.02</TD>
</TR>
<TR>
<TH id="a10" axis="location">Seattle</TH>
<TH></TH>
<TH></TH>
<TH></TH>
<TD></TD>
</TR>
<TR>
<TD id="a11" axis="date">27-Aug-97</TD>
<TD headers="a10 a11 a2">96.25</TD>
<TD headers="a10 a11 a3">109.00</TD>
<TD headers="a10 a11 a4">36.00</TD>
<TD></TD>
</TR>
<TR>
<TD id="a12" axis="date">28-Aug-97</TD>
<TD headers="a10 a12 a2">35.00</TD>
<TD headers="a10 a12 a3">109.00</TD>
<TD headers="a10 a12 a4">36.00</TD>
<TD></TD>
</TR>
<TR>
<TD>subtotals</TD>
<TD>131.25</TD>
<TD>218.00</TD>
<TD>72.00</TD>
<TD>421.25</TD>
</TR>
<TR>
<TH>Totals</TH>
<TD>196.27</TD>
<TD>442.00</TD>
<TD>162.00</TD>
<TD>800.27</TD>
</TR>
</TABLE>
Зверніть увагу, що така розмітка таблиці дозволяє також ПА виключити отримання користувачем небажаної інформації. Наприклад, якщо мовної синтезатор назвав би всі позиції в стовпці "Meals" цієї таблиці у відповідь на запит "What were all my meal expenses?", Користувач не зміг би відрізнити щоденні витрати від загальних. Уважно категорізіруя дані в комірках, автори дозволяють ПА виконати важливе семантичне розрізнення при виводі інформації.
Звичайно, немає ніяких обмежень по категоризації інформації таблиці. У таблиці витрат на подорож, наприклад, ми могли б додати додаткові категорії "subtotals" і "totals".
Ця специфікація не вимагає від ПА обробляти інформацію, надану атрибутом axis, як і не дає жодних рекомендацій, як ПА можуть представляти користувачам інформацію в axis або як користувачі можуть запитувати ПА про цю інформацію.
Однак ПА, особливо мовні синтезатори, можуть виносити за дужки інформацію, звичайну для деяких осередків, які є результатом виконання запиту. Наприклад, якщо користувач запитує "What did I spend for meals in San Jose?", ПА міг би спочатку визначити осередки для питання (25-Aug-1997: 37.74, 26-Aug-1997: 27.28), а потім відобразити цю інформацію. Мовний ПА зміг би прочитати цю інформацію:
Location: San Jose. Date: 25-Aug-1997. Expenses, Meals: 37.74
Location: San Jose. Date: 26-Aug-1997. Expenses, Meals: 27.28
або більш компактно:
San Jose, 25-Aug-1997, Meals: 37.74
San Jose, 26-Aug-1997, Meals: 27.28
І навіть більш економно - можна було б прибрати загальну інформацію та реорганізувати її:
San Jose, Meals, 25-Aug-1997: 37.74
26-Aug-1997: 27.28
ПА, що підтримують такий тип подання, повинні мати здатність налаштовувати уявлення (напр., за допомогою таблиць стилів).
При відсутності заголовної інформації в атрибутах scope або headers, ПА можуть конструювати заголовну інформацію у відповідності з наступним алгоритмом. Мета цього алгоритму - знайти упорядкований список заголовків. (У наступному описі алгоритму напрямок в таблиці приймається "зліва-направо".)
Це приклад угруповання рядів і стовпців. Він узятий з "Developing International Software", Nadine Kano.
У "ascii-подібному" вигляді, наступна таблиця:
<TABLE border="2" frame="hsides" rules="groups"
summary="Code page support in different versions
of MS Windows.">
<CAPTION>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</CAPTION>
<COLGROUP align="center">
<COLGROUP align="left">
<COLGROUP align="center" span="2">
<COLGROUP align="center" span="3">
<THEAD valign="top">
<TR>
<TH>Code-Page<BR>ID
<TH>Name
<TH>ACP
<TH>OEMCP
<TH>Windows<BR>NT 3.1
<TH>Windows<BR>NT 3.51
<TH>Windows<BR>95
<TBODY>
<TR><TD>1200<TD>Unicode
(BMP of ISO/IEC-10646)<TD><TD><TD>X<
<TR><TD>1250<TD>Windows
3.1 Eastern European<TD>X<TD><TD>X<TD>X<
<TR><TD>1251<TD>Windows
3.1 Cyrillic<TD>X<TD><TD>X<TD>X<
<TR><TD>1252<TD>Windows 3.1 US (ANSI)<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1253<TD>Windows 3.1 Greek<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1254<TD>Windows
3.1 Turkish<TD>X<TD><TD>X<TD>X<TD>
<TR><TD>1255<TD>Hebrew<TD>X<
<TR><TD>1256<TD>Arabic<TD>X<
<TR><TD>1257<TD>Baltic<TD>X<
<TR><TD>1361<TD>Korean
(Johab)<TD>X<TD><TD><TD>**<TD>
<TBODY>
<TR><TD>437<TD>MS-DOS United States<TD><TD>X<TD>X<TD>X<TD>X
<TR><TD>708<TD>Arabic (ASMO 708)<TD><TD>X<TD><TD><TD>X
<TR><TD>709<TD>Arabic (ASMO 449+, BCON V4)<TD><TD>X<TD><TD><TD>X
<TR><TD>710<TD>Arabic (Transparent Arabic)<TD><TD>X<TD><TD><TD>X
<TR><TD>720<TD>Arabic (Transparent ASMO)<TD><TD>X<TD><TD><TD>X
</TABLE>
могла б бути представлена так:
CODE-PAGE SUPPORT IN MICROSOFT WINDOWS
==============================
Code-Page | Name | ACP OEMCP | Windows Windows Windows
ID
|
------------------------------
1200 | Unicode (BMP of ISO 10646) | | X X *
1250 | Windows 3.1 Eastern European | X | X X X
1251 | Windows 3.1 Cyrillic | X | X X X
1252 | Windows 3.1 US (ANSI) | X | X X X
1253 | Windows 3.1 Greek | X | X X X
1254 | Windows 3.1 Turkish | X | X X X
1255 | Hebrew | X | X
1256 | Arabic | X | X
1257 | Baltic | X | X
1361 | Korean (Johab) | X | ** X
------------------------------
437 | MS-DOS United States | X | X X X
708 | Arabic (ASMO 708) | X | X
709 | Arabic (ASMO 449+, BCON V4) | X | X