to allow these to be extracted automatically by indexing programs.
Minimum Attributes
<PERSON>characters... </PERSON>
All Possible Attributes
<PERSON
LANG="..."
DIR=ltr|rtl
ID="..."
CLASS="...">characters...
</PERSON>
Elements Allowed Within...
-In progress, to be determined-
Allowed In Content Of...
-In progress, to be determined-
Variations
The PERSON element is a Version 3 proposed element.
All character definition elements are Level 2.
PLAINTEXT
Description
The PLAINTEXT element defined a separated multi-line set of text
to be rendered as it exists in the source document with
the same line breaks. It was designed to ignore all subsequent
HTML tags. Therefore, it was always last in a document, allowing
the remainder of the document to be presented as text.
Minimum Attributes
<PLAINTEXT>characters...
</PLAINTEXT>
All Possible Attributes
<PLAINTEXT WIDTH="..."
LANG="..."
DIR=ltr|rtl>characters...
</PLAINTEXT>
Elements Allowed Within...
Only the PLAINTEXT ending element is recognized as an element
inside of PLAINTEXT content, all else is treated as character data.
Allowed In Content Of...
Variations
Most browsers use fixed-width characters for PLAINTEXT text.
A few browsers accepted the ending element, which meant that
the ending element could not exist in the text.
The RFC 1866 DTD specifies that the ending element can exist and
implies that a browser should recognize the ending
element but accept everything else as just text.
It also prohibits it from being nested inside any element but the
outer HTML element itself.
Comments in RFC 1866 state that PLAINTEXT has no ending element and
all characters after the start element are data.
This element existed in Version 0 and has been replaced by the
<PRE> element.
RFC 1866 has declared PLAINTEXT as deprecated
and some current browsers no longer recognize it.
The LANG and DIR attributes are introduced with the
internationalization proposal.
Послесловие. От Автора
Отмазка : Возможно наличие ошибок и опечаток в этой статье. Все мы люди и незастрахованы от неожиданостей. Если таковые будут Вами замечены - сообщите мне, я их обязательно исправлю. Также можете присылать предложения и дополнения касательно данной статьи.
Под MSIE и Нетскейпом подразумиваются Microsoft Internet Explorer 4.0+ и Netscape Navigator 4.0+ соответственно.
Данная статья является моей интелектуальной собственностью и защищается законом РФ об авторском праве. Любое коммерческое использование материалов данной статьи без письменного разрешения автора запрещено. При некоммерческом использовании ссылка на автора обязательна.
The PRE element defines a separated multi-line set of text
to be rendered as it exists in the source document with
the same line breaks and spaces.
Normal text removes multiple spaces and line breaks in the source.
Minimum Attributes
<PRE>characters...
</PRE>
All Possible Attributes
<PRE WIDTH=number
LANG="..."
DIR=ltr|rtl
ID="..."
CLASS="..."
CLEAR=left|right|all|"..."
>characters...
</PRE>
Elements Allowed Within...
elements
and parsed character data
Allowed In Content Of...
Any entity that permits members of group
Variations
RFC 1866 states that the content of PRE is intended to be
formatted with a monospaced font.
For backwards compatibility with some existing documents,
RFC 1866 encourages browsers to accept the <P> element
in the PRE content and treat it as if it were the <BR> element.
While RFC 1866 states that within PRE content the tab character should
position to the next 8 character boundary, it recommends
that HTML documents not contain the tab character.
Version 3 encourages using the proposed element instead.
The LANG and DIR attributes are introduced with the
internationalization proposal.
One typical use of PRE has been for tables, but the Version 3
element is proposed to fulfill that requirement.
The CLEAR attribute is proposed in Version 3.
RFC 1866 states that the attribute WIDTH specifies the
maximum number of characters for a line.
Some browsers have interpreted this as specifying
the minimum number of characters that the browser should
try to insure are displayed on a single line, possibly by selecting
a smaller font size.
Many browsers ignore the WIDTH attribute, and Version 3 is discussing
the possibility of removing it.
The PRE element is Level 0.
Примечания редактора
Перевод спецификации HTML производился в 1994 году и некоторая
информация на момент публикации устарела. По этой причине в оригинальный
текст включены примечания (замкнуты в скобках и
помечены, как "прим. ред."). Некоторые из них вынесены из
текста и размещаются в конце данного документа в разделе
"".
Ниже приведено несколько примеров, иллюстрирующих
Ниже приведено несколько примеров, иллюстрирующих использование
cookies
Первый пример:
Клиент запрашивает документ и принимает ответ:
Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-Nov-99 23:12:40 GMT
Когда клиент запрашивает URL с путем "/" на этом сервере,
он посылает:
Cookie: CUSTOMER=WILE_E_COYOTE
Клиент запрашивает документ и принимает ответ:
Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/
Когда клиент запрашивает URL с путем "/" на этом сервере,
он посылает:
Cookie: CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001
Клиент получает:
Set-Cookie: SHIPPING=FEDEX; path=/foo
Когда клиент запрашивает URL с путем "/" на этом сервере,
он посылает:
Cookie: CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001
Когда клиент запрашивает URL с путем "/foo" на этом
сервере, он посылает:
Cookie: CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001; SHIPPING=FEDEX
Второй пример:
Клиент принимает:
Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/
Когда клиент запрашивает URL с путем "/" на этом сервере,
он посылает:
Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001
Клиент принимает:
Set-Cookie: PART_NUMBER=RIDING_ROCKET_0023; path=/ammo
Когда клиент запрашивает URL с путем "/ammo" на этом
сервере, он посылает:
Cookie: PART_NUMBER=RIDING_ROCKET_0023; PART_NUMBER=ROCKET_LAUNCHER_0001
Комментарий: здесь мы имеем две пары имя/значение с именем "PART_NUMBER".
Это наследие из предыдущего примера, где значение для пути "/" прибавилось к значению для "/ammo".
document.write('
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Не знаете, где приобрести ? Не проблема, позвоните нам, мы сделаем вам предложение, от которого Вы не сможете отказаться.
Q
Description
The Q element changes the character rendering of the
contents of the element to logically represent a short quotation.
Minimum Attributes
<Q>characters... </Q>
All Possible Attributes
<Q
LANG="..."
DIR=ltr|rtl
ID="..."
CLASS="...">characters...
</Q>
Elements Allowed Within...
members of group
Allowed In Content Of...
Any element that permits members of group
Variations
The Q element was a Version 3 proposed element and is part
of the internationalization proposal.
It is intended to be shown enclosed in the kind of quotations marks
appropriate to the LANG language context.
All character definition elements are Level 2.
S
Description
The S element changes the physical rendering of the
contents of the element to a font
with a strikeout line through the letters.
Minimum Attributes
<S>characters...
</S>
All Possible Attributes
<S
LANG="..."
DIR=ltr|rtl
ID="..."
CLASS="...">characters...
</S>
Elements Allowed Within...
-In progress, to be determined-
Allowed In Content Of...
-In progress, to be determined-
Variations
The S element is proposed in Version 3.
This replaces the STRIKE element which was in a early Version 2 proposal
but is not in RFC 1866.
All character definition elements are Level 2.
SAMP
Description
The SAMP element changes the character rendering of the
contents of the element to logically represent a sequence of literal characters.
Minimum Attributes
<SAMP>characters...
</SAMP>
All Possible Attributes
<SAMP
LANG="..."
DIR=ltr|rtl
ID="..."
CLASS="...">characters...
</SAMP>
Elements Allowed Within...
members of group
Allowed In Content Of...
Any element that permits members of the group
Variations
This is usually rendered with a fixed-width font.
The LANG and DIR attributes are introduced with the
internationalization proposal.
All character definition elements are Level 2.
SELECT
Description
The SELECT element defines a menu of a series of selectable
input in a FORM, each identified with the OPTION element.
At least one OPTION element is expected within the SELECT contents.
NAME is the symbolic name of the field
returned to the server on submission.
SIZE determines the number of OPTIONS physically visible
when the browser displays the FORM.
The default selection will be the first OPTION in the SELECT contents.
The MULTIPLE attribute, if present, allows multiple selections, and
causes no OPTION to be the default.
Minimum Attributes
<SELECT NAME="...">characters...
</SELECT>
All Possible Attributes
<SELECT NAME="..."
SIZE=value
MULTIPLE
LANG="..."
DIR=ltr|rtl
ID="..."
CLASS="..."
ALIGN=top|middle|bottom|left|right
DISABLED
ERROR="..."
SRC="..."
MD="..."
WIDTH=value
HEIGHT=value
UNITS=pixels|em>characters...
</SELECT>
Elements Allowed Within...
element
Note that the elements
are expressly prohibited by RFC 1866 from being nested
within the SELECT element content
Allowed In Content Of...
Variations
The ERROR attribute without a value was first introduced
in an early Version 2 proposal but is not in RFC 1866.
The LANG and DIR attributes are introduced with the
internationalization proposal.
Version 3 proposes the ALIGN, DISABLED,
ERROR (with a value), SRC, MD, WIDTH, HEIGHT, and UNITS attributes.
The Version 3 proposed DISABLED attribute would display this menu,
but prohibit user entry/modification.
The Version 3 proposed ERROR attribute defines text to be displayed
in the event that the current selections for this menu are invalid.
Version 3 proposes a SRC attribute to identify a URL for an image
to be displayed instead of the OPTION texts for this menu,
with each OPTION element identifying its "hotspot" on this image.
If SRC is present, the texts would only be used for non-graphical browsers.
All elements concerning FORM are Level 2.
Синтаксис HTTP заголовка для поля Cookie
Когда запрашивается документ с HTTP сервера, броузер проверяет
свои cookie на предмет соответствия домену сервера и прочей информации.
В случае, если найдены удовлетворяющие всем условиям значения
cookie броузер посылает их в серверу в виде пары имя/значение:
Минимальное описание поля Set-Cookie HTTP заголовка:
Set-Cookie: NAME=VALUE;
NAME=VALUE - строка символов, исключая перевод строки,
запятые и пробелы. NAME-имя cookie, VALUE - значение.
expires=DATE - время хранения cookie, т.е. вместо DATE
должна стоять дата в формате Wdy, DD-Mon-YYYY HH:MM:SS GMT, после
которой истекает время хранения cookie. Если этот атрибут не указан,
то cookie хранится в течение одного сеанса, до закрытия броузера.
domain=DOMAIN_NAME - домен, для которого значение cookie
действительно. Например, domain=cit-forum.com. В этом случае значение
cookie будет действительно и для сервера cit-forum.com, и для
www.cit-forum.com. Но не радуйтесь, указания двух последних периодов
доменных имен хватает только для доменов иерархии "COM",
"EDU", "NET", "ORG", "GOV",
"MIL", и "INT". Для доменов иерархии "RU"
придется указывать три периода.
Если этот атрибут опущен, то по умолчанию используется доменное
имя сервера, с которого было выставлено значение cookie.
path=PATH - этот атрибут устанавливает подмножество документов,
для которых действительно значание cookie. Например, указание
path=/win приведет к тому, что значение cookie будет действительно
для множества документов в директории /win/, в директории /wings/
и файлов в текущей директории с именами типа wind.html и windows.shtml
Если этот атрибут не указан, то значение cookie распространяется
только на документы в той же директории, что и документ, в котором
было установлено cookie.
secure - если стоит такой маркер, то информация cookie
пересылается только через HTTPS (HTTP с использованием SSL). Если
этот маркер не указан, то информация пересылается обычным способом.
Спецификация языка HTML
Радик Усманов
Сентябрь 8, 1995 г.
Реферат:
Документ содержит русский перевод черновой версии спецификации
языка гипертекстовой разметки HTML.
Перевод выполнен по заказу корпорации
""
(УНИКОР) для проведения работ по проекту
""
, в рамках программы Госкомвуза
"Национальная академическая система баз данных и баз знаний высшей
школы России".
SSI
.,
SSI расшифровывается как Server Side Include. SSI - это набор команд, позволяющий включить в страницу информацию, недоступную средствами HTML, такую как вывод программ, значения переменных окружения и статистику по файлам (размер, дата создания и др.). Все это и более позволяют делать CGI-скрипты, но зачем писать целый скрипт для получения размера файла, если можно воспользоваться SSI?:)
SSI работает очень просто: при получении запроса на документ, содержащий SSI-директивы, http-сервер обрабатывает документ, выполняет все SSI-директивы, а получившийся в результате документ возвращает клиенту. Http-сервер не проверяет автоматически все документы на наличие SSI-директив, а только те, которые относятся к типу, указанному в настройках сервера.
Для указания http-серверу, какие документы считать содержащими SSI-директивы, в srm.conf, находящемся в /etc/httpd/conf надо раскомментировать следующие строки:
AddType text/html .shtml
AddHandler server-parsed .shtml
После этого все документы с расширением .shtml будут проверяться на SSI-директивы. Но удобнее будет определить чтобы все .html-файлы могли содержать SSI. Это делается добавление в srm.conf
следующих строчек:
AddType text/html .html # не обязательно, т.к. он и так описан.
AddHandler server-parsed .html
Теперь надо разрешить выполнение SSI в каталоге, в котором лежат твои файла. Найди в access.conf
описание каталога, в котором лежат твои html'ы и добавь в его Options директиву Includes:
#было так
Options Indexes
#стало так
Options Indexes Includes
Если твой каталог не прописан, его надо прописать. Почитай доку по , чтоб узнать как это делается.:) А если у тебя нет возможности изменять srm.conf или access.conf, т.е. ты не root, тогда за пивом, а потом к админу.:)
SSI-директивы включаются в html-код в виде коментариев, но определенного формата:
<!--#SSI_директива="параметры" -->
Использовать можно следующие SSI-директивы:
echo var
Используется для вывода значения переменной окружения.
Ты пришел со страницы - http://citforum.ru/internet/html/
include file include virtual
Включает в html-файл в месте, где идет вызов SSI, содержимое указанного файла. Отличие include file от include virtual в том, что в первом случает используется файл, находящийся в том же каталоге, что и html-файл, во втором случает указывается путь к файлу относительно текущего каталога. Если с помощью include file или include virtual включается cgi-скрипт, то в содержимое страницы попадет вывод cgi-скрипта, а не его содержание.
fsize file
Вставляет размер указанного файла.
Размер файла этой страницы:
<!--#fsize file="ssi.shtml"--> <BR>
Вывод:
Размер файла этой страницы: 12K
flastmod file
Вставляет время последней модификации указанного файла.
Время последней модификации файла этой страницы:
<!--#flastmod file="ssi.shtml"--> <BR>
Вывод:
Время последней модификации файла этой страницы: Sunday, 28-Dec-2003 19:15:27 MSK
exec cmd exec cgi
Запускает внешнюю программу (exec cmd) или cgi-скрипт (exec cgi) и вставляет в содержимое страницы вывод.
config errmsg config sizefmt config timefmt
Изменяет различный параметры конфигурации SSI. config errmsg изменяет стандартное собщение об ошибке на введенное пользователем. Сообщение об ошибке возникает при неправильном выполнении SSI-директивы, например при отсутствии cgi-скрипта, который ты пытаешься запустить.
Это стандартная ошибка при запуске скрипта, которого нет: <BR>
<!--#exec cgi="/cgi-bin/nonexistence.pl"--> <BR>
А теперь заменим сообщение об ошибке и повторим: <BR>
Наличие такой команды не может не радовать...:) Применяется для управления выводом страницы по условию. Синтаксис такой:
<!--#if expr="УСЛОВИЕ1" -->
HTML-код, который будет выводиться, если УСЛОВИЕ1 истинно
<--#elif expr="УСЛОВИЕ2" -->
HTML-код, который будет выводиться, если УСЛОВИЕ1 ложно, а УСЛОВИЕ2 истинно
<--#else -->
HTML-код, который будет выводиться, если все условия ложны
<--#endif -->
Условие - это либо строка, которая является истинной, если непустая, или набор операторов сравнения строк. Операторы могут быть =,!=,<,<=,> и >. Если вторая строка заключена в "/"(слэши), то условие истинно, если в первой строке встречается хоть одно вхождение второй строки. Можно объединять несколько операторов сравнения с помощью операторов &&(И) и (ИЛИ). Для группирования условий используются "()"(скобки).
(c), 2000. Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
SSI в примерах
,
Для начала о причинах, побудивших написать меня эту статью: в обсуждениях членов Всероссийского Клуба Вебмастеров не раз возникали споры о том, что лучше применять в случае повторяющейся разметки (информации) на большом количестве страниц - фреймы, JavaScript или SSI (Server Side Includes). Моим глубоким убеждением является то, что фреймы следует использовать только там, где без этого действительно никак не обойтись, JavaScript (да и любые другие клиентские скрипты) слишком капризен и зависит от настроек браузера, поэтому его можно использовать только для дополнительных возможностей, но никак для простроения, допустим, системы навигации. Я не буду с пеной у рта доказывать, что технология SSI круче всех гор и яиц, а просто приведу решения часто встречающихся на практике задач с применением этой технологии.
(Сразу предвижу возмущение со стороны приверженцев технологий ASP и PHP, с использованием которых также возможны решения подобных задач, поэтому специально для них: технология SSI значительно проще, в ней всего десяток операций, поэтому для не программиста это более удачный выбор хотя бы потому, что ее можно быстрее освоить)
Дата последней модификации документа Простая директива:<!--#echo var="LAST_MODIFIED"-->
Сегодняшнее число в нужном формате Если нам нужно вывести дату не в стандартном для данной конфигурации программных средств виде, а в том, какой нам нужен (например, "вторник, 30 мая, 2000"), то можно воспользоваться следующей конструкцией:Получение дня недели
Форматы параметров для config timefmt надо смотреть для каждой конфигурации веб-сервера отдельно. Приведенный пример - FreeBSD, Apache. Более подробно см. man timefmt Подобная конструкция используется на веб-узле интернет-магазина
Дата модификации внешнего файла Часто на компьютерных сайтах выкладывают прайс-лист в формате MS Excel или Word и каждый раз руками прописывают дату его изготовления. С помощью SSI это делается примерно следующим образом: <a href=pricelst.doc>Прайс-лист</a> <!--#config timefmt="%d.%m.%y" --> (MS Word 6.0/95, <!--#flastmod virtual="pricelst.doc" -->)
Такая конструкция используется на веб-узле компании
Борьба с <noframes> Как правило, в этом контейнере пишут "извините, но вам следует обновить браузер", по идее же там должны быть альтернатива для пользователей старых версий браузеров. Поскольку на нормальном сервере информация часто меняется, а вебмастеру же лениво каждый раз вносить правки в двух местах. С помощью SSI проблема решается раз и навсегда: в контейнер <noframes></noframes> вносится директива, вставляющая тот самый файл, в котором делаются правки или попросту линейку навигации.
Борьба с прямыми ссылками на документы на веб-узле с фреймами Одним из аргументов против использования фреймовых структур при создании веб-узлов является неудобство прямых ссылок на содержательные файлы. Например, при ссылке из поисковых машин или на конкретный (не корневой) документ с другого веб-узла пользователь попадает на страницу, лишенную оформления или элементов навигации, которые обычно помещаются в отдельный навигационный фрейм. С помощью нехитрой конструкции SSI эту проблему можно решить. Для этого необходимо проанализировать, откуда пришел пользователь (переменная HTTP_REFERER) Если он пришел не с нашего сервера, а извне - построить фреймовую структуру и в качестве содержательного фрейма подставить документ, запрошенный пользователем.
В примере ниже файл content.html - это тот документ, на который стоит прямая ссылка (допустим, из поисковой машины), frame.html - файл в котором строится фреймовая структура. В QUERY_STRING подставляется значение done для того, чтобы избежать бесконечной вложенности фреймовых структур.
Подобная конструкция используется на веб-узле интернет-магазина
Версия страницы для печати Часто возникает прикладная задача - красивый многоколоночный дизайн с верхней и нижней шапками, туча баннеров, но при печати все это не нужно - лишняя бумага, ненужная информация... Поэтому хочется сделать простой альтернативный вид страницы специально для печати. Чтобы это проделать, достаточно подготовить два варианта верхней и нижней шапок, один --для экранного отображения, другой - для печати. В качестве переключения между этими вариантами используем переменную QUERY_STRING. Ниже приведены принципиальные структуры для самой страницы (file.html) и для верхней и нижней шапок (top.html и bottom.html).
Структура самой страницы (file.html):<!--#include virtual="top.html?$QUERY_STRING" --> здесь тело документа <!--#include virtual="bottom.html?$QUERY_STRING" -->
Структура top.html и bottom.html<!--#if expr="$QUERY_STRING == /for_printing/" --> шапка для печати <!--#else --> шапка для просмотра <!--#endif -->
Ссылка на каждой странице должна быть вида<a href=<!--echo var="$DOCUMENT_URI" -->?for_printing>версия для печати</a>
Подобная конструкция используется на веб-узле
Борьба с пунктами меню Предположим, у нас есть несколько разделов веб-узла, документы, относящиеся к разделам, лежат в разных директориях. Задача - сделать так, чтобы в меню навигации по этим разделам пропадала (или не подсвечивалась, выделялась другим цветом и т.д.) ссылка на тот раздел, в котором находится пользователь в данный момент. Для этого можно использовать переменную DOCUMENT_URI.<!--#if expr="$DOCUMENT_URI!=/^\/index.html/" --> <a href="/">Первая страница</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/about\/index.html/" --> <a href="/about/">О нас</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/done\/index.html/" --> <a href="/done/">Наши работы</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/partner\/index.html/" --> <a href="/partner/">Наши партнеры</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/client\/index.html/" --> <a href="/client/">Наши клиенты</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/price\/index.html/" --> <a href="/price/">Наши цены</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/contacts\/index.html/" --> <a href="/contacts/">Наши координаты</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/history\/index.html/" --> <a href="/history/">Наша история</a><br> <!--#endif --> <!--#if expr="$DOCUMENT_URI!=/\/search.html/" --> <a href="/search.html">Поиск</a><br> <!--#endif -->
Подобная конструкция используется веб-узле компании
Контекстный вывод текста в зависимости от условий Предположим, у нас стоит задача менять внешний вид первой страницы узла в зависимости от того, откуда пришел пользователь. Для реализации этой задачи используется следующая конструкция:<!--#if expr="$HTTP_REFERER=/www.zzz.ru/" --> Здесь совершаются необходимые действия <!--#endif -->
т.е. сравнивается переменная HTTP_REFERER
Борьба с разными версиями дизайна для разных браузеров Всем известно, что браузеры различных производителей и версий по-разному отображают одну и ту же HTML-разметку документа, начиная от специальных тагов и атрибутов и заканчивая поддержкой различных версий JavaScript. Для того, чтобы веб-узел выглядел нормально и для одной версии браузера и для другой или чтобы не сыпались ошибки JavaScript средствами SSI можно сделать проверку версий или браузеров и выдавать различные варианты HTML-разметки. Для этого анализируется переменная HTTP_USER_AGENT, в которой содержится информация о типе и производителе браузера:<!--#if expr="$HTTP_USER_AGENT=/Mozilla\/4/ $HTTP_USER_AGENT=/Mozilla\/5/" --> Если версия браузера не ни же 4 или 5, то вывести вариант дизайна, использующий, например, DHTML <!--#else --> Здесь вывести простой дизайн <!--#endif -->
Подобная конструкция использовалась для построения фреймовой структуры и выводе внутреннего меню (для Netscape - на DHTML, для MSIE - на ActiveX) на веб-узле
Борьба с оформлением результатов работы скриптов Самая большая проблема со скриптами заключается в том, что если есть большое количество наработанного ПО - при смене дизайна требуется их перенастройка. Хорошо, если ПО сделано правильно и изменение шаблонов отображения не касается самой математики, однако и в таких случаях существуют проблемы. Например, на странице поиска было бы неплохо крутить баннеры и рекламных сетей, но директивы SSI не отрабатываются в файлах .cgi. Решить подобные проблемы можно использованием SSI следующим образом: не скриптом обрабатывать шаблоны отображения, а вызывать скрипт из HTML-документа через SSI (к сожалению, таким образом можно работать только с теми скриптами, которые используют метод GET - переменная CONTENT_LENGTH не доступна в SSI) Итак, как это делается Есть HTML-документ, который размечен в общем стиле дизайна. В него вставляется директива<!--#include virtual="/cgi-bin/script.cgi?$QUERY_STRING" -->
На первом шаге, пока QUERY_STRING пуста - вызывается первый шаг скрипта, на последующих шагах работы скрипта - передаются необходимые параметры. В самом скрипте важны три строчки:... # определение адреса, куда направлять данные $query = $ENV{QUERY_STRING}; # определение места, из которого был вызван скрипт $uri = $ENV{DOCUMENT_URI}; ... # отправка данных в тот же HTML-документ, из которого был вызван скрипт print "<form action=$uri method=get>\n"; ...
Подобная конструкция использована в разделе для интернет-супермаркета Levingston.Ru
Что можно сделать, используя Cookie и SSI Часто встречается конструкция на JavaScript, которая выводит "Здравствуйте, Иван Иваныч!" при заходе на страницу веб-узла. То же самое можно проделать с помощью SSI директивой<!--#echo var="HTTP_COOKIE" -->
Баннеры, кэширование и SSI Прислал (NewTech) Как известно, баннерные системы предлагают включать в код некоторую случайную величину в URL скрипта показа - защита от кеширования.
Можно генерировать всю страницу скриптом, от первого до последнего символа Можно сделать как советуют страницы помощи баннерных систем - включить by SSI скрипт, генерящий случайный баннер Динамически записать часть документа с кодом банера JavaScrip-ом
То есть как случайная величина выступит количество секунд от 1970 года. Не тратится время и память на запуск скрипта-генератора, Java-Script (как среди некоторых пользователей сейчас это модно) может быть выключен. На мой взгляд вполне радужно :-) Все это проверено и применяется нашим администратором на
Один шаблон отображения - разное содержание Прислал (KADIS) Часто шаблоны используют таким образом: есть только один файл, который описывает структуру страницы, а основное содержание включается директивой <!--#include virtual="$QUERY_STRING.html"-->ссылки, соответственно, будут иметь вид: href="www.your_domain.ru/index.html?page1" href="www.your_domain.ru/index.html?page2" ...Проблема возникает, если пользователь набирает адрес непосредственно http://www.your_domain.ru, т.е. QUERY_STRING=""
The TABLE element is part of a comprehensive new proposed standard
tables structure. It is partially implemented in some browsers.
The proposal has undergone numerous changes.
Some broswers implemented features in early versions of the proposal
which did not survive in the final proposal.
Consistent with the nature of HTML, the proposal defines the logical contents
of cells and their row/column location, rather than a physical layout
which is left as a function of the browser.
Details of the appearence of the table,
along with the size of margins around cells, even perhaps ruling and shading,
might be controlled by associated style sheets, proposed in Version 3.
The current proposal expects text to flow around a table, if possible.
It suggests using the BR element with a CLEAR attribute after
the table element if the author wishes to avoid text flowing along side
the table. Although the CLEAR attribute is not currently a standardized
part of HTML, the tables proposal does not include text
to standardize the attribute's existence.
The ALIGN attribute specifies the table position relative to the window.
The WIDTH attribute specifies the entire table width, and defaults
to 100%.
The default units is pixels, but may be specified by a suffix on the number.
The standard defined units suffixes include:
pt=points,
pi=picas,
in=inches,
cm=centimeters,
mm=millimeters,
em=em units,
px=screen pixels.
In addition the suffix of a percentsign may be used to specify the
percentage width of the space between the current left and right margins.
The COLS attribute specifies the total number of columns in the table and
aids the browser in determining the initial display and layout of the table.
The BORDER attribute controls frame width around the table and FRAME defines
which parts of the frame to include.
For BORDER, the default units is pixels,
but may be specified by one of the standard defined units suffixes.
BORDER=0 implies FRAME=none, and BORDER without a value implies FRAME=border.
The RULES attribute defines the presence or absence of rulings
between all rows and columns in this table.
The CELLSPACING attribute defines spacing between cells and CELLPADDING
defines spacing within cells.
The TABLE element has been partially implemented in Netscape 1.1 and
MS Internet Explorer 2.0.
The COL, COLGROUP, THEAD, and TFOOT elements are new and not yet implemented.
The FRAME and RULES attributes are new and not yet implemented.
The values justify|bleedleft|bleedright for the ALIGN attribute
are Netscape 1.1 extensions.
The attribute COLSPEC was from an earlier version of the proposal
and is replaced by the COL and COLGROUP elements.
The attribute DP is from an earlier version of the proposal and
was used with a value of decimal on the ALIGN attribute.
It has been replaced with the CHAR and CHAROFF attributes
used when ALIGN=char which are
defined for all table grouping elements except TABLE.
The attributes CLEAR, NOFLOW, UNITS, and NOWRAP are Netscape 1.1 extensions.
Netscape 1.1 defines WIDTH as having a value of either a number of pixels
or a number followed by a percentsign to define a desired width of the table
which may be overridden by the browser.
It defines percentsign to specify the percentage of the entire window,
instead of the current margins.
Таблица цветов
Color's name
Red
Green
Blue
Color
alicemblue
F0
F8
FF
sample
antiquewhite
FA
EB
D7
sample
aqua
00
FF
FF
sample
aquamarine
7F
FF
D4
sample
azure
F0
FF
FF
sample
beige
F5
F5
DC
sample
bisque
FF
E4
C4
sample
black
00
00
00
sample
blanchedalmond
FF
EB
CD
sample
blue
00
00
FF
sample
blueviolet
8A
2B
E2
sample
brown
A5
2A
2A
sample
burlywood
DE
B8
87
sample
cadetblue
5F
9E
A0
sample
chartreuse
7F
FF
00
sample
chocolate
D2
69
1E
sample
coral
FF
7F
50
sample
cornflowerblue
64
95
ED
sample
cornsilk
FF
F8
DC
sample
crimson
DC
14
3C
sample
cyan
00
FF
FF
sample
darkblue
00
00
8B
sample
darkcyan
00
8B
8B
sample
darkgoldenrod
B8
86
0B
sample
darkgray
A9
A9
A9
sample
darkgreen
00
64
00
sample
darkkhaki
BD
B7
6B
sample
darkmagenta
8B
00
8b
sample
darkolivegreen
55
6B
2F
sample
darkorange
FF
8C
00
sample
darkochid
99
32
CC
sample
darkred
8B
00
00
sample
darksalmon
E9
96
7A
sample
darkseagreen
8F
BC
8F
sample
darkslateblue
48
3D
8B
sample
darkslategray
2F
4F
4F
sample
darkturquoise
00
CE
D1
sample
darkviolet
94
00
D3
sample
deeppink
FF
14
93
sample
deepskyblue
00
BF
FF
sample
dimgray
69
69
69
sample
dodgerblue
1E
90
FF
sample
firebrick
B2
22
22
sample
floralwhite
FF
FA
F0
sample
forestgreen
22
8B
22
sample
fushsia
FF
00
FF
sample
gainsboro
DC
DC
DC
sample
ghostwhite
F8
F8
FF
sample
gold
FF
D7
00
sample
goldenrod
DA
A5
20
sample
gray
80
80
80
sample
green
00
80
00
sample
greenyellow
AD
FF
2F
sample
honeydew
F0
FF
F0
sample
hotpink
FF
69
B4
sample
indiandred
CD
5C
5C
sample
indigo
4B
00
82
sample
ivory
FF
FF
F0
sample
khaki
F0
E6
8C
sample
lavender
E6
E6
FA
sample
lavenderblush
FF
F0
F5
sample
lawngreen
7C
FC
00
sample
lemonchiffon
FF
FA
CD
sample
ligtblue
AD
D8
E6
sample
lightcoral
F0
80
80
sample
lightcyan
E0
FF
FF
sample
lightgoldenrodyellow
FA
FA
D2
sample
lightgreen
90
EE
90
sample
lightgrey
D3
D3
D3
sample
lightpink
FF
B6
C1
sample
lightsalmon
FF
A0
7A
sample
lightseagreen
20
B2
AA
sample
lightscyblue
87
CE
FA
sample
lightslategray
77
88
99
sample
lightsteelblue
B0
C4
DE
sample
lightyellow
FF
FF
E0
sample
lime
00
FF
00
sample
limegreen
32
CD
32
sample
linen
FA
F0
E6
sample
magenta
FF
00
FF
sample
maroon
80
00
00
sample
mediumaquamarine
66
CD
AA
sample
mediumblue
00
00
CD
sample
mediumorchid
BA
55
D3
sample
mediumpurple
93
70
DB
sample
mediumseagreen
3C
B3
71
sample
mediumslateblue
7B
68
EE
sample
mediumspringgreen
00
FA
9A
sample
mediumturquoise
48
D1
CC
sample
medium violetred
C7
< td> 15
85
sample
midnightblue
19
19
70
sample
mintcream
F5
FF
FA
sample
mistyrose
FF
E4
E1
sample
moccasin
FF
E4
B5
sample
navajowhite
FF
DE
AD
sample
navy
00
00
80
sample
oldlace
FD
F5
E6
sample
olive
80
80
00
sample
olivedrab
6B
8E
23
sample
orange
FF
A5
00
sample
orengered
FF
45
00
sample
orchid
DA
70
D6
sample
palegoldenrod
EE
E8
AA
sample
palegreen
98
FB
98
sample
paleturquose
AF
EE
EE
sample
palevioletred
DB
70
93
sample
papayawhop
FF
EF
D5
sample
peachpuff
FF
DA
B9
sample
peru
CD
85
3F
sample
pink
FF
C0
CB
sample
plum
DD
A0
DD
sample
powderblue
B0
E0
E6
sample
purple
80
00
80
sample
red
FF
00
00
sample
rosybrown
BC
8F
8F
sample
royalblue
41
69
E1
sample
saddlebrown
8B
45
13
sample
salmon
FA
80
72
sample
sandybrown
F4
A4
60
sample
seagreen
2E
8B
57
sample
seashell
FF
F5
EE
sample
sienna
A0
52
2D
sample
silver
C0
C0
C0
sample
skyblue
87
CE
EB
sample
slateblue
6A
5A
CD
sample
slategray
70
80
80
sample
snow
FF
FA
FA
sample
springgreen
00
FF
7F
sample
steelblue
46
82
B4
sample
tan
D2
B4
8C
sample
teal
00
80
80
sample
thistle
D8
BF
D8
sample
tomato
FF
63
47
sample
turquose
40
E0
D0
sample
violet
EE
82
EE
sample
wheat
F5
DE
B3
sample
white
FF
FF
FF
sample
whitesmoke
F5
F5
F5
sample
yellow
FF
FF
00
sample
yellowgreen
9A
CD
32
sample
Таблицы в примерах
Перевод Центр Информационных Технологий, НГТУ
Этот документ содержит примеры таблиц. Он охватывает большинство новых тэгов в таблицах. Впрочем он не обязательно показывает некоторые действительно творческие возможности, доступные в таблицах.
Язык разметки гипертекста (HyperText Markup Language - HTML) можно
использовать для представления:
гипертекстовых новостей, почты, сопровождающей информации и сопутствующей гиперсреды,
меню с опциями
результатов запросов к базам данных
простых структурированных документов со встроенной графикой
гипертекстовых обзоров имеющейся информации
Программа World Wide Web (W3) инициирует каналы передачи связной
информации по всему земному шару. Язык HTML предоставляет простой
формат для предоставления этой информации. Требуется, чтобы все
программы, совместимые с W3, могли поддерживать язык HTML. Программа
W3 использует протокол Internet (протокол передачи гипертекста -
HTTP), который позволяет передавать кодированную информацию между
клиентом и сервером, при этом результат возвращается через
расширенное MIME сообщение. Поэтому язык HTML является лишь одним, но
довольно важным, из описаний, используемых в программе W3.
Описание языка HTML ссылается на спецификацию URL в документах
RFC.
Реализацию анализаторов и генераторов языка HTML можно найти на
различных W3 серверах, в программах просмотра, среди общедоступного
исходного кода программы W3. Они также могут быть созданы с
использованием различных общедоступных анализаторов SGML, таких, как
[SGMLS]. HTML относится к документам типа SGML с очень обобщенной
семантикой, пригодной для кодирования информации, получаемой от
большого набора прикладных программ. Этот язык является более общим,
чем многие другие специфические реализации языка SGML, и вместе с тем
он полностью сохраняет независимость от конкретных устройств.
Терминология
Данная спецификация языка использует нижеприведенные слова в
заранее определенном значении.
Representation -
описание, представление, отображение информации.
Кодирование информации для ее передачи. Например, язык
HTML является представлением гипертекста в закодированном
виде.
Rendering -
обработка. Форма предоставления информации человеку.
Степень долженствования
"может быть" (may)
Реализация языка не обязана во всех случаях
следовать данному указанию
"должно" (must, shall)
Если данное указание не соблюдается, то
реализация не удовлетворяет данной спецификации.
"следовало бы" (should)
Если данное указание не выполняется, то хотя
данная реализация считается удовлетворяющей стандарту, однако на практике могут возникнуть нежелательные последствия.
"обычно" (typical)
Для многих элементов дано описание механизма
обычной обработки. Он не является обязательной частью стандарта, однако приведен в качестве описания для разработчиков и для того, чтобы помочь пользователям уяснить, для чего
предназначены те или иные элементы языка.
Замечания
Параграфы, этого документа, отмеченные как замечания, не являются
обязательной частью спецификации HTML, а всего лишь пояснением к нему.
Классификация элементов в реализации языка HTML
основные
Все программы-анализаторы должны распознавать указанные
элементы. Все элементы являются главными, если не указано обратное.
дополнительные
стандартные элементы языка HTML, которые могут без
опасности игнорироваться анализаторами. Правильное действие - игнорировать дополнительные элементы, а содержимое документа обрабатывать так, как если бы в нем не было этих меток (например, это может быть EM или любые неопределенные элементы).
устаревшие
Элементы, не являющиеся стандартом языка HTML.
Анализаторам следует по возможности поддерживать данные элементы с тем, чтобы сохранить совместимость с предыдущими версиями данной спецификации.
.
HTML и MIME
Подтип языка HTML определяется как:
имя типа в стандарте MIME
текст.
имя подтипа
html.
обязательные параметры
отсутствуют.
необязательные параметры
набор символов.
Наборы символов
Базовый набор символов (SGML BASESET) для языка HTML - это ISO
Latin-1. На данный набор могут ссылаться любые обращения к символам.
Набор символов, реальный используемый при кодировке HTML документа,
может быть ISO Latin 1, или же его 7-битная часть, являющаяся набором
ASCII-кодов. HTML документу нет нужды включать какие-либо символы,
чей десятичный код превышает 127. Возможно, что такой механизм
пересылки, как электронная почта, наложит ограничения на количество
битов в байтах кодировки документа, хотя протокол HTTP, используемый
в программе W3, всегда позволяет передавать 8-битные данные.
Если документ HTML кодируется с использованием 7-битных символов,
то для кодировки символов из верхней половины набора ISO Latin-1
могут использоваться механизмы обращений по числовому значению и
обращения к объектам. Таким образом, могут быть приготовлены
документы, пригодные к пересылке по системам с 7-битными
ограничениями.
Введение
Язык разметки гипертекста (HyperText Makeup Language - HTML)
формулируется в терминах языка стандартной обобщенной разметки
(Standard Generalized Markup Language - SGML) []. Язык SGML
представляет собой метод создания структурированных документов, а
также языков для их разметки.
В языке SGML каждый документ имеет три части:
Декларации языка SGML, привязывающие к определенным значениям
параметры обработки, а также имена синтаксиса. Например,
декларация SGML в описании типа документа HTML объявляет, что
строка, с которой начинается метка, - это </ , а максимальная
длина имени составляет 40 символов.
Пролог, состоящий из одной или нескольких деклараций о типе
документа. Они определяют типы элементов, взаимосвязи между
элементами и их атрибуты, а также условные обозначения, которые
могут быть задействованы при разметке. Декларация HTML DTD,
например, указывает, что элемент HEAD содержит по крайней мере
один элемент TITLE.
Данные, которые состоят из разметки документа и собственно
информации.
Мы используем термин HTML для обозначения как типа документа, так
и языка разметки для кодировки документов данного типа.
Все документы типа HTML придерживаются единых деклараций языка
SGML и пролога. Следовательно, реализации программы WorldWide Web в
общем случае лишь передают и сохраняют ту часть документа HTML,
которая содержит данные. Чтобы создать для обработки на анализаторе
SGML объект с документом, необходимо поставить текст HTML DTD перед
имеющимися данными.
И наоборот, для реализации анализатора языка HTML необходимо лишь
воссоздать те части анализатора SGML, которые необходимы для разбора
данных, появляющихся вслед за разбором деклараций HTML DTD.
Структурированный текст
Данные в формате HTML похожи на текстовой файл, за исключением
того, что некоторые из символов интерпретируются как разметка.
Разметка придает документу некую структуру.
Данные представляют собой иерархию элементов. Каждый элемент имеет
имя, атрибуты и несет некую информацию. Большинство элементов
представлены в документе в виде начальной метки, указывающей имя и
атрибуты. Далее следует собственно содержание элемента. И наконец,
заканчивает все это конечная метка. Например,
<HTML>
<TITLE>
Простой блок данных
</TITLE>
<H1>
Пример структуры
</H1>
Обычный параграф
<P>
<UL>
<LI>Первая запись, включающая
<A NAME="URI">
текст
</A>
<LI>Вторая запись
</UL>
</HTML>
Некоторые элементы языка (такие как P, LI) являются пустыми. Они
не имеют поля данных, и ограничиваются лишь начальной меткой.
В остальных элементах поле данных представляет собой набор
символов и вложенных элементов. Заметим, что описание HTML DTD
фактически накладывает некие ограничения на количество допустимых
вложений - большинство элементов не могут быть вложены в другие
элементы. Ни один из элементов не может быть вложенным сам в себя
рекурсивным образом. Анкеры и выделенные символы могут быть помещены
в другие конструкции.
Метки
Каждый элемент начинается с метки, меткой же и заканчивается
каждый непустой элемент. Начальные метки выделяются символами < и >,
а конечные - символами </ и >.
Имена
Имя элемента следует в метке сразу за символом открытия <. Имя
начинается с буквы, за которой могут следовать еще 33 буквы, цифры,
пробела или дефиса. В именах игнорируется разница между прописными и
строчными буквами.
Атрибуты
Начальная метка позволяет вставить между именем и символом >
пробелы и атрибуты. Атрибут состоит из имени, символа равенства и
значения. Слева и справа от символа равенства можно оставлять
пробелы.
Значение атрибута указывается в виде строки, заключенной в
одинарные или двойные кавычки.
Чтобы определить значение атрибута, осуществляется анализ данной
строки в формате RCDATA (см. ниже). Например, такой подход позволяет
представлять символы кавычек в значении атрибута как обращения к
символам по числовому значению. Длина строки со значением атрибута
после такого анализа не должна превышать 1024 символов.
Типы элементов
Имя метки соотносится с типом элемента, объявленным в декларации
HTML DTD. Объявление типа элемента ассоциирует его имя со
списком атрибутов, их типом и статусом
типом данных (EMPTY, CDATA, RCDATA, ELEMENT или MIXED),
определяющим синтаксис элемента
моделью данных, задающей шаблон для вложенных элементов и данных
Пустые элементы
Пустые элементы имеют в своей декларации ключевое слово EMPTY.
Например:
<!ELEMENT HR - 0 EMPTY>
Это означает, что
<HR>
- допустимо
<HR>текст</HR> -
недопустимо
Текст
Ключевое слово CDATA указывает на то, что элемент содержит текст.
Текстом считается любая информация, расположенная до метки
завершения. Например, декларация
<!ELEMENT XMP - - CDATA>
определяет, что нижеприведенный текст является приемлемым XMP
элементом.
<xmp>Here's an example. It looks
Это пример. Хотя и
like it has <tags> and
кажется, что он содержит
<!--comments--> in it, but
метки и комментарии, это
it does not. Even this
не так. Текстом является
</ is data.</xmp>
даже </ .
Встреченная в тексте комбинация </ идентифицируется как начальный
ограничитель завершающей метки только тогда, когда за ней следует
буква. Но как только начальный ограничитель завершающей метки
опознан, текст элемента CDATA завершается. Следующий пример содержит
ошибку:
<xmp>There is no way to represent </end> tags in CDATA </xmp>.
Заменяемый текст
Элементы, содержащие данные типа RCDATA, очень похожи на элементы
с данными CDATA. Отличие состоит в том, что содержащийся в них текст
может содержать обращения к объектам и обращения к символам по их
числовому значению. Элементы, объявленные как
<!ELEMENT TITLE - - RCDATA>
могут содержать любой набор символов в своем тексте.
Обращения к символам по числовому значению
Если пользователь хочет использовать в своих документах какой-либо
символ, уже зарезервированный в качестве элемента разметки, то ему
следует воспользоваться обращением к нужному символу. Строка &#, за
которой следует буква или цифра, указывает на применение условного
обозначения вместо символа. За ограничителем следуют цифры
десятичного числа и точка с запятой. Например,
<title>You can even represent </end> tags in RCDATA </title>
Обращения к объектам
В декларациях HTML DTD объявлены объекты для символов "менее,
чем", "больше, чем" и "амперсанд", а также для каждого символа из
набора ISO Latin 1. Так что Вам предоставляется возможность
обращаться к символам не только по номеру, но и по имени.
Если за строкой & следует буква или цифра, то это обозначает
обращение к объекту. За разграничителем должны следовать имя объекта
и точка с запятой. Например,
Kurt Gödel was a famous logician and mathematician.
Замечание. Убедитесь, что строки документа не содержит никаких
неучтенных символов разметки. При написании документов на
языке HTML следует замещать все встречающиеся символы <,> и
& на обращения к символам по числовому значению или
обращения к объектам.
Модели данных в элементе
В некоторых элементах указывается ключевое слово, определяющее не
тип, а модель данных. Это означает допустимость применения не только
данных, но и вложенных элементов. Если модель данных в элементе не
включает символа #PCDATA, то информация в поле данных относится к
рассматриваемому элементу. Пробелы в поле данных такого элемента
рассматриваются как разметка и игнорируются. Символы, не являющиеся
разметкой, и следовательно, относящиеся к данными, недопустимы.
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Подарки и Аксесcуары. Все про на сайте flowersstreet.ru. Цветы.
VAR
Description
The VAR element changes the character rendering of the
contents of the element to logically represent a variable name.
Minimum Attributes
<VAR>characters...
</VAR>
All Possible Attributes
<VAR
LANG="..."
DIR=ltr|rtl
ID="..."
CLASS="...">characters...
</VAR>
Elements Allowed Within...
members of the group
Allowed In Content Of...
Any element that permits members of the group
Variations
This is usually rendered in italics.
The LANG and DIR attributes are introduced with the