Конечныйначальный тэги


Содержание

В чем разница между тегами HTML и элементами?

Я замечаю, что большинство людей используют слова HTML-теги и HTML-элементы взаимозаменяемо.

Но в чем разница между ними?

Как я вижу, теги находятся в исходном коде, а элементы обрабатываются тегами (браузером) в DOM. Я не прав?

HTML-тег — это просто открытие или закрытие объекта. Например:

называются тегами HTML

HTML-элемент включает открытый тег, закрывающий тег, содержимое (необязательно для тегов без содержания) Например:

This is the content

: эта полная вещь называется элементом HTML

HTML-теги против элементов и атрибутов

Элементы HTML

Элемент в HTML представляет собой некоторую структуру или семантику и обычно состоит из начального тега, содержимого и конечного тега. Ниже представлен элемент абзаца:

HTML-теги

Теги используются для обозначения начала и конца HTML-элемента.

атрибуты HTML

Атрибут определяет свойство для элемента, состоит из пары атрибут/значение и появляется в начале тега элементов. Начальный тег элементов может содержать любое количество разделенных пробелом пар атрибут/значение.

Самое популярное злоупотребление термина «тег» относится к атрибутам alt как «alt tags». В HTML нет такой вещи. Alt — это атрибут, а не тег.

Элементы HTML

HTML-элемент обычно состоит из начального тега и конечного тега с содержимым, вставленным между:

HTML элемент все от начального тега до конечного тега. Источник

Атрибуты HTML

Атрибут используется для определения характеристик элемента HTML и помещается внутри тега открытия элемента. Все атрибуты состоят из двух частей: имени и значения.

  • Все элементы HTML могут иметь атрибуты
  • Атрибуты предоставляют дополнительную информацию об элементе
  • Атрибуты всегда указываются в начальном теге
  • Атрибуты обычно входят в пары имя/значение, например: name = «value»Source

HTML-тег против элемента

«Элементы» и «теги» — это термины, которые широко путаются. HTML-документы содержат теги, но не содержат элементов. Элементы генерируются только после шага синтаксического анализа, из этих тегов. Источник: wikipedia> HTML_element

Элемент HTML определяется стартовым тегом. Если элемент содержит другое содержимое, он заканчивается закрывающим тегом.

является начальным тегом абзаца, а

закрывает тег того же абзаца, но

This is paragraph

является элементом абзаца.

Источник: tutorialspoint> html_elements

Столкнутый конечный тег «таблица» без соответствующего начального тега. Правильно ли сбалансированы ваши начальные и конечные теги?

Недавно я начал изучать MVC3. Я разработал веб-приложение, я не могу использовать тег формы движком Razor, посмотрите на код ниже

Когда я запускаю это приложение, я получаю сообщение об ошибке «Ошибка сервера» в приложении «/». Parser Error «Описание: Произошла ошибка во время разбора ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь со следующими подробными данными об ошибке синтаксического анализа и соответствующим образом измените исходный файл.

Сообщение об ошибке Parser: Encounted end tag «table» без соответствующего начального тега. Правильно ли сбалансированы ваши начальные и конечные теги? «

Служебные теги страницы: элемент HTML, МЕТА и Body.

Вопрос 25.Элемент перехода к новой строке BR. Запрет переноса на след. строку.

Тег
не вводит пустую строку после отделяемого им текста. После этого текст

Продолжает отображаться с начала след. строки. Тег является непарным. Если браузеру не следует переносить текст на другую строку, его окружают тегами . Теги запрета переноса блокируют автоматический перенос строк. Они полезны, когда нужно, чтобы информация отображалась на одной строке.

Вопрос 26.Управление выравниванием текста. С помощью ключевого слова ALIGN, используемого в сочетании со словом WIDTH, задается выравнивание горизонтальной линии. Существуют три вида выравнивания: по левому краю, по центру (задается по умолчанию), по правому краю.

Вопрос 27.Горизонтальная разделительная линия HR. С помощью ключевого слова (атрибут)SIZE(высота) тега задается толщина горизонтальной линии в пикселях. Толщина по умолчанию составляет 2 пикселя. Предел толщины от 1 до 175 пиксел. Чтобы толстые линии отображались сплошными нужно вместе со словом SIZE использовать оппозицию NOSHADE. Width -устанавливает ширину линии в пикселах или процентах.

Color -задает линии определенный цвет. Для того, чтобы браузер отображал текст без использования тегов форматирования, нужно заключить текст между тегами .

Служебные теги страницы: элемент HTML, МЕТА и Body.

Документ HTML состоит из основного текста документа и тегов разметки, которые являются наборами обычных символов и определяют границы действия элементов. Документ HTML – это обычный текстовый файл. Для его создания можно использовать Блокнот.

Все документы HTML имеют строго заданную структуру, формируемую элементами языка HTML. Рассмотрим эти элементы.

Элемент HTML — HTML-документ
Форма записи Весь HTML-документ
Между его начальным и конечным тегами должна находиться вся веб-страница. Конечным тегом заканчиваются все гипертекстовые документы. Конечный тег не должен содержать атрибутов. Документ HTML состоит из раздела заголовков и тела документа, идущих именно в таком порядке. Они определяются элементами HEADи BODYсоответственно.

Элемент HEAD — Область заголовка
Форма записи Теги содержащие информацию о документе
Область заголовка веб-страницы. Заключает в себя теги, содержащие невидимую информацию о документе. Также как и HTML, HEAD служит только для формирования общей структуры документа. Этот элемент допускает вложение элементов TITLE, ISINDEX, BASE, META, LINK, NEXTID, STYLE.

