Имена.
В языке XML все имена должны начинаться с буквы, символа нижнего подчеркивания (_) или двоеточия (:) и продолжаться только допустимыми для имен символами, а именно они могут содержать только буквы, входящие в секцию букв кодировки Unicode, арабские цифры, дефисы, знаки подчеркивания, точки и двоеточия. Однако имена не могут начинаться со строки xml в любом регистре. Имена, начинающиеся с этих символов, зарезервированы для использования консорциумом W3C . Нужно помнить что так как буквы не ограничены исключительно символами ASCII , то в именах можно использовать слова из родного языка.
Структура XML- документа.
Любой XML -документ состоит из следующих частей:
- Необязательный пролог.
- Тело документа.
- Необязательный эпилог, следующего за деревом элементов.
Рассмотрим каждую из частей более подробно.
Пролог XML- документа.
Документ XML начинается с пролога. В прологе содержатся некоторые указания, предназначенные для анализатора XML и приложений.
Пролог состоит из нескольких частей:
- необязательное объявление XML (XML Declaration) которое заключено между символами ...?>. Объявление содержит:
- пометку xml и номер версии (version) спецификации XML;
- указание на кодировку символов (encoding), в которой написан документ (по умолчанию encoding="UTF-8" );
- параметр standalone который может принимать значения "yes" или "no" (по умолчанию standalone="yes" ). Значение "yes" показывает, что в документе содержатся все требуемые декларации элементов, a "no" - что нужны внешние определения DTD .
Все это вместе может выглядеть следующим образом:
.
Важно отметить, что в объявлении XML только атрибут version является обязательным, все остальные атрибуты могут быть опущены и, следовательно, принимать значения по умолчанию. Так же нужно помнить, что все эти атрибуты следует указывать только в приведенном выше порядке.
- комментарии.
- команды обработки.
- символы пустых пространств.
- необязательное объявление типа документа , DTD (Document Type Declaration ) которое заключено между символами и может занимать несколько строк. В этой части объявляются теги, использованные в документе, или приводится ссылка на файл, в котором записаны такие объявления.
После объявление типа документа так же могут следовать комментарии, команды обработки и символы пустых пространств.
Поскольку все эти части необязательны, пролог может быть опущен.
Тело XML-документа.
Тело документа состоит из одного или больше элементов. В правильно оформленном XML документе элементы формируют простое иерархическое дерево , в котором обязательно присутствует корневой элемент ( root element ) в который вложены все остальные элементы документа. Язык XML налагает на элементы чрезвычайно важное ограничение - они должны быть правильно вложены. Это позволяет достаточно легко вложить один XML - документ в другой не нарушая структуру документа, при этом корневой элемент вложенного документа станет просто одним из элементов документа, в который он вложен. В связи с этим мы сталкиваемся с еще одним ограничением, а именно с тем, что имена элементов должны быть уникальны в пределах документа, поскольку во включенном документе такие же имена, что и во включающем могут иметь совершенно иной смысл. Для решения проблемы совпадающих имен введено понятие пространства имен.
Имя корневого элемента считается именем всего документа и указывается во второй части пролога после слова Doctype . Если определение DTD находится внутри XML - документа, то оно помещается в квадратных скобках после имени корневого элемента:
Но обычно определение DTD составляется сразу для нескольких XML -документов. В таком случае его удобно записать отдельно от документа и тогда вместо квадратных скобок записывается одно из слов System или Public после которого идет адрес в форме URI ( Uniform Resource Identifier ) файла с определением DTD . Для всех практических целей URI считается эквивалентом адреса URL , хотя в принципе это может быть любое уникальное имя. Определение DTD , например, может выглядеть следующим образом:
Пространства имен XML
Поскольку в разных XML -документах могут встретится одни и те же имена тегов и их атрибутов, имеющие совершенно разный смысл, надо иметь возможность их как-то различать. Для этого имена тегов и атрибутов снабжают кратким префиксом, который отделяется от имени двоеточием. Префикс имени связывается с идентификатором, определяющим пространство имен (namespace ). Все имена тегов и атрибутов, префиксы которых связаны с одним и тем же идентификатором, образуют одно пространство имен , в котором имена должны быть уникальны. Префикс и идентификатор пространства имен определяются атрибутом xmlns следующим образом:
В дальнейшем имена тегов и атрибутов, которые мы хотим отнести к пространству имен "http://URI_namespace" , снабжаются префиксом ns, например:
Атрибут xmlns может появиться в любом элементе XML , а не только в корневом. Определенный им префикс можно применять в том элементе, в котором записан атрибут xmlns , и во всех вложенных в него элементах. Более того, в одном элементе можно определить несколько пространств имен. Во вложенных элементах пространство имен можно переопределить, связав префикс с другим идентификатором. Появление имени тега без префикса в документе, использующем пространство имен , означает, что имя принадлежит пространству имен по умолчанию. Префиксы, начинающиеся с символов xml с любым регистром букв, зарезервированы за самим языком XML .
Имя вместе с префиксом называется расширенным или уточненным именем. Часть имени, записанная после двоеточия, называется локальной частью имени.
Программист сталкивается с рядом проблем при написании HTML тегов. При работе над большим сайтом программный код разрастается, и вести контроль становится проблематично, программист может не закрыть тег и верстка сайта «уедет» — блок налезает на другой и внешний вид сайта портится.
Блочная верстка — ад программиста
На крупном сайте следить за тегами проблематично, особенно если над его разработкой работают несколько программистов. Основатели HTML предупреждают программистов и призывают соблюдать стандарты. Небольшие ошибки в коде нормальны и легко исправимы. Рассмотрим способы проверки HTML кода на ошибки и выявление незакрытых тегов и других элементов .
Определение незакрытых тегов
Как проверить код на незакрытые дивы (
) и другие теги? Простейший способ — текстовый редактор с подсветкой синтаксиса. Скачайте notepad++ поддерживающий десятки языков программирования. Нужные для веб-кодинга HTML, JavsScript, PHP и другие языки он подсвечивает.
Проверить обычные HTML элементы не сложно, и если незакрытые теги вставки гиперссылки «
» теги форматирования «
» / « Что бы определить незакрытый тег (html элемент страницы) включаем подсветку в notepad++
Проверка заключается в закрытии одного дива за другим нажатием на плюсики «+», если тег не закрывается, значит, закрывающегося тега нет. Исследуем код и прописываем недостающий в нужно месте. Определить к какому закрывающемуся тегу относится элемент можно нажатием в редакторе на этот тег. Редактор подсветит открывающейся и относящийся к нему закрывающейся тег. Можно определить ошибку при просмотре, когда закрывающегося элемента не обнаруживается, или он относится к другому элементу, который рушит логику кода. Это простейший способ проверки, требующий ручной работы. Автоматизированных систем нет, только программист может понять, где нужно прописать закрытие дива или таблицы, не нарушив визуального оформления страницы. Используйте встроенные отладчики FireBug (FireFox) и инспекторы-исследователи встроенные в браузер. Открыть отладчик (редактор) кода в Opera можно нажатием комбинации «Ctrl-Shift-C» или как показано на рисунке. Правой кнопкой мыши жмем на исследуемом объекте и в контекстом меню жмем «Просмотреть код элемента». Валидатор HTML: Общий анализ и поиск ошибок в кодеПроверить код на ошибки можно валидатором HTML — W3C. Markup Validation Service (MVS) — Этот валидатор проверяет правильность разметки веб-документов в HTML, XHTML, SMIL, MathML и т.д. Если вы хотите проверить конкретный контент, такой как RSS / Atom-каналы или таблицы стилей CSS, содержимое MobileOK или найти неработающие ссылки, есть другие валидаторы и доступные инструменты. В качестве альтернативы можете попробовать наш валидатор на основе не DTD. Сервис позволяет проверить CSS, HTML, XHTML, JS… после анализа сайта сервис выдаст ошибки и метод устранения проблемного участка кода.. Можно исправить, но не обязательно прислушиваться к сервису если ваш сайт нормально отображается и индексируется. Каждый 2 крупный сайт не до конца соблюдает стандарты HTML, проверьте сами. Здравствуйте, уважаемые читатели блога сайт! В прошлой статье мы разобрались, а также что такое тип документа и как браузеры определяют используемый язык с помощью . Тег то рассмотрели, а вот само понятие (термин) нет. В этой статье я расскажу, что такое тег, зачем он нужен и какие теги бывают. Как я и говорил в прошлой статье данной рубрики, мы создадим файл-страничку, над которой будем экспериментировать, опираясь на полученные знания. Но это в конце статьи, а пока разберемся с HTML-тегом. Что такое HTML-тег, виды HTML-тегов, примеры написанияHTML-тег — в переводе с английского tag — помечать -символы, заключенные в угловые скобки и являющиеся элементами языка гипертекстовой разметки (HTML). Символы могут быть толок на английском языке (весь интернет на нем построен). Тег имеет видЭто тег выделения текста жирным шрифтом. Теги имеют три вида:
Вся конструкция, включая текст, будет выглядеть следующим образом: Этот текст будет выделен жирным А вот так будет выглядеть этот текст, когда его обработает браузер и предоставит нам:Этот текст будет выделен жирным. Существует еще такое понятие, как контейнерные теги , но это просто обобщенное название открывающего и закрывающего тегов. Как я писал выше, помимо контейнерных есть еще и одиночные теги. Отличие заключается в том, что такие теги не нужно закрывать. Ярким и наиболее частым примером служит тег новой строки. В основном, одиночные теги используются для вставки какого-либо элемента, например изображения или таблицы. Что такое атрибуты,правила написания и зачем они нужныПомимо тегов существуют еще и так называемые атрибуты . Точнее не помимо, а в тегах. С помощью атрибутов можно задать дополнительные параметры для какого-либо тега. Атрибуты для каждого тега свои, а в данной теме мы будем экспериментировать над тегом , который без атрибутов, собственно, ничего толкового не делает.Font — контейнерный тег, применяемый для форматирования текста. С помощью данного тега вы сможете и выделить текст жирным, и изменить размер, и расстояние между строк — в общем все, что можно делать с текстом. Рассмотрим пример с размером текста. Для начала заключим текст в тег Font. Текст Теперь немного про правила написания атрибутов. Атрибуты всегда пишутся в открывающем теге и после символов самого тега. Можно написать в одном теге несколько атрибутов в любом порядке. Атрибуты вы можете найти на сайте валидатора W3C (про который я напишу чуть ниже). Итак, вот пример тега font с атрибутом size: Текст Данный атрибут в теге font изменяет размер заключенного в теги Текста. Текста Вы уже увидели как пишутся атрибуты. Ровно также они пишутся и в других тегах: сначала пишем сам атрибут (в данном случае size), затем ставим «=» и заключаем параметр атрибута в двойные кавычки. Параметры атрибутов вы сможете найти все на том же сайте консорциума всемирной паутины. Что такое валидатор (validator) W3C, правила написания и список теговКак я и писал, существует великое множество тегов. Но где их всех найти? Вот для этой цели существует валидатор W3C W3C - World Wide Web Consorcium, а по-русски — консорциум всемирной паутины. Не совсем понятно, да? Это такое место, где разрабатывают веб-стандарты — (языки гипертекстовой разметки — их детище). Во главе всего консорциума стоит, известный из прошлой статьи, Тим Бернерс-Ли — создатель HTML. Сайт этой организации — w3.org . Предупреждаю, сайт полностью на английском, так что запаситесь словарем или переводчиком в браузере. Кстати, Google у данного сайта равен 9, а — 37000 (это все очень много, если кто не в курсе).Возвращаемся к теме статьи. Нас интересуют стандарты языка HNTML 4.01. Переходим по ссылке HTML 4.01 Specification , после чего вверху видим вкладку elements , кликаем на нее. Вот и открывается страница со всеми тегами. Данные теги разработаны и приняты за стандарт консорциумом. Все, опять же, на английском. Сразу после слов «Index of Elements» мы видим легенду (значение букв в столбцах): А сразу после легенды идет таблица самих тегов:
|