Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Цель работы: Освоение приемов создания XML-документов с использованием каскадных таблиц стилей.
Язык XML (Extensible Markup Language) - технология организации хранящейся на Web-серверах структурированной информации.
Самый популярный на сегодняшний день язык гипертекстовой разметки HTML - обладает несложным набором команд и вполне успешно справляется с задачей описания текстовой информации и отображением ее на экране программы просмотра - браузера. Однако сами отображаемые данные никак не связаны с теми тэгами, которые используются для форматирования, поэтому у программ-анализаторов нет возможности использовать тэги HTML для поиска нужных фрагментов документа. Однако современные приложения нуждаются не только в языке представления данных на экране клиента, но и в механизме, позволяющем определять структуру документа, описывать содержащиеся в нем элементы.
Другим существенным недостатком HTML можно назвать ограниченность набора его тэгов. Хотя время от времени появляются новые расширения языка, но долгий путь их стандартизации, сопровождаемый постоянными разногласиями между основными производителями браузеров делают практически невозможной быструю адаптацию языка, его использование для отображения специализированной информации (например, мультимедийной, математических, химических формул и т.д.).
Таким образом, можно утверждать, что HTML уже сегодня не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки язык XML. В чем же заключается его достоинства?
XML (Extensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания.
Кроме того, XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента.
XML позволяет также осуществлять контроль за корректностью данных, хранящихся в документах, производить проверки иерархических соотношений внутри документа и устанавливать единый стандарт на структуру документов, содержимым которых могут быть самые различные данные. Это означает, что его можно использовать при построении сложных информационных систем, в которых очень важным является вопрос обмена информацией между различными приложениями.
Также одним из достоинств XML является то, что программы-обработчики XML- документов не сложны и уже сегодня появились и свободно распространяются всевозможные программные продукты, предназначенные для работы с XML-документами. XML поддерживается сегодня в Microsoft Internet Explorer, Netscape Communicator, СУБД Oracle, DB-2, в приложениях MS-Office .
Пусть дан структурированный набор информации (Рисунок 1) в виде описи (INVENTORY) книг, где для каждой книги заданы: название (TITLE), автор (AUTHOR), переплет (BINDING), число страниц (PAGES) и цена (PRICE).
Рисунок 1 Структура описи книг
Информационной структуре, представленной на Рисунке 1, может быть поставлен в соответствие XML-документ, листинг которого приведен на рисунке 2.
Обратите внимание на то, что этот документ очень похож на обычную HTML-страницу. Также, как и в HTML, инструкции, заключенные в угловые скобки называются тэгами и служат для разметки основного текста документа.
Состоит XML- документ из двух частей: пролога и тела.
Пролог это первые три строки документа, включая пустую строку. В первой строке пролога помещается объявление XML - инструкция <?xml?>, внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа. В данном примере задан номер версии языка 1.0. Последней строкой пролога является комментарий, указывающий название файла, в котором сохранен XML- документ. Обратите внимание на то, что файл имеет расширение .xml.
<?xml version="1.0"?>
<!--File name: Inventory01.xml -->
<INVENTORY>
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK>
<TITLE>Moby-Dick</TITLE>
<AUTHOR>Herman Melville</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>605</PAGES>
<PRICE>$4.95</PRICE>
</BOOK>
<BOOK>
<TITLE>The Scarlet Letter</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>253</PAGES>
<PRICE>$4.25</PRICE>
</BOOK>
</INVENTORY>
Рисунок 2 Составные части XML-документа
Тело документа XML состоит из элементов разметки (тэгов) и непосредственно содержимого документа - данных.
В общем случае тело XML- документа должен удовлетворять следующим требованиям:
1. Элемент, обрамляющий тело XML- документа и называемый корневым, должен быть только один. В приведенном примере этим элементом является <INVENTORY>.
2. Каждый открывающий тэг обязательно должен иметь парный закрывающий, т.е., в отличие от HTML, нельзя опускать закрывающие тэги;
3. В XML учитывается регистр символов;
4. Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки;
5. Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов;
6. Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные, и поэтому учитываются все символы форматирования (т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML).
Набором всех элементов, содержащихся в документе, задается его структура, и определяются все иерархическое соотношения. Плоская модель данных превращается с использованием элементов в сложную иерархическую систему со множеством связей между элементами.
Производя в последствии поиск в этом документе, программа клиента будет опираться на информацию, заложенную в его структуру - используя элементы документа. Т.е. если, например, требуется найти нужную книгу конкретного автора, используя приведенный фрагмент документа, то необходимо будет просмотреть содержимое элементов <TITLE> и <AUTHOR>, находящегося внутри одного элемента <BOOK>. Поиск при этом, естественно, будет гораздо более эффективен, чем случайное нахождение нужной последовательности по всему документу.
Поскольку в XML пользователь создает свои собственные элементы (тэги), браузер не имеет встроенных средств, позволяющих определить, как их правильно отобразить. В XML существует три метода сообщения браузеру о способе интерпретации тэгов, созданных пользователем:
При выполнении данной работы необходимо освоить первый, наиболее простой, из вышеперечисленных методов.
Таблица каскадных стилей представляет собой текстовый файл с расширением .css, который содержит набор правил, сообщающих браузеру, каким образом форматировать и отображать элементы в определенном XML-документе. Как и XML-документ, таблица стилей создается с помощью текстового редактора.
Таблица стилей состоит из одного или нескольких правил (рисунок 3). Правило содержит информацию по отображению определенного элемента.
BOOK
{display: block;
margin-top: 12pt;
Рисунок 3 Правило по отображению элемента в таблице стилей
На рисунке 4 приведен листинг простой таблицы каскадых стилей, составленой для XML-документа Inventory01.xml, рассмотренного в п.1.1:
/* File name: Inventory01.css */
BOOK
{display: block;
margin-top: 12pt;
TITLE
{display: block;
font-weight: bold;
font-style: italic}
AUTHOR
{display: block;
margin-left: 15pt;
font-weight: bold}
BINDING
{display: block;
margin-left: 15pt}
PAGES
{display: none}
PRICE
{display: block;
margin-left: 15pt}
Рисунок 4 Пример таблицы каскадных стилей
Пример содержит следующие объявления:
На рисунке 5 показано как Internet Explorer отображает XML-документ, который использует данную таблицу стилей.
Рисунок 5 Отображение XML-документа браузером
Каждый XML-документ должен быть корректно сформированным, т.е. отвечать минимальным требованиям по составлению XML-документа. Если документ не является корректно сформированным, он не может считаться XML-документом.
Корректно сформированный XML-документ также может быть валидным. Валидным (valid) называется корректно сформированный (well-formid) документ, отвечающий двум дополнительным требованиям:
Включение DTD и проверка валидности имеют особое значение, если документ будет обрабатываться программой пользователя, ориентированной на определенную структуру документа. Например, если группа математиков создает математические документы, которые будут отображаться специальной программой, все они могут включить в свои документы одинаковые DTD, которые содержат определения требуемой структуры, элементов, атрибутов и других компонентов.
Объявление типа документа имеет следующую обобщенную форму записи:
<!DOCTYPE Имя DTD>
Здесь Имя указывает на имя Элемента. Например, объявление типа документа, рассмотренного в предыдущем разделе, может выглядеть следующим образом:
<!DOCTYPE INVENTORY DTD>
Здесь DTD следует заменить реальным содержимым.
<!ELEMENT Имя опись_содержимого>
Здесь Имя есть имя объявляемого типа элемента. Опись_содержимого - это описание содержимого, которое определяет, что может содержать элемент.
Если элемент имеет содержимое, он может непосредственно содержать только определенные дочерние элементы, но не символьные данные. В тексте документа вы можете разделять дочерние элементы пробелами, чтобы улучшить восприятие документа, но процессор будет игнорировать символы пробела и не передаст их приложению.
Рассмотрим следующий пример XML-документа, описывающий одну книгу:
<?xml version="1.0"?>
<!DOCTYPE BOOK
[
<!ELEMENT BOOK (TITLE, AUTHOR)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT AUTHOR (#PCDATA)>
]
>
<BOOK>
<TITLE>The Scarlet Letter</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
</BOOK>
Модель содержимого может иметь одну из следующих форм:
Последовательная форма модели содержимого указывает, что элемент должен иметь заданную последовательность дочерних элементов. Например:
<!ELEMENT BOOK (TITLE, AUTHOR, PAGES)>
Соответственно, следующий элемент будет валидным:
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<PAGES>298</PAGES>
</BOOK>
А следующий не будет валидным из-за того, что порядок дочерних элементов не соответствует объявленному:
<BOOK>
<AUTHOR>Mark Twain</AUTHOR>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<PAGES>298</PAGES>
</BOOK>
Выборочная форма модели содержимого указывает, что элемент должен иметь любой из серии допустимых дочерних элементов, разделяемых символом |. Например:
<!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR) >
Такое объявление делает корректными следующие элементы:
<FILM >
<STAR>Morgan Attenbury</STAR>
</FILM>
<FILM >
< NARRATOR >Bertram Wooster</ NARRATOR >
</FILM>
<FILM >
< INSTRUCTOR >Stinker Pike</ INSTRUCTOR >
</FILM>
Следующий элемент не будет валидным, поскольку может содержать только один из дочерних элементов
<FILM ><!--Неправильный элемент!-- >
<STAR>Morgan Attenbury</STAR>
< NARRATOR >Bertram Wooster</ NARRATOR >
</FILM>
Вы можете изменить любую из этих форм модели содержимого, используя знак вопроса (?), знак плюс (+), и звездочку (*), значения которых описаны в таблице 1.
Таблица 1 Значения символов, задающих опись содержимого элемента
Символ |
Значение |
? |
Ни одного или один из предшествующих элементов |
+ |
Один или несколько из предшествующих элементов |
* |
Ни одного или несколько из предшествующих элементов |
Например, следующее объявление означает, что элемент BOOK должен иметь один дочерний элемент TITLE, один или несколько элементов AUTHOR и что дочерний элемент PAGES является необязательным:
<!ELEMENT BOOK (TITLE, AUTHOR+, PAGES?)>
Соответственно, каждый из следующих элементов будет правильным:
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<PAGES>298</PAGES>
</BOOK>
<BOOK>
<TITLE>Moby-Dick</TITLE>
<AUTHOR>Herman Melville</AUTHOR>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
</BOOK>
Можно воспользоваться символами ?, + или * для модификации всей модели содержимого, помещая символы непосредственно после закрывающихся скобок:
<!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR) +>
Такое объявление делает корректными следующие элементы:
<FILM >
<STAR>Morgan Attenbury</STAR>
< NARRATOR >Bertram Wooster</ NARRATOR >
</FILM>
<FILM >
<STAR>Sean Connery</STAR>
<STAR>Meg Ryan</STAR>
</FILM>
<FILM >
< INSTRUCTOR >Stinker Pike</ INSTRUCTOR >
</FILM>
Можно формировать более сложные модели содержимого путем вложения выборочной модели внутрь последовательной, либо последовательной модели в выборочную:
<!ELEMENT FILM (TITLE, CLASS, (STAR | NARRATOR | INSTRUCTOR) )>
Чтобы объявить элемент смешанного содержимого, можно воспользоваться одной из следующих форм модели содержимого:
<!ELEMENT SUBTITLE (#PCDATA)>
Следующие два элемента в соответствии с данной декларацией являются корректными:
< SUBTITLE >A NEW APPROACH</ SUBTITLE >
< SUBTITLE ></ SUBTITLE >
<!ELEMENT TITLE (#PCDATA | SUBTITLE)*>
В соответствии с этим объявлением следующие элементы TITLE являются допустимыми:
<TITLE>
Moby-Dick
< SUBTITLE >Or, the Whale</ SUBTITLE >
</TITLE>
<TITLE>
Or, the Whale
< SUBTITLE > Moby-Dick </ SUBTITLE >
</TITLE>
<TITLE>
Moby-Dick
</TITLE>
<TITLE>
< SUBTITLE >Or, the Whale</ SUBTITLE >
< SUBTITLE >Another subtitle</ SUBTITLE >
</TITLE>
<TITLE></TITLE>
I. Создание первого XML-документа
Попробуйте изменить степень детализации представления элементов документа. Щелкните на символе знака минус (-), чтобы свернуть документ, либо на знаке плюс (+) рядом со свернутым элементом, чтобы развернуть его.
<?xml-stylesheet type="text/css" href="Inventory01.css"?>
Эта инструкция по обработке устанавливает связь созданной вами CSS-таблицы и XML-документа.
<?xml-stylesheet type="text/css" href="Inventory02.css"?>
Эта инструкция по обработке устанавливает связь между новой CSS-таблицей, созданной вами, и XML-документом.
Чтобы отразить новое присвоенное вами имя файла, измените комментарий в начале документа на <!-- File name: Inventory02.xml -->
II. Создание валидного XML-документа.
ВАРИАНТЫ ЗАДАНИЙ
Вариант 1- Список студентов
Группа |
АТП-05-1 |
АТП-05-2 |
|||
Ф.И.О |
Иванов Андрей Павлович |
Петров Василий Иванович |
Ф.И.О |
Иванов Андрей Павлович |
|
Форма оплаты |
договор |
+ |
|||
бюджет |
+ |
+ |
+ |
||
Изучаемый язык |
Англ. |
+ |
+ |
||
Нем. |
+ |
||||
Фран. |
+ |
||||
Общежитие |
+ |
||||
Адрес родителей |
Сургут |
Ишим |
Курган |
Ноябрьск |
Вариант 2- Автомобили
Марка |
Opel |
Nissan |
|||
Модель |
Corsa |
Vectra |
Модель |
Corsa |
Vectra |
Год выпуска |
2005 |
2005 |
2004 |
2005 |
2006 |
Объем двигателя, л |
1.0 1.2 |
1.6 1.8 2.0 |
1.5 |
1.2 |
2.0 2.5 3.0 |
Топливо |
Б |
Б/Д |
Б |
Б |
Б/Д |
Цвет |
Белый Синий |
Белый Красный Серый |
Зеленый |
Лимон |
Серебристый Синий Черный |
Цена, $ |
13 510 |
25 765 |
15 150 |
14 900 |
30 900 |
Вариант 3- Промышленные контроллеры
Контроллер |
Modicon |
SCADA-PACK |
Allen Bradley |
Direct Logic |
Фирма производ. |
Schneider Electric |
Control Microsystems |
Rockwell Automation |
Automation Direct |
Температурный диапазон |
-50 - +50 0С |
-50 - +50 0С |
0 - +50 0С |
-50 - +50 0С |
Кол-во обрабатываемых сигналов |
1200 |
256 |
1000 |
800 |
Пакет для программирования |
Concept |
TelePace |
RS Logic |
Direct Soft |
Языки программирования |
984LL FBD ST IL SFC LD |
Ladder Logic C |
Ladder Logic |
Ladder Logic |
Поддерживаемые протоколы |
Modbus Modbus+ Modbus TCP |
Modbus Modbus TCP DF1 |
DF1 DH+ DH485 ControlNet |
DirectNet Modbus K-Sequence |
Вариант 4- Мобильные телефоны
Фирма |
Siemens |
Nokia |
|||
Модель |
MC60 |
S75 |
A57 |
N80 |
7610 |
Полифония |
40 |
16 |
- |
16 |
40 |
Функции |
Будильник Органайзер игры |
Будильник Органайзер Игры |
Будильник |
Будильник Органайзер |
Будильник Органайзер игры |
Доп. возм. |
Фотокамера |
Фотокамера Bluetooth IrDA |
Фотокамера Bluetooth IrDA |
Фотокамера Bluetooth |
|
Память |
1.87 Mb |
10 Mb |
1.9 Mb |
4 Mb |
8 Mb |
Цена, руб |
2500 |
6000 |
3000 |
4000 |
5500 |
Вариант 5- Локальная сеть Ethernet
Вариант |
Ethernet |
Fast Ethernet |
Gigabit Ethernet |
10G Ethernet |
||||||
Стандарт |
IEEE 802.3 |
IEEE 802.3u |
IEEE 802.3z IEEE 802.3ab |
? |
||||||
Пропускная способность, Мбит/с |
10 |
100 |
1000 |
10 000 |
||||||
Тип кабеля |
Коакс. |
Вит. пара |
Оптовол. |
Вит. Пара |
Оптовол |
Вит. Пара |
Оптовол. |
Коакс. |
Вит. пара |
Оптовол. |
Макс. Длина сегмента, м |
500 |
100 |
2000 |
100 |
136 |
100 |
5000 |
25 |
100 |
1000 |
Топология |
Шина |
Звезда |
Звезда |
Звезда |
Звезда |
Звезда |
Звезда |
Шина |
Звезда |
Звезда |
Метод доступа |
CSMA/CD |
CSMA/CD |
CSMA/CD |
CSMA/CD |
Вариант 6- Музыка
Жанр |
Рок |
РЭП |
Классика |
||
Исполнитель |
Pink Floyd |
Rammstein |
Linkin Park |
Eminem |
Beethoven |
Композиции |
Nobody Home |
Engel |
NUMB |
Just lose it |
Allegretto |
Dont love me now |
Mutter |
Crawling |
My name is |
Fur Elise |
|
Outside The Wall |
Sonne |
Session |
Stan |
Apteose della dausa |
|
In the Flash |
Dont stay |
My Band |
|||
Формат |
WMA MP3 AVI |
WMA MP3 MPG AVI VOB |
WMA MP3 MPG AVI |
WMA MP3 MPG AVI VOB |
WMA MP3 MPG AVI |
Вариант 7- Путешествия
Тур |
Золотое кольцо |
По Европе |
|||
Город |
Владимир |
Суздаль |
Гусь Хрустальный |
Париж |
Рим |
Кол-во дней |
9 |
14 |
|||
Отель |
** |
***/**** |
|||
Питание |
3 раз |
3 раз |
|||
Трансфер |
- |
+ |
|||
Экскурсии |
Обзорная по городу |
Кремль, Музей деревянного зодчества |
Музей хрусталя |
Лувр Версаль Фонтенбло |
Ватикан |
Вариант 8- Основные конфигурации Ethernet.
Ethernet |
Thick Wire Ethernet |
Thin Wire Ethernet |
UTP Ethernet |
FiberOptic Ethernet |
Broadband Ethernet |
IEEE 802.3 |
10Base5 |
10Base2 |
10Base-T |
10Base-F |
10Broad36 |
Скорость передачи данных Мбит/с |
10 |
10 |
10 |
10 |
10 |
Метод передачи сигналов |
однополосный |
однополосный |
однополосный |
однополосный |
широкополосный |
Длина сегмента кабеля, м |
500 |
185 |
100 |
2000 |
1800 |
Тип кабеля |
50 Омный коаксиал. “толстый” |
50 Омный коаксиал. “тонкий” |
витая пара |
Оптоволокно |
75 Омный коакс-й “толстый” |
Топология подключения устройств |
шина |
шина |
звезда |
звезда, двух-точечное соединение |
шина |
Вариант 9 - Скорости PDH
Америка |
Европа |
||||||
Обозна-чение канала |
Количество голосовых каналов |
Количество каналов предыдущего уровня |
Скорость, Мбит/с |
Обозна-чение канала |
Количество голосовых каналов |
Количество каналов предыдущего уровня |
Скорость, Мбит/с |
1 |
1 |
64 Кбит/с |
1 |
1 |
64 Кбит/с |
||
Т1 |
24 |
24 |
1,544 |
Е1 |
30 |
30 |
2,048 |
Т2 |
96 |
4 |
6,312 |
Е2 |
120 |
4 |
8,488 |
Т3 |
672 |
7 |
44,736 |
Е3 |
480 |
4 |
34,368 |
Т4 |
4032 |
6 |
274,176 |
Е4 |
1920 |
4 |
139,264 |
Вариант 10 - Скорости технологии SONET/SDH
SDH |
SONET |
Скорость |
|
- |
STS-1, |
OC-1 |
51,840 Мбит/c |
STM-1 |
STS-3, |
OC-3 |
155,520 Мбит/c |
STM-3 |
STS-9, |
OC-9 |
466,560 Мбит/c |
STM-4 |
STS-12, |
OC-12 |
622,080 Мбит/c |
STM-6 |
STS-18, |
OC-18 |
933,120 Мбит/c |
STM-8 |
STS-24, |
OC-24 |
1,244 Гбит/с |
STM-12 |
STS-36, |
OC-36 |
1,866 Гбит/с |
STM-16 |
STS-48, |
OC-48 |
2,488 Гбит/с |
INVENTORYY
BOOКK
TITLE
UTHOR
BINDING
PAGES
PRICE
BOOКK
TITLE
AUTHOR
BINDING
PAGES
PRICE
BOOКK
TITLE
AUTHOR
BINDING
PAGES
PRICE
Блок объявления
Селектор
Объявление
Свойство
Значение
Правило
Пролог
Корневой элемент
Элементы, вложенные в корневой
Объявление XML
Комментарий