Элемент TITLE — Название HTML-документа
Форма записи Название документа Теги содержащие информацию о документе Элемент для размещения заголовка веб-страницы. Строка текста, расположенная внутри, отображается не в документе, а в заголовке окна броузера. . Элемент TITLE определяющий заголовок документа, считается обязательным, так как броузер не может самостоятельно определить заголовок документа.

Элемент META — Дополнительная информация
Форма записи Этот элемент содержит служебную информацию и инструкции для броузера, которые не отображаются при просмотре веб-страниц. Кроме этого, элемент META может содержать URL.

Элемент BODY — Тело документа
Форма записи Гипертекст всего HTML-документа

IT Notes

суббота, 28 августа 2010 г.

Структура XML-документа

XML-документ состоит из деклараций, элементов, комментариев, специальных символов и директив.

1. Элементы и атрибуты

XML — это теговый язык разметки документов. Иными словами, любой документ на языке XML представляет собой набор элементов, причем начало и конец каждого элемента обозначается специальными пометками, называемыми тегами. То есть, как и HTML, язык XML для описания данных использует тэги. Но, в отличие от HTML, XML позволяет использовать неограниченный набор пар тэгов, каждая из которых представляет не то, как заключенные в нее данные должны выглядеть, а то, что они означают.

Элемент состоит из трех частей: начального тега, содержимого и конечного тега. Тег — это текст, заключенный в угловые скобки » «. Конечный тег имеет то же имя, что начальный тег, но начинается с косой черты «/». Пример XML-элемента:

Имена элементов зависят от регистра, т. е. , и — это имена различных элементов. Наличие закрывающего тега всегда обязательно. Если тег является пустым, т. е. не имеет содержимого и закрывающего тега, то он имеет специальную форму:

Любой элемент может иметь атрибуты, содержащие дополнительную информацию об элементе. Атрибуты всегда включаются в начальный тег элемента и имеют вид:

Аттрибут обязан иметь значение, которое всегда должно быть заключено в одинарные или двойные кавычки. Имена атрибутов также зависят от регистра. Пример элемента, имеющего атрибут:

Элементы должны либо следовать друг за другом, либо быть вложены один в другой:

Конечный/начальный тэги

Как и в версии 2.0, PHP/FI также поддерживается этот вариант:

Пример C-2. Миграция: первый вариант новых start/end тэгов

Обратите внимание, что конечный тэг состоит теперь из знака вопроса и символа > вместо одного символа >. Однако, если вы планируете использовать XML на вашем сервере, у вас появятся проблемы с первым новым вариантом, поскольку PHP может попытаться выполнить XML-разметку в XML-документах как PHP-код. Из-за этого был введён второй вариант:

Пример C-3. Миграция: второй вариант новых start/end тэгов

У многих были проблемы с редакторами, которые вообще не понимали тэги инструкций процессинга. Microsoft FrontPage — один из таких, поэтому был введён также такой вариант:

Основы языка WEB программирования HTML

Все пользуются Интернетом и все просматривают различные сайты, и, наверное, всем хотелось бы разместить свой сайт в Интернете, но это не просто так сделать, на это существует много причин. Однако для того чтобы Вы смогли разместить качественный сайт, Вам просто необходимо знать основу «WEB-программирования», которой и является язык HTML. В данной статье мы рассмотрим основные элементы, теги, атрибуты, даже напишем первую web страницу.

Hyper Text Markup Language — «HTML» (язык разметки гипертекста) многие уже давно перестали его считать просто языком программирования. Так как само понятие HTML включает в себя различные методы оформления гипертекстовых документов, дизайн, гипертекстовые редакторы, браузеры и много всего другого. Пользователь, освоивший этот язык, приобретает возможность делать серьезные вещи простыми методами и, главное, быстро, что в современном мире считается очень хорошо!

На языке HTML можно создавать собственные мультимедийные продукты и распространять их на cd-дисках, и все эти продукты, выполненные в виде наборов HTML-страниц, не требуют разработки специализированных программных средств, так как все необходимое для работы с данными (Web-браузеры) стали частью стандартного программного обеспечения большинства персональных компьютеров.

