Существует два главных класса
текстовой разметки: логическая и
физическая. Логическая разметка
показывает роль текстового
сегмента, например, большую
значимость по сравнению с обычным
текстом или то, что данный сегмент
является цитатой. Физическая
разметка связана с представлением
текста в специальной манере,
например, с использованием шрифтов
или специального вида
подчеркивания. Предпочтение должно
отдаваться логической разметке.
Используйте физическую разметку
только, если это действительно
соответствует требованиям
представления текста. Например, для
сильного выделения используйте
элемент STRONG, а не B, в предположении, что
различные Web броузеры реализуют
подчеркивания лучшим образом для
того окружения, в котором они
установлены. Таблица стилей также
будет полезна для использования.
Например, кому-то захочется все
программные коды представлять на
желтом фоне и большим шрифтом, в то
время как кто-то другой предпочтет
совсем другие методы для выделения
их в обычном тексте. Такие операции
будут выполняться много проще, если
постоянно будет использоваться
логическая разметка. В дополнение к большей гибкости
при представлении текста
различными броузерами логическая
разметка имеет следующее
преимущество по сравнению с
физической: все большее количество
компьютерных программ извлекают
информацию из HTML документов для
различных целей. Для такой работы
лучше иметь "индикаторы"
логической разметки, выделяющие,
например, некоторый текст, как
более важный, или цитированные
разделы. Как логическая, так и физическая
разметки делаются с использованием
элементов HTML с начальным и конечным
тегами. Элементы разметки не
должны перекрываться. Например,
следующая запись будет ошибкой: С другой стороны,
элементы разметки могут быть
вложенными. Лучше отобразить
подобные структуры следующим
образом: Броузеры с ограниченным набором
шрифтов могут иметь трудности в
представлении разметки текста. Для выделениятекста
существует два фразовых элемента - EM и STRONG, где
STRONG используется для более
сильного выделения. Избегайте выделения слишком
больших частей текста, так как
подчеркивая все, Вы не
подчеркиваете ничего! (Вошедший в
поговорку студент, который
подчеркивает все в своей книге, не
понимает самой идеи подчеркивания.)
К сожалению, не
существует "де-выделяющего"
элемента фразы, обозначающего
менее важный текст. Если Вам
действительно это необходимо,
можно использовать элемент SMALL. Однако, если менее
важный текст объемен, лучше его
вынести в отдельный документ, связь
с которым указать в главном
документе. Лицо, которое последует
по таким связям, заинтересовавшись
текстом, вероятно, предпочтет
увидеть нормальный текст, и поэтому
нет необходимости в каком-либо
"де-подчеркивании" Элемент DFN также
может рассматриваться, как
специальный вид подчеркивания,
однако, логически он обозначает,
что этот термин имеет определение.
Это, в принципе, очень полезный
элемент, однако, к сожалению многие
броузеры, включая Netscape,
поддерживают его не эффективно. Элемент VAR
показывает, что часть текста
(обычно слово) является переменной,
т.е. текстом, который может быть
заменен различными выражениями. Следующие фразовые элементы
задают различные виды ссылок
или цитирования: Смотрите также замечания
и примеры по вопросам отображения
разметки. Шрифтовые элементы это: Заметим: SUB и SUP могут быть
отнесены к разметке фразового
уровня, как упоминалось выше; SMALL
может быть использован для
де-подчеркивания. Элементы FONT и BASEFONT предлагают много
возможностей для задания размеров
шрифта по сравнению с BIG и SMALL.
Однако избегайте чрезмерного
использования физической разметки.
У Вас может появиться желание
взглянуть на отдельный файл, чтобы
получить визуальное
представление о различных
элементах разметки на Вашем
броузере. Однако не думайте, что
отображение, которое Вы увидите,
является универсальным или верным. Например, некоторые броузеры
(возьмем Internet Explorer) отображают TT (и CODE) как
шрифт, значительно меньший, чем
обычный текст, и эта диспропорция
сохраняется, когда изменяются
размеры шрифта. Более того, Internet
Explorer воспроизводит VAR
как моноширинный (monospaced) шрифт, в то
время как большинство графических
броузеров использует курсив (italic). С
другой стороны, в Netscape, размеры
шрифта можно специально
устанавливать, а по умолчанию для TT и VAR
используются одни и те же шрифты,
однако "одни и те же" означает
технический размер в точках - на
практике моноширинные шрифты
выглядят больше, чем нормальный
пропорциональный шрифт! Таким образом, избегайте
связываться с размерами шрифта;
используйте фразовую разметку и
другие структурные элементы и
позвольте пользователям, если им не
нравятся размеры шрифта в Вашем
тексте, определять шрифты в их
собственных броузерах как им
нравится. В следующей таблице сделана
попытка дать представление о
диапазоне возможностей броузеров.
Она представляет отображение
элементов разметки в Netscape Navigator,
Microsoft Internet Explorer и Lynx. Заметим, что
существуют вариации даже в
пределах каждой из этих программ - в
зависимости от версии, платформы,
конфигурации системы или
собственной пользовательской
конфигурации, - такой разброс
соответствует действительности.
Таким образом, данные таблицы
могут быть, но не обязательно имеют
место в действительности. Данные таблицы относятся к
невложенным элементам. Вложенность
текстовых элементов может
повысить наглядность отображения. Для представления взаимодействия
человека с компьютером на
текстовой или другой основе могут
использоваться следующие подходы: Во всех подходах должны
приниматься во внимание принципы деления в пределах строки
и использования пробелов и
символов табуляции, что может
требовать вставки BR
элементов или использования PRE элементов. Заметим,
что логическая разметка
разрешена в PRE элементах (хотя это,
возможно, не самое лучшее ее
использование). Следующий пример иллюстрирует
подход в контексте введения в язык
программирования Perl. Замечания к примеру:
Разметка текста -
выделение шрифта, цитирование, код
и т.п.
Логическая разметка
в сравнении с физической
This has some <B>bold and <I></B>italic text</I>.
This is <I>italic text which contains <U>underlined text</U>
within in </I> whereas <U>this is normal underlined text</U>.
Элементы фразы
(логическая разметка текста)
CITE
цитирование (название книги,
или статьи, или - эквивалент)
CODE
код программы или -
эквивалент (например, HTML)
SAMP
служебные сообщения
компьютера (вывод из программы,
скрипты, команды и т.п.)
KBD
текст, который должен
печататься на клавиатуре
пользователя; обычно
используется для инструкций.
Шрифтовые элементы (font
elements) - физическая разметка текста
TT
"телетайпный" текст, т.е.
текст одного размера
I
курсив
B
выделение
U
подчеркивание
STRIKE
зачеркнутый текст
BIG
большой шрифт
SMALL
малый шрифт
SUB
подстрочный текст
SUP
надстрочный текст.
Отображение разметки
элемент
Netscape
Internet Explorer
Lynx
EM
курсив
курсив
подчеркнутый
DFN
обычный текст
курсив
обычный (одноразмерный)
CODE
одноразмерный
малый одноразмерный
обычный (одноразмерный)
SAMP
одноразмерный
малый одноразмерный
обычный (одноразмерный)
KBD
одноразмерный
малый одноразмерный
обычный (одноразмерный)
VAR
курсив
малый одноразмерный
обычный (одноразмерный)
CITE
курсив
курсив
подчеркнутый
TT
одноразмерный
малый одноразмерный
обычный (одноразмерный)
I
курсив
курсив
подчеркнутый
B
усиленный
усиленный
подчеркнутый
U
обычный текст
подчеркнутый
подчеркнутый
STRIKE
зачеркивание
зачеркивание
текст между
[DEL:
и :DEL]
BIG
больший, чем обычный
больший, чем обычный
обычный текст
SMALL
меньший, чем обычный
немного меньший, чем обычный
обычный текст
SUB
опущенный, немного меньший
опущенный
обычный текст
SUP
поднятый, немного больший
поднятый
обычный текст
Представление
взаимодействия с компьютером
<P>The following Perl script prints out its input so that each line begins
with a running line number:</P>
<PRE>
<CODE>
#!/usr/bin/perl
$line = 1;
while (&lt&gt) {
print $line++, " ", $_; }
</CODE>
</PRE>
<P>The scalar variable <CODE>$line</CODE> is of
course the line counter.<P>
<P>The loop construct is of the form<BR>
<CODE>while (&lt&gt) {</CODE><BR>
<VAR>process one line of input</VAR>
<CODE>}</CODE><BR>
</P>
<P>Assuming that you have written this script (the simpler version
of it) into a file named <KBD>lines</KBD>, you
could test it using a command
of the form<BR> <KBD>lines</KBD>
<VAR>datafile</VAR><BR>
In particular, using the script as input to itself, you would do as follows
(the details of
system output vary from one system to another):
</P>
<PRE>
<SAMP>lk-hp-23 perl 251 % </SAMP><KBD>lines lines</KBD>
<SAMP>1 #!/usr/bin/perl
2 $line = 1;
3 while (<>) {
4 print $line++, " ", $_; }
lk-hp-23 perl 252 % </SAMP>
</PRE>