XML (eXtensible Markup Language) – расширяемый язык разметки. Он является инструментом программирования. С помощью XML языка можно создавать логические структуры данных, хранить их и передавать в удобном формате как для устройства, так и для человека. Обладает простым и понятным синтаксисом. Сам по себе этот инструмент программирования универсален. Он поддерживает возможность описания разнообразных документов при помощи тегов, задаваемых разработчиком самостоятельно.
Сегодня предстоит изучить XML и структуру его документа. Нужно выяснить, для чего используется рассматриваемый инструмент, чем он отличается от HTML, какими особенностями обладает. Также вниманию будут представлены ключевые стандарты XML. Предложенная информация рассчитана на широкую публику. Она подойдет для изучения как веб-разработчиками, так и обычными пользователями.
Где будет полезен XML
XML – это инструмент, который широко используется в IT. Он пригодится везде, где необходимо выделить логическое содержимое документа для его дальнейшей обработки (компьютером или конечным пользователем). Рассматриваемый стандарт рекомендуется Консорциумом Всемирной паутины (W3C), поэтому он активно используется в API, когда сервер присылает в качестве ответа XML-файл.
Изучаемый стандарт дает возможность:
- Осуществлять запись иерархий. Здесь «один подчиняется другому».
- Производить разметку текста по смыслу от наиболее важного ко второстепенному. С помощью изучаемого инструмента предлагается выделять основные и дополнительные моменты, добавлять всевозможные комментарии и пояснения.
- Хранить разнообразные типовые данные. Сюда можно отнести различные скрипты, настройки приложений, названия чего-либо.
- Осуществлять разметку теста, используемого для машинного обучения.
- Хранить результаты работы текстовых редакторов и всевозможных программных приложений.
Иерархии с информацией XML могут быть использованы в различных языках разработки. К ним относят:
- OWL и RDF – для описания структур и ресурсов имеющихся каталогов;
- WSDL – при обращении к удаленным веб-сервисам и приложениям;
- XHTML – для формирования и отображения страниц в Интернете;
- SVG – для описание картинок в векторной форме представления;
- XAML – в процессе описания интерфейсов программного обеспечения.
Изучаемый стандарт напоминает HTML, но отличается от него. Соответствующую разницу должен понимать каждый будущий веб-разработчик.
Чем отличается от HTML
HTML и XML – два языка, которые дополняют друг друга. Они отлично сочетаются, но предназначаются для совершенно разных целей. XML используется, чтобы хранить и передавать информацию, а HTML – для ее непосредственного отображения.
В HTML теги являются предопределенными. Нынешние браузеры знают это. Они могут при помощи HTML-тегов корректно отобразить информацию, заключенную в них. В случае с XML разметкой теги не предопределены. Их разработчик задает в процессе написания исходного кода. Браузеры изначально ничего не знают о соответствующих тегах.
XML-документы могут быть без затруднений преобразованы в HTML-формат. При поступлении информации с сервера в браузер соответствующая процедура осуществляется в автоматическом режиме. Вручную ее тоже можно организовать. Для этого предстоит пользоваться специальным программным обеспечением: BeatifyConverter, Fconvert или Aconvert.
Ключевые особенности
Рассматриваемый язык разметки имеет ряд ключевых особенностей. Их должен знать каждый разработчик, чтобы лучше осознавать принципы работы XML.
К ключевым особенностям стандарта относят следующие моменты:
- Хорошую приспособленность для создания новых версий разнообразных документов и всевозможных объектов. Это связано с тем, что большая часть программного обеспечения продолжает работать, даже если часть данных удалена или добавлена.
- Формат хранения информации. Им является текст. Такой подход делает данные машинно- и программно-независимыми.
- Ясность и понятность как для устройств, так и для людей. Основным преимуществом изучаемого языка служит его высокий уровень читаемости. Это позволяет освоить XML даже тем, кто раньше был достаточно далек от разработки программного обеспечения.
- Размер XML-документа. Он окажется на порядок больше бинарного представления с аналогичными данными. Сэкономить пространство с помощью рассматриваемого языка не представляется возможным.
- Возможность решения большинства задач при помощи простейших, но производительных подходов. В процессе разработки использовать все встроенные возможности языка требуется крайне редко.
- Большую гибкость и отсутствие жестких ограничений у стандарта. Эта особенность позволяет одной и той же структуре быть представленной в нескольких интерпретациях.
Рассматриваемый язык имеет также несколько преимуществ перед остальными инструментами разработки. А еще – поддерживает различные стандарты. С ними рано или поздно познакомится каждый программист.
Преимущества
XML предусматривает несколько преимуществ:
- Высокий уровень доступности. Рассматриваемый язык разметки будет хорошо понятен и компьютерам, и человеку, и смартфонам, и планшетам, и другим устройствам. Документы, используемые в XML-формате, могут быть свободно изучены и откорректированы даже людьми, не имеющими никакого профильного образования в области IT-технологий и разработки программного обеспечения. Для этого достаточно воспользоваться стандартными инструментами редактирования.
- Хорошая совместимость. Это связано с тем, что информация в XML-документе записывается в виде обычного текстового формата. Для их передачи не нужна конвертация. Для внесения новых данных или разметки допускается использование самых разных систем. Пользователь сможет работать с XML-файлами на абсолютно разных операционных системах и платформах.
- Универсальность. Рассматриваемый формат необходим для структурирования, изменения, запроса разнообразных данных. Он будет также доступен в API и коде.
Сравнивая изучаемый формат с HTML, можно отметить, что во втором языке разметки тоже хранение информации осуществляется с помощью тегов. Только эти компоненты будут отвечать за представление данных в структурированной форме. HTML-теги предусматривают возможность настройки расположения отступов абзацев, заголовков и других элементов на странице. XML-теги будут на фоне HTML казаться более сложными – они задают смысл данных. Все это приводит к тому, что HTML не сможет заменить XML, а XML-данные можно представлять в HTML-тегах.
Стандарты XML
XML-стандарты – это расширения, которые предоставляют дополнительные возможности в процессе работы с XML-документами. К наиболее популярным из них принято относить:
- XPath. Используется для более удобной навигации по файлам в рассматриваемом формате.
- XQuery. Помогает обрабатывать данные в XML-формате и выполнять разнообразные иные операции с ними.
- XSLT. Используется для преобразования исходных документов в XML. Выполняет роль своеобразного конвертера. С помощью XSLT удастся перевести XML-файл в HTML и другие интерпретации.
- AJAX. Стандарт, который дает возможность корректировать содержимое веб-страницы, не требуя ее перезагрузки. Активно используется в веб-программировании.
- DTD. Применяется для определения списка разрешенных элементов для сущности в исходном XML-документе.
- XML DOM. Стандарт, который используется для управления отдельными элементами исходного файла. С помощью него можно получать, изменять, добавлять и удалять отдельные составляющие XML-документа.
Еще один момент, о котором необходимо помнить перед началом активной работы с рассматриваемым языком – это способы отображения файлов с соответствующим форматом.
Отображение XML-кода
Основой XML-документа служит текст. Это делает формат .xml легко распознаваемым на различных устройствах. Открыть его получится при помощи таких инструментов как:
- Excel;
- Word;
- Интернет-браузер (любой);
- XML-редактор (XML Editor или Code Beautify);
- «Блокнот» от Windows.
В основном работа с XML-файлами осуществляется при помощи любого текстового редактора. Это значительно упрощает взаимодействие с ними – пользователю или разработчику не потребуется устанавливать и настраивать на оборудовании дополнительное программное обеспечение.
Синтаксис и структура
Чтобы лучше понять, что собой представляет структура XML-документа, необходимо не только рассмотреть наглядный ее пример, но и изучить основы синтаксиса изучаемого языка. Эта информация поможет не только лучше разобраться в упомянутом стандарте, но и даст возможность создавать файлы в формате .xml.
Структура
XML-документ – это файл в формате .xml. Он представляет собой текстовый документ, составленный из элементов под названием «теги».
Структура рассматриваемого типа файлов может быть логической и физической. Согласно физической – файл будет состоять из сущностей, каждая из которых может ссылаться на другую.
Единственный корневой элемент – это документная сущность. Под сущностью принято понимать наименьшую часть в файле. Каждый такой элемент включает в себя символьные записи и имена. Символы делятся на два типа: символы данных и символы разметки. Первые отвечают за непосредственное хранение текста (информации).
К разметке относят следующие элементы:
- теги – используются для разграничения компонентов исходного файла;
- объявления и инструкции, включая их атрибуты;
- комментарии;
- ссылки на имеющиеся сущности;
- цепочки символов, обрамляющие секции «CDATA».
Логическая структура подразумевает, что файл включает в себя элементы, комментарии, а также объявления, ссылки на сущности и инструкции обработки. Все это в документе структурируется при помощи разметки.
Все элементы исходного файла подразделяются на корневой элемент и пролог. В качестве корневого элемента выступает обязательная часть документа, составляющая суть XML. Пролог не является необходимым. Он может вовсе отсутствовать.
Корневой элемент включает в себя:
- комментарии;
- вложенные элементы;
- символьные данные.
Вложенность элементов должна быть грамотной, иначе файл будет считывать некорректно.
Выше можно увидеть наглядный пример XML-разметки. Это – шаблон представления структуры документов, выполненных в рассматриваемом формате. Чтобы лучше понять его, необходимо внимательно изучить синтаксис языка.
Символы разметки
Чтобы составить файл в рассматриваемом формате, необходимо помнить, что основным его элементом является разметка. Она начинается и заканчивается символами «<» и «>» соответственно (без кавычек).
Вместе с угловыми скобками специальная роль отводится символу амперсанда («&»). Он помогает в процессе замены текста посредством сущностей. Угловые скобки задают границы элементов, а также инструкции обработки и некоторые другие последовательности.
XML-объявление
Объявление XML – это декларация. Она иногда выступает прологом. При XML-объявлении разработчик должен указать версию языка, используемого для написания исходного файла. Здесь же указываются сведения об используемой кодировке. Согласно установленным стандартам, объявление пишется в самом начале. Это связано с тем, что от версии языка зависит дальнейшая трактовка содержимого исходного документа.
В первой версии языка XML декларация действительно была прологом. Этот элемент мог отсутствовать в исходном файле с данными. Если объявление отсутствует, подразумевается, что дальнейшая трактовка информации осуществляется при помощи XML 1.0.
Выше – наглядный пример декларации. Она всегда будет иметь предложенный вид. Меняется в зависимости от ситуации только версия используемого языка и кодировка текста в исходном файле.
При работе с этим элементом необходимо помнить о нескольких правилах:
- Объявление – элемент, чувствительный к регистру. Это значит, что за ним необходимо внимательно следить.
- Начинается рассматриваемый элемент обязательно с «<?xml>», где xml пишется строчными буквами.
- Если в исходном файле имеется объявление, оно должно «идти» первой строчкой (оператором).
- HTTP помогает переопределять значение кодировки, указанной в XML-объявлении.
Эти простые правила помогут грамотно сформировать декларацию, если в ней есть необходимость.
Теги
Тег – это специальная конструкция разметки. Она включает в себя имя элемента. Теги бывают:
- открывающимися (начальными);
- закрывающимися (конечными);
- пустыми – они включают в себя открывающийся и закрывающиеся теги и ничего больше.
Каждый XML-элемент должен быть закрыт или начальным, или конечным тегом.
Элементы
Элемент XML – это некий «строительный блок» рассматриваемого документа. Он может вести себя различными способами: как контейнеры для хранения других элементов, атрибутов, медиа-объектов и текста. Элементы – это неотъемлемая часть XML-разметки документа. Область их действия обозначается при помощи тегов.
Выше – наглядный пример отображения элементов. Здесь:
- Title, author, price и year включают в себя текстовый контент. Это связано с тем, что они содержат текст.
- Book и bookstore содержат элементный контент, включающий в себя другие элементы.
- Book предусматривает атрибут (category=«CHILDREN»).
В XML-файлах иногда могут встречаться пустые элементы – это элементы, в которых отсутствует контент. Для его обозначения рекомендуется использовать записи:
Второй вариант записи носит название самозакрывающегося. Обе предложенные интерпретации будут выдавать одинаковый результат в XML-программах. Пустые элементы могут включать в себя атрибуты.
При написании XML-имен необходимо помнить следующее:
- имена элементов чувствительны к регистру;
- имена начинаются или с буквы, или с нижнего подчеркивания;
- сочетание XML не может быть в самом начале имени;
- в именах допустимо использовать: буквы, числа, дефис, подчеркивание, точку;
- имена элементов не могут включать в себя пробелы;
- цифры и символы пунктуации не могут стоять в самом начале.
В качестве имен допустимо использовать совершенно любые слова. Зарезервированных (за исключением XML) среди них нет.
Атрибуты
Атрибуты – это часть элементов XML. Каждый компонент рассматриваемого документа может включать в себя несколько уникальных атрибутов. С их помощью можно указать больше данных об элементе.
Атрибут – это то, что определяет свойства составляющих XML-файла. Он всегда представлен в виде пары: имя=значение.
Выше – пример интерпретации атрибута в теге. Его значение всегда пишется в двойных или одинарных кавычках. Атрибуты используются только в начальном теге и теге пустого элемента.
Здесь необходимо запомнить следующее:
- Имена атрибутов являются чувствительными к регистру. В случае с HTML подобная особенность отсутствует.
- Один и тот же атрибут не может обладать двумя значениями в синтаксисе.
- Имена атрибутов пишутся без кавычек. Значения соответствующего компонента всегда обрамляются кавычками.
Это – простейшие правила, которые помогут грамотно задавать разнообразные атрибуты в пределах XML-файлов.
Именные пространства
В процессе написания исходного кода иногда приходится использовать одинаковые по написанию объекты. Примером может послужить Claim. Это – жалоба и обращение. Разработчик должен сообщить системе, как правильно обрабатывать первый объект, а как – второй.
Чтобы добиться желаемого результата, необходимо задействовать пространство имен. Это – метод, используемый для устранения конфликтов наименования элементов в исходном коде. Задается именное пространство в виде атрибутов к тегу.
Служебные символы и текст
Имена XML элементов и атрибутов являются чувствительными к регистру, из-за чего названия начальных и конечных элементов должны быть написаны в одном регистре. Чтобы избежать проблем, связанных с символьной кодировкой, все XML-файлы рекомендуется сохранять как файлы Unicode UTF-8 или UTF-16.
Игнорируются следующие типы пробелов между элемента и атрибутами XML:
- табуляция;
- пробелы;
- переводы строк.
Некоторые символы, используемые в рассматриваемом языке, являются зарезервированными системой. Они не могут быть задействованы в качестве сильной информации, а также записаны в виде атрибутов в своем «классическом» исполнении. Для отображения зарезервированных символов используются специальные последовательности.
Соответствующие записи пригодятся, если необходимо задать внутри значений атрибутов кавычки и апострофы:
Символ | Замещающая комбинация | Расшифровка |
< | < | Меньше, чем |
> | > | Больше (лучше), чем |
& | & | Амперсанд |
“ | " | Кавычка |
‘ | & apos; | Апостроф |
Структура XML-файлы теперь более-менее понятна. Быстрее освоить рассматриваемый язык и его особенности помогут дистанционные компьютерные курсы.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!