Для того чтобы Вам было легче дальше понимать, о чем я с Вами говорю, давайте рассмотрим основные термины, которые употребляются в HTML:

  • Элемент (element) — конструкция языка HTML. Это объект, содержащий данные и позволяющий отформатировать их определенным образом. Любая Web-страница представляет собой набор элементов. Одна из основных идей гипертекста — возможность вложения элементов.
  • Тег (tag) — начальный или конечный маркеры элемента. Теги определяют границы действия элементов и отделяют элементы друг от друга. В тексте Web-страницы теги заключаются в угловые скобки, а конечный тег всегда снабжается косой чертой.
  • Атрибут (attribute) — параметр или свойство элемента. Другими словами это переменная, которая имеет стандартное имя и которой может присваиваться определенный набор значений: стандартных или произвольных. Предполагается, что символьные значения атрибутов заключаются в прямые кавычки, но некоторые браузеры позволяют не использовать кавычки. Это объясняется тем, что тип атрибута всегда известен заранее. Атрибуты располагаются внутри начального тега и отделяются друг от друга пробелами.
  • Гиперссылка — часть текста, которая является указателем на другой файл или объект. Гиперссылки необходимы для того, чтобы обеспечить возможность перехода от одного документа к другому.
  • Фрейм (frame) — этот термин имеет два значения. Первое — область документа со своими полосами прокрутки. Второе значение — одно изображение в сложном (анимационном) графическом файле (похожее на кадр из кинофильма). Также возможно вместо термина «фрейм» в специальной литературе и локализованных программных продуктах можно встретить термин «кадр» или «рамка».
  • HTML-файл или HTML-страница — документ, созданный в виде гипертекста на основе языка HTML. Такие файлы имеют расширения htm или html.
  • Апплет (applet) — программа, передаваемая на компьютер клиента в виде отдельного файла и запускаемая при просмотре Web-страницы.
  • Скрипт или сценарий (script) — программа, включенная в состав Web-страницы для расширения ее возможностей.
  • Расширение (extension) — элемент, не входящий в спецификацию языка, но использующийся, обеспечивая возможность создания нового интересного эффекта форматирования.
  • CGI (Common Gateway Interface) — общее название для программ, которые, работая на сервере, позволяют расширить возможности Web-страниц. Например, без таких программ невозможно создание интерактивных страниц.
  • Код HTML — гипертекстовый документ в своем первоначальном виде, когда видны все элементы и атрибуты.
  • Web-страница — документ (файл), подготовленный в формате гипертекста и размещенный в World W >Все элементы языка можно условно разделить на три группы. К первой относятся элементы, которые создают структуру гипертекстового документа. Использование таких элементов — необходимая формальность, которой нельзя пренебрегать. Ко второй группе можно отнести элементы, создающие эффекты форматирования. Их использование диктуется конкретными требованиями к документу, фантазией и компетенцией разработчика, К третьей группе относятся элементы, которые позволяют управлять программными средствами, установленными и работающими на компьютере-клиенте. Часто такие элементы создаются автоматически, когда разработчик использует для вставки некоторого объекта в документ гипертекстовый редактор или подобную программу.

Несмотря на то, что спецификация HTML является стандартом, этот язык дополняется новыми элементами (расширениями). Поэтому некоторые Web-страницы удобнее просматривать при помощи определенных браузеров. Расширения создаются только известными фирмами, которые разрабатывают программное обеспечение для WWW, а рядовые пользователи могут совершенствовать свои Web-страницы при помощи программирования. Аплеты позволяют снять ограничения HTML и дают простор фантазии разработчика.

Версии HTML

Первая версия языка HTML была разработана в начале 90-х годов Тимом БенерсЛи для одного из распространенных в прошлом браузера Mosaic. Но тогда ни для браузера, ни для самого HTML еще не нашлось хорошего применения. В 1993 году появился HTML+, и эта версия также осталась практически незамеченной. Но распространение язык HTML получил благодаря версии 2.0, которая появилась в июне 1994 года. И с того момента происходят возрастание популярности WWW по всему миру. Стандарты, включенные в версию 2, настолько прижились что используются и по сей день.

HTML версия 3.0, которая появилась примерно год спустя, в ней была реализована возможность прорисовки математических символов (знаков интеграла, бесконечности, дроби, скобок и т. д.) при помощи элементов языка. Но развитие этого проекта затормозилось и не получило дальнейшего распространения.

В 1996 году появился HTML версии 3.2. Это было блестящие решение, достаточно упомянуть, что в спецификацию языка были введены фреймы, которые стали теперь весьма популярными у разработчиков сайтов. И по сей день все браузеры поддерживают эту версию HTML.

Официальная спецификация HTML 4 (Dynamic HTML) разрабатывалась в 1997 год. В это время уже было очевидно, что дальнейшее развитие гипертекста будет осуществляться за счет web-программирования. Это оказалось намного более эффективным, чем вводить в язык все новые элементы.

Структура Web-страницы

Ниже представлен код Web-страницы, который выполнен на языке HTML, и на примере этой страницы мы разберем ее структуру, но для начала скопируйте весь код в обычный текстовый блокнот и нажмите «Сохранить как» и сохраняйте уже файл с расширением html, т.е. после названия напишите .html

Для того чтобы понять структуру Web-страницы, необходимо рассмотреть все ее элементы, которые входят в приведенный выше код.

Обозначение документа на языке HTML. Одно из принципов языка является многоуровневое вложение элементов. Данный элемент является самым внешним, так как между его начальным и конечным тегам должна находиться вся Web-страница. По идеи, этот элемент можно рассматривать как формальность. Он имеет атрибуты version, lang и dir, которыми в данном случае редко кто пользуется, и допускает вложение элементов HEAD, BODY FRAMESET и других, определяющих общую структуру Web-страницы. Естественно, что конечным тегом заканчиваются все подобные документы.

Область заголовка Web-страницы. Другими словами, ее первая часть. Так же, как и предыдущий элемент, HEAD служит только для формирования общей структуры документа. Этот элемент может иметь атрибуты lang и dir.

Элемент для размещения заголовка Web-страницы. Строка текста, расположенная внутри этого элемента, отображается не в документе, а в заголовке окна браузера. Данный элемент очень сильно влияет на продвижение в поисковой системе т.к. поисковые системы уделяют особое внимание на тег TITLE. Мой совет: никогда не делаете очень длинный текст в этом теге (65 символов достаточно).


Этот элемент содержит служебную информацию, которая не отражается при просмотре Web-страницы. Внутри него нет текста в обычном понимании, поэтому нет и конечного тега. Каждый элемент МЕТА содержит два основных атрибута, первый из которых определяет тип данных, а второй — содержание.

Этот элемент объединяет в себе гипертекст, который определяет собственно Web-страницу. Это та видимая часть документа, которую разрабатывает авто страницы и которая отображается браузером. Соответственно, конечный тег этого элемента надо искать в конце Web-страницы. Внутри элемента BODY можно использовать все элементы, предназначенные для дизайна Web-страницы. Внутри начального тега элемента BODY можно расположить много атрибутов, которые служат для установки всей страницы целиком. Рассмотрим их по порядку.

