Содержание
Что такое XML
Язык XML предназначен для хранения и передачи данных. HTML же предназначен для отображения данных.
Прежде чем продолжить, убедитесь, что вы обладаете базовыми знаниями в HTML. Если вы не знаете что такое HTML, то разобраться в этом вам поможет учебник HTML для начинающих. Итак,
Что такое XML?
- XML — аббревиатура от англ. eXtensible Markup Language (пер. расширяемый язык разметки).
- XML – язык разметки, который напоминает HTML.
- XML предназначен для передачи данных, а не для их отображения.
- Теги XML не предопределены. Вы должны сами определять нужные теги.
- XML описан таким образом, чтобы быть самоопределяемым.
Разница между XML и HTML
XML не является заменой HTML. Они предназначены для решения разных задач: XML решает задачу хранения и транспортировки данных, фокусируясь на том, что такое эти самые данные, HTML же решает задачу отображения данных, фокусируясь на том, как эти данные выглядят. Таким образом, HTML заботится об отображении информации, а XML о транспортировке информации.
XML ничего не делает
Возможно вам будет несколько странным это узнать, но XML ничего не делает. Он был создан для структурирования, хранения и передачи информации.
Следующий пример представляет некую заметку от Джени к Тови, сохраненную в формате XML:
<?xml version="1.0" encoding="UTF-8"?> <note> <to>Tove</to> <from>Jani</from> <heading>Напоминание</heading> <body>Не забудь обо мне в эти выходные!</body> </note>
Приведенная запись вполне самоописательна. Здесь есть информация об отправителе и получателе. Также присутствуют данные заголовка и само сообщение. И при всем при этом этот документ XML не делает ничего. Это просто информация, обернутая в теги. Кто-то должен написать программу, которая будет отсылать, получать и отображать эти данные.
В XML вы изобретаете свои собственные теги
Теги в вышеприведенном примере (например, <to> и <from>) не определяются никакими стандартами XML. Эти теги были «изобретены» автором этого XML документа.
Все потому, что в языке XML нет предопределенных тегов.
Так, в HTML все используемые теги предопределены. HTML документы могут использовать только те теги, которые определяются в стандартах HTML (<p>, <li> и т. д.).
XML позволяет автору определять свои языковые теги и свою структуру документа.
XML – это не замена HTML
XML – это дополнение HTML.
Важно понять, что XML не является заменой HTML. В большинстве веб-приложениях XML используется для транспортировки данных, а HTML для форматирования и отображения данных.
XML – это программно- и аппаратно-независимый инструмент для транспортировки информации.
XML – везде
В настоящее время XML также важен для сети, как когда-то был важен HTML для рождения современного Интернета. XML – это общий инструмент передачи данных между всеми видами приложений.
HTML — это не XML / Хабр
Многие считают, что html — это подмножество xml. И, соответственно, пишут код в том же стиле. Но это не так, между этими разметками есть различия. Есть некоторые правила xml, которые неприменимы в html.
Я рассмотрю три основные ошибки тех, кто пытается писать html в стиле xml.
1. Самозакрывающиеся теги
Первая и самая распространенная ошибка. Я много раз видел, как кто-то пытается закрыть html тег с
помощью /> Например, <button/> или <br />.
Но даже если элемент не имеет содержимого, все равно так писать нельзя. Потому как в отличие от xml
в html закрывать теги с помощью /> запрещено. Тег можно закрывать только явно, с помощью </tag>. Это не просто хороший стиль. Браузер воспринимает символ «/» внутри элемента как ошибку и игнорирует его. Элемент просто не закрывается.
Давайте посмотрим, как браузер обрабатывает такие теги. Выполним следующий html:
<div> Красный <div/> Продолжение красного </div> <div>Следующий элемент</div>
Все вроде бы нормально, но выглядеть это будет так:
Как видно, браузер не закрыл элемент, завершающийся />. Его нужно было закрывать при помощи явного </div>.
И кстати, даже серьезные компании, бывает, пишут неправильно.
Пример
Яндекс.Метрика пишет свой img тег так: <img src=»//mc.yandex.ru/watch/24049213″ style=«position:absolute; left:-9999px;» alt=»» />
2. Закрытие тегов
Хорошо, теги нужно явно закрывать. Значит, нужно всегда писать <tag></tag>? Нет. Не все так просто. Согласно спецификации в html некоторые теги нужно обязательно закрывать, некоторые необязательно, а некоторые запрещено.
Приведу примеры:
- Обязательно нужно закрывать div, span, script, table и footer;
- Такие теги, как option, li, tr, body можно закрывать, а можно и нет. С точки зрения качества кода, конечно, лучше всегда закрывать теги, но стандарт разрешает не делать этого;
- А вот некоторые теги, такие как input, br, img и hr закрывать запрещено. Если написать <input></input> или
<img></img> — то это будет невалидный html. Такие теги нужно оставлять незакрытыми.
Конечно, эти примеры не полные. По каждому отдельному тегу смотрите документацию.
3. Запись булевых атрибутов
Как записывать булевы атрибуты в html (такие как checked и disabled)? Те, кто пишет html в стиле xml, случается, записывают их так: <option selected=«true»></option>
Так делать не нужно. В html нет значения «true». Стандарт говорит, что если атрибут заявлен в разметке, то его значение уже true.
Можно выбрать один из трех вариантов записи:
- <option selected=«selected»></option>
- <option selected=»»></option>
- <option selected></option>
Я предпочитаю использовать короткий третий вариант, вроде: <input id=«smth» disabled type=«text»>.
P.S. Эти правила относится к html, а не к xhtml. Однако даже если ваша страница оформлена как xhtml, браузер будет
разбирать ее как html, если сервер отдает ее с mime-type ‘text/html’. Для того, чтобы странице стать действительной xhtml, ее mime-type должен быть ‘application/xhtml+xml’. Только тогда браузер будет парсить эту страницу по xml правилам.
XML Введение
❮ Предыдущий
Далее ❯
XML — это независимый от программного и аппаратного обеспечения инструмент для хранения и передачи данных.
Что такое XML?
- XML означает расширяемый язык разметки
- XML — это язык разметки, очень похожий на HTML
- XML был разработан для хранения и передачи данных
- XML был разработан, чтобы быть самоописательным
- XML — это рекомендация W3C
.
.
XML ничего не делает
Возможно, это немного сложно понять, но XML ничего не делает.
Это записка для Туве от Яни, сохраненная в формате XML:
<заметка>
Приведенный выше XML-код говорит сам за себя:
- Он содержит информацию об отправителе
- Имеет информацию о приемнике
- Он имеет заголовок
- Имеет тело сообщения
.
Тем не менее, приведенный выше XML ничего не делает. XML — это просто информация, заключенная в теги.
Кто-то должен написать программу для отправки, получения, хранения или отображения:
Примечание
Кому: Туве
От: Яни
Напоминание
Не забудьте меня в эти выходные!
Разница между XML и HTML
XML и HTML были разработаны с разными целями:
- XML был разработан для переноса данных с упором на то, что такое данные
- HTML был разработан для отображения данных с упором на то, как данные выглядят
- Теги XML не предопределены, как теги HTML
XML не использует предопределенные теги
Язык XML не имеет предопределенных тегов.
Теги в приведенном выше примере (например,
HTML работает с предопределенными тегами, такими как
,