Опубликован: 07.11.2006 | Уровень: специалист | Доступ: платный
Лекция 18:

XML

Оформление содержимого XML

Теперь мы знаем немного об XML, целях использования этого языка и о способах конструирования базового документа XML. Поднимемся на ступень выше и применим некоторое оформление к нашему XML; знание о том, как это делается, поможет вам при создании документов.

Таблица стилей по умолчанию

Вспомните материал "Движемся дальше" , где мы создавали файл pictures.xml и открывали его в браузере.


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

Чтобы присвоить документу наш собственный стиль, нужно создать внешнюю таблицу стилей и ссылку на таблицу стилей внутри документа XML, к которому мы хотели бы применить стиль (стили).

Применение таблиц стилей к документам XML

Не сомневаемся, что вы уже знакомы с каскадированием таблиц стилей, если вы уже в той или иной степени использовали HTML. В HTML мы можем размещать информацию о каскадировании таблиц стилей внутри тегов <style> </style> следующим образом.

<html>
  <head>
    <style>
      div {background-color:white;color:darkblue;};
    </style> 
  </head>
  <div>Some Text</div> 
</html>

В браузере вышеуказанный код HTML выведет текст "Some Text" темно-синим цветом на белом фоне.

В XML необходимо создать отдельный документ для наших стилистических предпочтений, а затем сослаться на него внутри файла XML. Используем XML, с помощью которого мы описывали группу Beatles.

  1. Введите следующий XML-код в текстовый файл и сохраните его под именем beatles.xml.
    <?xml version='1.0' ?>
    <!-- members of The Beatles -->
    <Beatles>
      <member>Lennon</member>
      <member>Ringo</member>
      <member>McCartney</member>
      <member>Harrison</member> 
    </Beatles>
  2. Теперь создадим нашу собственную таблицу стилей. Введите следующую строку в текстовый файл и сохраните его под именем 1a.css в той же директории, в которой находится файл XML.
    member { display: block; }

    Теперь у нас есть документ, к которому мы хотим применить нашу таблицу стилей, так как отдельный документ, содержащий наш стиль, предпочтительнее. Последнее, что мы должны сделать, это сослаться на файл CSS внутри XML.

  3. Для связи документа XML с документом CSS мы просто добавляем инструкцию обработки в документ XML в следующем виде.
    <?xml-stylesheet type="text/css" href="1a.css" ?>

    Эта строка должна быть добавлена стразу после объявления XML или <!DOCTYPE>. Итак, с применением таблицы стилей, созданной нами только что, наше объявление будет выглядеть следующим образом.

    <?xml version='1.0' ?>
    <?xml-stylesheet type="text/css" href="1a.css" ?>

    Добавьте выделенную строку кода в файл beatles.xml и сохраните его под именем beatlesWithStyle.xml. При открытии файла в браузере, вместо таблицы стилей по умолчанию, к тексту будет применено такое форматирование.


    Можем улучшить стилистику нашего документа XML, добавив ссылки в таблицу стилей. Введите следующий код в текстовый файл и сохраните его под именем 1b.css в одной директории с вашим файлом XML.

    member
    {
      display: block; 
      background-color: green; 
      color: yellow; 
      font-family: Arial; 
      font-style: italic; 
      text-align: right; 
      font-size: large;
    }

    Нужно изменить объявление таблицы стилей XML следующим образом.

    <?xml-stylesheet type="text/css" href="1b.css" ?>

    Обратите внимание, что теперь мы ссылаемся на 1b.css с новыми стилистическими предпочтениями, а не на 1a.css. Результатом вашей работы будет примерно то, что показано на рисунке ниже.


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

Корректный код XML

Не стоит слишком уж беспокоиться о корректности. Помимо синтаксических, есть два способа установки правил для XML, точно определяющих, какие теги должны появиться в документах XML. Например, если у вас есть система, описывающая с помощью XML устройство автомобиля, вы можете установить правило, согласно которому элементы сидений <seat/> должны всегда находиться внутри узла <car>. Вам также может понадобиться, чтобы файл автомобиля считался некорректным, если он содержит любые теги из файла апельсина. XML Schemas и, первоначально, DTD (Document Type Definitions), являются технологиями, используемыми для проверки корректности XML. Они устанавливают, верно ли сформирован XML-код, а также проверяют корректность применительно к контексту, в котором он использован. Процесс проверки XML является комплексным подходом и выходит за рамки этой лекции, поэтому давайте сейчас вернемся к рассмотрению использования XML во Flash.

Игорь Хан
Игорь Хан

у меня аналогичная ситуация. Однако, если взять пример из приложения (ball_motion_04_click for trial.fla) то след остается. при этом заметил, что в моем проекте в поле "One item in library" виден кружок, в то время как в приложенном примере такого кружка нет.

Вопрос знатокам, что не так?

Александр Коргапольцев
Александр Коргапольцев

объект созданый мной упорно не желает оставлять след(единственное что добился, так это то что шарик резво гоняется за курсором) функция duplicateMovieClip остаётся не активной, т.е. следа от объекта не остаётся, но если я тоже самый код вбиваю в учебный файл всё работает, не могу понять где я ошибаюсь и почему в документе созданном заново, не работает код начиная от функции duplicateMovieClip? 

Тамара Ионова
Тамара Ионова
Россия, Нижний Новгород, НГПУ, 2009
Магомед Алисултанов
Магомед Алисултанов
Россия, Волгоград, лицей 2