Один из самых полезных атрибутов данного тега, который оказывает свое влияние на дизайн страницы это

background=»путь к файлу фона»

Более простое оформление фона сводится к заданию его цвета

Цвет фона задается тремя двухразрядными шестнадцатеричными числами, которые определяют интенсивность красного, зеленого и синего цветов (rbg).

Так как можно изменить фон страницы можно и изменить цвет текста. Для этого имеется следующий атрибут

Для задания цвета текста гиперссылок используется следующий атрибут

Можно также указать изменение цвета для последней выбранной пользователем гиперссылки

Далее рассмотрим заголовки.

Элемент заголовка. Различают шесть уровней заголовков, которые обозначаются следующим образом.
Заголовок

Заголовок уровня 1 самый крупный, а уровень 6 обеспечивает самый маленький заголовок. Для заголовков можно использовать атрибут, задающий выравнивание влево, по центру или вправо:

align=»left» align=»center» align=»right»

Для создания нового абзаца используется тэг

, а для перехода на новую строчку без создания абзаца — тэг
т.е происходит перенос. Эти тэги закрывать не обязательно. Конечно, если Вы не используете в тэге

элемент ALIGN, которым может задавать выравнивание абзаца:

Горизонтальная линия (horizontal rule) — очень распространенный элемент. Во-первых, потому что с его помощью очень легко и удобно делить страницу на части. Во-вторых, потому что выбор подобных элементов оформления у автора страницы очень небольшой. Элемент не имеет конечного тега, но имеет ряд атрибутов для выравнивания влево, по центру, вправо, по ширине:

HTML-документ может быть очень громоздким, и не очень удобный пользователю у которого возникает необходимость быстрого перемещения к нужному разделу документа. Для этого можно использовать механизм гиперссылок. Для этого в нужных местах текста расставить соответствующие метки.

В этом случае данной строке документа присваивается имя, и, следовательно, другой части документа или даже на другом документе может быть создана гиперссылка, приводящая к этой метки.

Для вставки изображений (картинки) в HTML документ используется следующий тег (представлено полное описание атрибутов данного тега):

Списки

(list) были разработаны в HTML, несомненно, под влиянием успеха текстовых редакторов. От обычного текста список отличается, прежде всего, тем, что пользователю не нужно думать о нумерации его пунктов: эту задачу HTML берет на себя. Если список дополняется новыми пунктами или укорачивается, нумерация продолжается автоматически. В случае ненумерованных списков HTML ставит перед каждым пунктом отметки: кружки, прямоугольники, ромбы и другие изображения. В конечном итоге список принимает приличный, вид. Существует две группы таких тегов: одни определяют общий вид списка (и позволяют указывать атрибуты), а другие задают его внутреннюю структуру. В списках можно использовать стандартные атрибуты. Существует несколько видов списков.

Самым распространенным является ненумерованный список (unordered list). Он представлен ниже:

Элемент ul является своеобразным выделением списка. Он позволяет разделять один список от другого. Элемент liобозначает каждый из пунктов.

Таблицы

Являются одним из самых необходимых средством форматирования данных на Web-странице. Основное удобство заключается в том, что браузер прорисовку всей таблицы берет на себя. Размер рамки может быть автоматически согласован с размером окна просмотра в браузере и, разумеется, с размером находящихся в ячейках таблицы строк текста и рисунков. По мимо всего прочего, таблицы позволяют решать многие дизайнерские задачи: выравнивать части страницы друг относительно друга, размещать рядом рисунки и текст, управлять цветовым оформлением и так далее. При создании таблиц применяется принцип вложения: внутри основного элемента таблицы (TABLE) создается ряд элементов, определяющих строки (TR), а внутри этих элементов располагаются элементы для описания каждой ячейки в строке (ТD,ТН).

Для того чтобы разобраться в структуре существующей таблицы или разработать новую таблицу, существует одно правило, что последовательность элементов описывает таблицу сверху вниз и справа налево. Например, если после элемента TABLE указан элемент TR, это указывает на то, что начинается описание новой строки таблицы. Все, что расположено за этим элементом, будет размещено в одной строке (справа налево). Это может быть последовательность элементов TD (ячеек), другая таблица и так далее. После того как появится новый элемент TR, начнется описание следующей строки, и т. д. до конца таблицы (тега

).
Таблицу можно выровнять по горизонтали при помощи атрибута align:

  • align=»left» — влево;
  • align=»center» — по центру;
  • align=» right» — вправо.

Ширину таблицы можно задать точно в пикселях или в процентном отношении к ширине страницы в окне браузера. Например: w >

Для управления видом рамки используются два атрибута. Дело в том, что браузер создает изображение рамки, имитируя ее трехмерность (выпуклость) при помощи различия в освещенности граней

Сценарии

Практически все web – мастера хотят, чтобы их страницы на сайте имели современный вид, были многофункциональными, красивыми и динамичными. Стандартными средствами HTML это невозможно, поэтому применяются разные средства: апплеты, объекты, каскадные таблицы стилей и так далее. Но самым популярным и распространенным видом (приемом) является использование сценариев.

Сценарий — это программный код, который включается в текст страницы в виде исходного текста и выполняется браузером при просмотре страницы. Сценарий может быть написан на языке JavaScript, разработанном фирмой Netscape, или на Visual Basic Script (VBScript), разработанном фирмой Microsoft.

Данный тег позволяет отделить текст программы-сценария от другой информации страницы. Тег SCRIPT обязательно включает в себя атрибут language, который определяет язык и может принимать следующие значения:

  • javascript — код на языке JavaScript;
  • vbscript — код на языке VBScript.

