1. Языки разметки html/xml.

Уважаемые учащиеся, вам предлагается курс «Разработка мобильных приложений под Android».

В пособии приводится ряд подробных примеров создания мобильных приложений, включающих основные визуальные элементы. Рассматривается работа в интегрированной среде разработки (IDE) AndroidStudio для работы с платформой Android. Все теоретические положения детально демонстрируются на практических примерах.

Желаем Вам успехов в изучении материала!

#### **ЯЗЫКИ РАЗМЕТКИ HTML/XML**

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

Такие страницы как правило имеют расширение htm или html.
Отдельный документ, выполненный в формате HTML, называется: HTML-документом;
Web-документом; Web-страницей.

**XML** означает **Extensible Markup Language (расширяемый**
язык разметки)**, с акцентом на markup (разметка). Вы можете создавать текст**
и размечать его при помощи обрамляющих тегов, превращая каждое слово,
предложение или фрагмент в идентифицируемую, сортируемую информацию.
Создаваемые вами файлы, или экземпляры документа, состоят из элементов (**тегов**) и текста, причем элементы
помогают правильно понимать документ при чтении на бумаге или даже обрабатывать
его в электронном виде. Чем больше описательных элементов, тем больше частей
документа можно идентифицировать.

Такие страницы как
правило имеют расширение xml. Отдельный документ, выполненный в формате XML, называется: XML-документом.

#### **СТРУКТУРА HTML-ДОКУМЕНТА**

**Элемент** —
конструкция языка HTML. Это контейнер, содержащий данные и позволяющий
отформатировать их определенным образом. Любая Web-страница представляет собой
набор элементов. Одна из основных идей гипертекста возможность вложения
элементов.

**Тег** — начальный
или конечный маркеры элемента. Теги определяют границы действия элементов и
отделяют элементы друг от друга. В тексте Web-страницы теги заключаются в
угловые скобки, а конечный тег всегда снабжается косой чертой. Например,
элемент, содержащий некоторый текст, ограничен начальным тегом (маркером)
<p> и конечным тегом (маркером) </p>. Т.е. текст помещен между
тегами как в контейнер. Здесь же можно увидеть, как осуществляется возможность
вложения элементов. Тег <font> вложен внутрь тега <p>, поэтому
конечный тег </font> стоит перед </p>. В данном примере тег
<p> указывает на то, что текст является отдельным абзацем, а тег
<font> задает, например, формат шрифта.

```
<p> <font color=«green»> Этот текст будет расположен в отдельном абзаце и выполнен зеленым цветом шрифта</font> </p>

```

В результате такого форматирования на экране компьютера мы увидим текст зеленого цвета в отдельном абзаце.

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

<p align=«center»> Этот текст будет выровнен по центру экрана </p>. В данном примере атрибут align (выравнивание) расположен внутри тега <p>, следовательно он задает выравнивание этого абзаца. Значение атрибута равно «center», т.е. выравнивание абзаца будет по центру экрана.

Более подробно о наборе тегов и правилах форматирования тексов можно узнать из дополнительной литературы.

#### **СТРУКТУРА XML-ДОКУМЕНТА**

Файлы XML состоят из текста и разметки. Большая часть текста помещается в элементы (как и в случае с HTML), в которых текст окружен тегами (в отличие от языка HTML, может содежать собственный набор тегов). Например, нужно создать поваренную книгу в формате XML. У нас есть рецепт под названием «Фруктовое мороженое», который нужно преобразовать в XML. Чтобы разметить название рецепта, заключим его текст в элемент, который начинается и заканчивается тегами. Этот элемент можно назвать recipename. Чтобы отметить начальный тег элемента, поместим его имя в угловые скобки <>), вот так: <recipename>. Затем введем текст Фруктовое мороженое. После текста поставим замыкающий тег, который представляет собой имя элемента в угловых скобках, плюс косая черта завершения элемента (/) перед именем элемента, вот так: </recipename>. Эти теги образуют элемент, в который можно вводить текст и даже другие элементы.

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

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

Декларация может выглядеть просто как <XML> или включать версию XML (<XMLversion=«1.0»>) и даже кодировку символов для Unicode, например:

```
<?xml version=«1.0» encoding=«utf-8»?>.

```

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

```
<?xml version=«1.0» encoding=«UTF-8»?>

```

```
<recipe>

```

```
</recipe>

```

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

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

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

Регистр не имеет значения, но во избежание путаницы соблюдайте его.

В предыдущем примере, если бы мы добавили элемент с именем <recipename>, то его начальным тегом должен быть <recipename>, а соответствующим замыкающим тегом —</recipename>

```
<?xml version=«1.0» encoding=«UTF-8»?>

```

```
<recipe>

```

```
<recipename> Фруктовое мороженое </recipename>

```

```
<preptime>5 минут</preptime>

```

```
</recipe>

```

**Вложение** — это
размещение элементов внутри других элементов. Эти новые элементы называются **дочерними элементами**, а элементы,
которые их окружают, — их **родительскими**
элементами**. Ниже в примере кода в корневой элемент <recipe> вложено несколько элементов.**
Это вложенные дочерние элементы <recipename>, <ingredlist> и <preptime>. Внутри элемента <ingredlist> находится несколько
одинаковых дочерних элементов <listitem>. Вложение может делать XML-документ многоуровневым.

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

```
<?xml version=«1.0» encoding=«UTF-8»?>

```

```
<recipe>

```

```
<recipename> Фруктовое мороженое </recipename>

```

```
<ingredlist>

```

```
<listitem>

```

```
<quantity>3</quantity>

```

```
<itemdescription>Шоколад</itemdescription>

```

```
</listitem>

```

```
<listitem>

```

```
<quantity>1</quantity>

```

```
<itemdescription>Орехи</itemdescription>

```

```
</listitem>

```

```
<listitem>

```

```
<quantity>1</quantity>

```

```
<itemdescription>Вишневый джем</itemdescription>

```

```
</listitem>

```

```
</ingredlist>

```

```
<preptime>5 минут</preptime>

```

```
</recipe>

```

К элементам иногда добавляются **Атрибуты**. Атрибуты состоят из пары имя-значение, где значение
берется в двойные кавычки («), вот так: type=«десерт». Атрибуты позволяют сохранять
вместе с элементом дополнительные параметры, меняя значения этих параметров от
элемента к элементу в одном и том же документе.

Атрибут — или даже несколько атрибутов — указывается внутри
начального тега элемента: <recipe type=«десерт»>. При добавлении
нескольких атрибутов они разделяются пробелами: <recipename
cuisine=«английская кухня» servings=«1»>. Ниже показан файл XML, как он
выглядит теперь:

```
<?xml version=«1.0» encoding=«UTF-8»?>

```

```
<recipe type=«десерт»>

```

```
<recipename cuisine=« английская кухня « servings=«1»> Фруктовое

```

```
мороженое </recipename>

```

```
<preptime>5 минут</preptime>

```

```
</recipe>

```

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