Атрибут type тоже может указывать на тип языка, хотя его применение не является обязательным. Чтобы не нарушать все правила, внутри элемента можно поместить такое определение:

Одной из самых прикольных особенностей сценариев является возможность изменения содержимого страницы в результате выполнения программы. Но это только особеность, а не правило. С помощью атрибута defer (который не принимает никаких значений) можно «сказать» браузеру, что таких изменений внесено, не будет. В некоторые случаях это позволяет ускорить загрузку страницы.

Из стандартных атрибутов можно использовать атрибут charset.

Тег SCRIPT (или ряд таких элементов) может располагаться как внутри элемента HEAD, так и внутри элемента BODY. Если сценарий находится внутри элемента BODY, возможна и такая ситуация, когда какой-нибудь браузер, не поддерживающий элемент SCRIPT, воспримет программный код как обычный текст и выведет его на экран. Чтобы этого не случилось, код сценария вводят как комментарий:

Все современные браузеры распознают этот прием и игнорируют символы комментария. Если в тексте сценария нужно ввести комментарий, то для этого используют иное обозначение: в начале строки вводят два слеша //.
Программный код сценария выполняется в момент загрузки страницы, т.е. когда на экране еще видно ее содержание. Ниже представлен пример простейшего сценария (вывод сообщения в окне).

Это простая страница, но она включает сценарий из одной строки. С помощью метода alert перед загрузкой выводится сообщение. И оно будет висеть до тех пор, пока пользователь не нажмет на кнопку ОК, загрузка не будет продолжена.
Возможен случай, например страница, будет просматриваться в браузере, не поддерживающем сценариев, для этого предусмотрен элемент NOSCRIPT. Современные программы просмотра игнорируют его содержимое. Этот элемент можно использовать несколькими методами. Для начала, внутри него можно показать объявление наподобие следующего: «Ваш браузер не может выполнить сценарий, необходимый для просмотра этой web-страницы!» Во-вторых, внутри элемента можно разработать упрощенную версию страницы, без скриптов. В-третьих, можно создать ссылку на другой HTML-документ. Элемент NOSCRIPT должен обязательно снабжаться конечным тегом.

Вот мы с Вами и рассмотрели основы такого языка WEB-программирования как HTML. Даже после прочтения этой небольшой статьи Вы уже имеете представление, и даже возможность программировать на этом языке. Желаю удачи!

Должен ли конечный тег закрыть все незакрытые промежуточные начальные теги с пропущенными конечными тегами?

Я неправильно читаю стандарт HTML 4.01 или это Google? В HTML 4.01, если я напишу:

Рендеринг в Google Chrome:

Похоже, это противоречит стандарту HTML 4.01, который обобщает основные правила SGML следующим образом: «конечный тег закрывает обратно к соответствующему начальному тегу все незакрытые промежуточные начальные теги с пропущенными конечными тегами».¹

Это конечный тег должен закрывать не только стартовый тег, но также и незакрытый начальный тег, и рендеринг должен быть:

Комментатор указал, что оставлять теги открытыми — плохая практика, но это только академический пример. Не менее хорошим примером будет: +em +strong -em . Из стандарта HTML 4.01 я понял, что этот фрагмент кода не будет работать должным образом из-за перекрывающихся элементов: конечный тег должен неявно закрывать . Тот факт, что он работал как задумано, был удивительным, и именно это привело к моему вопросу.

И оказалось, что я предложил ложную дихотомию в вопросе: ни Google, ни я не читали неправильно стандарт HTML 4.01. Частный корреспондент на w3.org указал мне на Web SGML и HTML 4.0, объясненный Мартином Брайаном, который объясняет, что «программа синтаксического анализа автоматически закрывает любой открытый в настоящее время встроенный элемент, который был объявлен как имеющий пропущенные конечные теги, когда он встречает конечный тег для элемента более высокого уровня. (Однако если встроенный элемент, конечный тег которого не может быть пропущен, все еще открыт, программа сообщит об ошибке в кодировке.) »² (Акцент добавлен.) Обобщение Брайаном стандарта SGML является правильным, а обобщение HTML 4.01 — неправильным.

6 ответов

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Что такое теги? Что означает этот термин? Теги? Спасибо за ответ!

В XML тег является элементом документа, а текст, содержащийся между начальным и конечным тегом — содержанием элемента.

Используют либо только два тега — открывающий, или начальный, и закрывающий, или конечный, или еще дополнительно в зависимости от реализации языка возможно применение одиночного тега и тега пустого элемента. Например, тег отступа абзаца может оформлять абзац между

, а может в одиночной форме до следующего первого попавшегося

Пример пустого элемента: — разрыв текста без сохранения отступов, но вы можете использовать специальную форму записи тега, используя меньшее число символов:

Набор и рекомендуемые интерпретации тегов определены организацией W3C.

В SGML можно назначать другие символы для обрамления тега (например, фигурные скобки) , но в некоторых подмножествах этого языка (например, HTML) и XML такая возможность отсутствует.

Кроме того, существуют разные системы языков-подмножеств, которые используются, с меньшими возможностями, например на веб-форумах и досках объявлений используется язык разметки BBCode, теги которого ограничиваются символами квадратных скобок: [ ].

Например, [url=»http://ru.wikipedia.org»]Русская Википедия [/url] — ссылка на языке BBCode, указывающая на страницу русской Википедии.
[править]
Атрибуты

У тега могут быть свойства, называемые атрибутами, дающие дополнительные возможности форматирования текста. Они записываются в виде пары имя-значение, причем нечисловое значение заключается в кавычки.
Например, можно выделить фрагмент текста определенным шрифтом (тег ), указав в этом теге название шрифта и желаемый размер: оформляемый текст
[править]
Тип элемента документа

Имя тега определяет тип элемента. В HTML имя тега определяет лишь правила разметки, так, имя тега «i» (например Курсивный текст) определяет, что между тегами расположен текст, который следует отображать в браузере в курсивном начертании. XML представляет собой более гибкий стандарт. Имена тегов в нем не регламентируются жестко: пользователи могут вводить и использовать для своих нужд новые теги (см. XML).
Например, мы сами для себя можем определить, что элементом с именем тега «person» мы определяем тип этого XML элемента, как фамилия имя и отчество. И скажем, год рождения, как часть информации по данному человеку:
XML:

Иванов Иван Иванович 1984

Можно даже задать дополнительно в таблицах CSS, что все теги

будут определенного цвета.
HTML: Иванов Иван Иванович, 1984 Тут уже нет возможности сформировать элемент документа для анализа текста, но оформить можно.

Таким образом, HTML представляет собой неструктурированный текст, а XML — документ с иерархической структурой, что дает возможность обработки документа: трансформацию данных, поиск нужных элементов документа и т. д.
[править]
Структура элемента

В XML элементы имеют более строгую синтаксическую структуру, то есть быть строго вложенными друг в друга и всегда закрываться, в SGML элементы могут пересекаться, то есть в SGML возможна такая последовательность тегов:
SGML:
XML :

Столкнутый конечный тег «таблица» без соответствующего начального тега. Правильно ли сбалансированы ваши начальные и конечные теги?

Недавно я начал изучать MVC3. Я разработал веб-приложение, я не могу использовать тег формы движком Razor, посмотрите на код ниже

Когда я запускаю это приложение, я получаю сообщение об ошибке «Ошибка сервера» в приложении «/». Parser Error «Описание: Произошла ошибка во время разбора ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь со следующими подробными данными об ошибке синтаксического анализа и соответствующим образом измените исходный файл.

Сообщение об ошибке Parser: Encounted end tag «table» без соответствующего начального тега. Правильно ли сбалансированы ваши начальные и конечные теги? «

3 Об SGML и HTML

В этом разделе документа Вы познакомитесь с SGML и узнаете о его отношении к HTML. Полное описание SGML не входит в этот стандарт (см. [ISO8879]).

3.1 Введение в SGML

SGML — это система определения языков разметки . Авторы свои документы, представляя информацию о структуре, представлении и семантике в одном документе. HTML является одним из примеров языка разметки. Вот пример документа на языке HTML:

Документ HTML состоит из раздела заголовка (здесь — между тэгами и ) и тела (здесь — между заголовками и ). Заголовок документа отображается в заголовке (вместе с другой информацией о документе), а содержимое документа находится в теле. В этом примере тело документа состоит только из одного абзаца, помеченного

Каждый язык разметки, определенный в SGML, называется . Приложение SGML характеризуется:

  1. Объявлением SGML. указывает, какие символы и разделители могут отображаться в приложении.
  2. (DTD). DTD определяет синтаксис конструкций разметки. DTD может включать дополнительные определения, например, character entity references.
  3. Спецификация, описывающая семантику, используемую в разметке. Эта спецификация также налагает синтаксические ограничения, которые невозможно выразить при помощи DTD.
  4. Экземпляры документа содержат данные (содержимое) и разметку. Каждый экземпляр содержит ссылку на DTD, которое должно использоватья для интерпретации.

Спецификация HTML 4.0 включает объявление SGML , три определения типа документов (описание их см. в разделе информация о версии HTML ) и список character references.

3.2 Конструкции SGML, используемые в HTML

В следующих разделах Вы познакомитесь с конструкциями SGML, используемыми в HTML.

В приложении перечислены некоторые функции SGML, которые не поддерживаются средствами HTML и агентами пользователей, и использования которых следует избегать.

3.2.1 Элементы


Определение типа документа SGML объявляет , представляющие структуры или желательное поведение. HTML включает типы элементов, представляющие абзацы, гипертекстовые ссылки, списки, таблицы, изображения и т.д.

Каждое обычно включает три части: начальный тэг, содержимое и конечный тэг.

Имя элемента отображается в (пишется ) и в (пишется ); не забывайте про слеш перед именем элемента в конечном тэге. Например, начальные и конечные тэги элемента UL определяют список:

Некоторые типы элементов HTML позволяют авторам опускать конечные тэги (например, типы элементов P and LI ). Несколько типов элементов также позволяют опускать начальные тэги ; например, HEAD и BODY . HTML DTD указывает для каждого типа элемента, являются ли начальный и конечный тэги обязательными.

Некоторые типы элементов HTML не имеют содержимого. Например, элемент перехода на следующую строку BR не имеет содержимого; его роль — прерывание строки текста. Такие элементы никогда не имеют конечных тэгов. Определение типа документа и текст спецификации указывают, является ли тип элемента пустым (не имеет содержимого) или, если он может иметь содержимое, что является допустимым содержимым.

Имена элементов всегда учитывают регистр.

Информацию о правилах, управляющих элементами, (например, что они могут быть вложенными соответствующим образом, конечный тэг закрывает все опущенные начальные тэги вплоть до соответсвующего ему начального тэга (раздел 7.5.1) и т.д.) см. в стандарте SGML.

Например, следующий абзац:

можно перезаписать без конечного тэга:

поскольку начальный тэг

закрывается следующим элементом блока. Точно так же, если абзац включен в элемент блока, например:

конечный тэг включающего элемента блока (здесь —

Элементы — это не тэги. Некоторые люди называют элементы тэгами (например, «тэг P «). Помните, что элемент — это одно, а тэг (начала или конца, неважно) — другое. Например, элемент HEAD всегда присутствует, даже если начальный и конечный тэги HEAD отсутствуют.

Все типы элементов, объявленные в этой спецификации, перечислены в указателе элементов.

3.2.2 Атрибуты

С элементами могут быть связаны свойства, называемые , которые могут иметь значения (стандартные или устанавливаемые авторами или сценариями). Пары атрибут/значение помещаются перед закрывающей скобкой «>» начального тэга элемента. В начальном тэге элемента может быть любое число (допустимых) пар атрибут/значение, разделенных пробелами. Они могут указываться в любом порядке.

В данном примере для элемента H1 установлен атрибут id :

По умолчанию в SGML необходимо, чтобы все значения атрибутов были разделены с помощью двойных (десятичный код ASCII 34) или одинарных кавычек (десятичный код ASCII 39). Одинарные кавычки могут включаться в значение атрибута, если значение отделяется двойными кавычками, и наоборот. Авторы могут также использовать цифровые ссылки на символы для представления двойных («) и одинарных кавычек (‘). Для двойных кавычек авторы могут также использовать character entity reference «.

В определенных случаях авторы могут указывать значение атрибута без кавычек. Значение атрибута может включать только буквы (a-z и A-Z), цифры (0-9), знаки переноса (десятичный код ASCII 45) и точки (десятичный код ASCII 46). Рекомендуется всегда использовать кавычки.

Имена атрибутов всегда учитывают регистр

Значения атрибутов обычно учитывают регистр. Определение кажого атрибута в списке атрибутов указывается, учитывает ли значение регистр.

Список всех атрибутов, определенных в этой спецификации, приводится в указателе атрибутов.

3.2.3 Ссылки на символы

— это числовые или символьные имена символов, которые могут быть включены в документ HTML. Они удобны для обращения к редко используемым символам или к символам, которые трудно или невозможно вводить в средствах разработки документов. Вы увидите ссылки на символы в этом документе; они начинаются со знака «&» и заканчиваются точкой с запятой (;). Вот некоторые примеры:

  • » » представляет знак >.
  • «»» представляет знак «.
  • «å» (десятичное число) представляет букву «a» с кружком сверху.
  • «И» (десятичное число) представляет кириллическую букву «I».
  • «水» (шестнадцатеричное число) представляет китайский знак воды.

Ссылки на символы в HTML подробно обсуждаются дальше в этом разделе под заголовком набор символов документа HTML. В спецификации также содержится список ссылок на символы, которые могут использоваться в документах в формате HTML 4.0.

3.2.4 Комментарии

Комментарии в HTML имеют следующий синтаксис:

Проблемы между открывающим разделителем разметки (» «). Распространенной ошибкой является включение строки символов переноса («—«) в комментарий. Следует избегать использования в комментариях двух или более символов переноса.

Информация в комментариях не имеет специального значения (например, ссылки на символы не интерпретируются).

3.3 Как читать HTML DTD

Каждое объявление элемента и атрибута в этой спецификации сопровождается фрагментом его определения типа документа. Мы решили включить фрагменты DTD в спецификацию вместо того, чтобы искать более доступные, но более длинные и менее точные средства описания свойств элементов. При помощи следующего учебника читатели, не знакомые с SGML, смогут научиться читать DTD и понимать технические подробности спецификации HTML.

3.3.1 Комментарии DTD

В DTD комментарии могут занимать несколько строк. В DTD комментарии отделяются парой меток «—«, например,

3.3.2 Определениея Parameter entity

HTML DTD начинается с ряда определений parameter entity. определяет макрос, на который можно ссылаться в любом месте DTD. Эти макросы не отображаются в документах HTML, они отображаются только в DTD. Другие типы макросов, называемые ссылками на символы, могут использоваться в тексте документа в формате HTML или в значениях атрибутов.

Когда на parameter entity ссылаются в DTD по имени, он разворачивается в строку.

Определение parameter entity начинается с ключевого слова . Экземпляры parameter entities в DTD начинаются со знака «%», затем идет имя parameter entity и заканчивается необязательным символом «;».

В следующем примере определяется, в какую строку бедет разворачиваться «%fontstyle;».

Строка, в которую расворачивается parameter entity, может содержать другие имена parameter entity. Эти имена разворачиваются рекурсивно. В следующем примере «%inline;» parameter entity включает «%fontstyle;», «%phrase;», «%special;» и «%formctrl;» parameter entities.

Вы часто будете встречать в HTML DTD два DTD entities: «%block;» «%inline;». Они используются, если модель содержимого включает block-level and inline elements соответственно (определенные в разделе глобальная структура документа HTML).

3.3.3 Объявления элементов

HTML DTD состоит из объявлений и их атрибутов. Объявление начинается с ключевого слова . Между ними указываются:

  1. Имя элемента.
  2. Если конечный тэг элемента необязателен Два символа переноса после имени элемента означают, что начальный и конечный тэги являются обязательными. Один символ переноса, за которым следует буква «O», указывает, что конечный тэг можно опустить. Две буквы «O» указывают на то, что можно опустить как начальный, так и конечный тэги.
  3. Содержимое элемента, если таковое имеется. Допустимым содержимым элемента называется его Типы элементов, не имеющие содержимого, называются . Модель содержимого для таких типов элементов объявляется при помощи ключевого слова «EMPTY».

В этом примере:

  • Объявляется тип элемента UL.
  • Тва знака переноса указывают, что начальный тэг

      и конечный тэг


    для этого элемента обязательны.
  • Модель содержимого для этого типа элемента — «по крайней мере один элемент LI». Ниже объясняется, как задать модель содержимого.

В этом примере показано объявление пустого типа элемента:

  • Объявляется тип элемента IMG.
  • Знак переноса, за которым следует буква «O», указывает, что конечный тэг можно опустить, но если модель содержимого — «EMPTY», это правило усиливается, и конечный тэг должен быть опущен.
  • Ключевое слово «EMPTY» означает, что экземпляры этого типа не должны иметь содержимого.

Определения модели содержимого

Модель содержимого описывает, что может содержаться в экземпляре типа элемента. Определения модели содержимого могут включать:

  • Имна допустимых или запрещенных типов элементов (например, элемент UL содержит экземпляры типа элемента LI , а тип элемента P не может включать другие элементы P ).
  • DTD entities (например, элемент LABEL включают экземпляры «%inline;» parameter entity).
  • Текст документа (указываемый SGML-конструкцией «#PCDATA»). Текст может включать ссылки на символы. Помните, что они начинаются с & и заканчиваются точкой с запятой (например, «Hergé’s adventures of Tintin» содержиту ссылку на character entity для символа «e со знаком ударения»).

Модель содержимого элемента указывается с использованием следующего синтаксиса: ( . ) Разделяет группы. A | B Происходит A или B, но не оба. A , B Происходят A и B в указанном порядке. A & B Происходят A и B в любом порядке. A? A происходит ноль или один раз. A* A происходит ноль или более раз. A+ A происходит один или несколько раз.

Вот некоторые примеры HTML DTD:

Элемент UL должен содержать один или несколько элементов LI .

Элемент DL должен содержать один или несколько элементов DT или DD в любом порядке.

Элемент OPTION может содержать только текст и такие entities как & — это определяется типом данных SGML #PCDATA.

Некоторые типы элементов HTML используют дополнительную функцию SGML для исключения элементов из модели содержимого. Исключенным элементам предшествует символ переноса. Явные исключения имеют приоритет по отношению к допустимым элементам.

В этом примере -(A) означает, что элемент A не может находиться в другом элементе A (то есть ссылки не могут быть вложенными).

Помните, что тип элемента A является частью DTD parameter entity «%inline;», но явно исключается выражением -(A).

Точно так же следующее объявление типа элемента FORM запрещает вложенные формы:

3.3.4 Объявления атрибутов

Объявление атрибутов , которые может иметь элемент, начинается с ключевого слова . Каждое определение атрибута — это тройка, определяющая:

  • Имя атрибута.
  • Тип значения атрибута или явный набор допустимых значений. Значения, определенные явным образом при помощи DTD, учитывают регистр. Подробнее о типах значений атрибутов см. в разделе основные типы данных HTML.
  • Является ли значение атрибута по умолчанию неявным (ключевое слово «#IMPLIED»), то есть значение по умолчанию устанавливается агентом пользователя (в некоторых случаях с использованием наследования от родительских элементов); всегда обязательным (ключевое слово «#REQUIRED»); или фиксированным данным значением (ключевое слово «#FIXED»). Некоторые определения атрибутов явным образом указывают значение атрибута по умолчанию.

В этом примере атрибут имя определен для элемента MAP . Атрибут на является обязательным для этого элемента.

Тип значений, допустимых для этого атрибута, дается как CDATA, тип данных SGML. CDATA — это текст, который может содержать ссылки на символы.

Подробнее о типах данных «CDATA», «NAME», » >

В следующих примерах показано несколько определений атрибутов:

Для атрибута rowspan необходимы значения типа NUMBER. Значение по умолчанию дается явно — «1». Для необязательного атрибута http-equiv необходимы значения типа NAME. Для необязательного атрибута id необходимы значения типа ID. Необязательный атрибут valign ограничен значениями из набора .

DTD entities в определениях атрибутов

Определения атрибутов могут также содержать ссылки на parameter entity.

В этом примере мы видим, что список определений атрибутов для элемента LINK начинается с «%attrs;» parameter entity.

Start tag: required, End tag: forbidden

«%attrs;» parameter entity определен следующим образом:

«%coreattrs;» parameter entity в определении «%attrs;» разворачивается следующим образом:

The «%attrs;» parameter entity определен для удобства, поскольку эти атрибуты определены для большинства типов элементов HTML.

Таким же образом DTD определяет «%URI;» parameter entity как расширение строки «CDATA».

Как показано в этом примере, parameter entity «%URI;» предоставляет читателям DTD больше информации, чем для типа данных, ожидаемого для этого атрибута. Похожие entities определены для «%Color;», «%Charset;», «%Length;», «%Pixels;» и т.д.

Некоторые атрибуты играют роль булевых переменных (например, атрибут selected для элемента OPTION ). ИХ наличие в начальном тэге элемента подразумевает, что значением атрибута является «истина». Их отсутствие означает «ложь».

Булевы атрибуты могут принимать только одно значение: соственно имя атрибута (например, selected="selected").

В этом примере атрибут selected определяется как булев.

Для атрибута устанавливается значение «истина», поскольку он находится в начальном тэге элемента:

В HTML булевы атрибуты могут быть в — в начально тэге элемента находится только значение атрибута. Таким образом, selected можно установить, написав:

Авторам следует знать, что многие агенты пользователей распознают только минимизированную форму булевых атрибутов и не распознают полную.

Илон Маск рекомендует:  Рабочее поле
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL