Язык XML как способ логического представления информации

Изучение XML-ориентированного подхода к созданию баз данных в профильном курсе информатики в средней школе. Логическое представление информации в компьютере. Методика изучения и программа элективного курса "Разработка базы данных на основе языка XML".

Рубрика Педагогика
Вид дипломная работа
Язык русский
Дата добавления 18.06.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Челябинский государственный педагогический университет»

(ФГБОУ ВПО «ЧГПУ»)

КАФЕДРА ИНФОРМАТИКИ И МЕТОДИКИ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ

Квалификационная работа

Язык XML как способ логического представления информации

И.о. зав. кафедрой, к.п.н., доцент Рузаков А.А.

Руководитель: Зав. кафедрой, к.п.н., доцент

Леонова Е.А./

Автор работы: студент группы 592

Юртеев Никита Алексеевич

Челябинск 2012

Оглавление

Введение

Глава 1. Логическое представление информации в компьютере

1.1 Обзор языков разметки

1.2 Основные возможности языка XML

1.3 Создание XML-документов

Выводы по главе 1

Глава 2. Разработка элективного курса для средней школы «Разработка базы данных на основе языка XML»

2.1 Методика изучения элективного курса «Разработка базы данных на основе языка XML»

2.2 Программа элективного курса «Разработка базы данных на основе языка XML»

2.3 Программная поддержка элективного курса

2.4 Апробация результатов исследования в средней школе

Заключение

Список литературы

Приложение

Большинство из нас знакомы с двумя, а иногда и с тремя мобильными ОС - Аndroid, iOS и Windows Phone (WP). Однако мобильных ОС в настоящий момент гораздо больше, даже без учета устаревающих Symbian и Windows Mobilе: в 2013 году на рынок пробиваются еще как минимум пять новых проектов.

Речь идет о BlackBery 10, Firefox OS, Sailfish OS, Tizen и UbuntuPhone. Смартфоны и планшеты под управлением этих OC уже начали и продолжат появляться в течение 2013-2014 годов.

BlackBerry 10

Смартфон с сенсорным экраном BlackBerry Z10, работающий под управлением новой системы BlackBerry 10 OS, уже появился в продаже. BB10 построена на основе операционной системы реального времени QNX(http://ru.wikipedia.org/wiki/QNX), что, в теории, выглядит очень эффектно. На QNX работают атомные реакторы и ракетные пусковые установки, так что, казалось бы, смартфон на такой ОС должен работать сверхстабильно и быстро. Однако, как показали первые тесты нового аппарата BlackBerry Z10, BB10 OS пока работает не очень гладко. Зависает твиттер-клиент, есть проблемы с календарем, встречаются и другие неприятные мелочи. Скорее всего, при помощи обновлений эти баги будут в ближайшее время ликвидированы, но пока говорить о том, что BB10 OS может конкурировать с iOS и Аndroid -- не приходится.

Отличительной особенностью BB10 по сравнению с другими мобильными ОС является полноценная многозадачность. Скажем, смартфон на этой ОС вы можете подключить по HDMI к телевизору, запустить на смартфоне ролик с YouTube, а потом использовать смартфон для чтения почты, -- на экране ТВ по-прежнему будет проигрываться запущенный вами видеоролик. Похожая возможность реализована и на Samsung Galaxy S III на Аndroid, но там она не распространяется на видео с YouTube. Однако на BB10 OS все приложения в фоновом режиме могут работать так же, как и в десктопных операционных системах. Через несколько лет подобная многопоточность процессов может стать важнейшей характеристикой, пока же мощности процессоров и емкости аккумуляторов смартфонов для ее полноценной реализации недостаточно.

Что касается базы приложений, то и здесь BB10 OS выглядит куда солиднее остальных новых ОС: в магазине appworld уже сейчас насчитывается около 70 тыс. приложений.

Ubuntu Phone

С 21 февраля для владельцев смартфонов Nexus 4 и Galaxy Nexus стала доступна Ubuntu Phone (UP). Заметим, о «фирменном» смартфоне под управлением этой ОС речь пока не идёт. Разработчик Ubuntu Phone компания Canonical обещает выпустить оригинальные аппараты с UP OS в лучшем случае к концу года, а, скорее всего, уже в 2014 году. «Старшая сестра» Ubuntu Phone, десктопная ОС Ubuntu Linux, имеет множество преданных фанатов по всему миру, уже давно избавившихся от статуса маргинальности. Характерно, что крупнейший производитель компьютеров компания Dell выпустила версию своего флагманского ультрабука XPS13 с предустановленной Ubuntu. Смартфонная версия UP -- это не Ubuntu Linux, переставленная на смартфон, -- это отдельная сборка, вполне самостоятельный продукт. Но совместимость между ними, как заявляет разработчик, будет максимальная.

В ближайшее время Canonical планирует выпустить еще и версию планшетной прошивки для Nexus 7 и Nexus 10. То есть пользователь должен получить всю линейку -- Ubuntu для PC, для смартфона и для планшета. Если с дектопно-ноутбучной ОС дела идут неплохо -- она упорно дорабатывается, обновляется и дополняется приложениями уже в течение многих лет -- то по поводу смартфонной сборки глава Canonical Марк Шаттлворт сразу предупредил, что, скорее всего, первое время пользователи будут ограничены лишь предустановленными приложениями. Вероятно, и Ubuntu-прошивки для Nexus выпускаются с целью нарастить багаж приложений к моменту выхода девайсов с предустановленной Ubuntu Phone или Ubuntu Tab.

Sailfish OS

Теперь обратимся к проекту, который достаточно громко заявил о себе в прошлом году -- Sailfish OS от компании Jolla. Компания возникла на обломках проекта Maemo&MeeGo, развивавшегося в Nokia с 2005 по 2011 год. Большая часть программистов, дизайнеров и инженеров, разрабатывавших мобильные ОС Maemo и MeeGo Harmattan, перешли из Nokia в Jolla и заявили о намерении создать новую систему Sailfish OS. В ноябре 2012 года были представлены наработки по интерфейсу, в ближайшем будущем появится SDK (среда разработки) для Sailfish OS. Уже известно, что китайский производитель Zopo будет выпускать бюджетные смартфоны на Sailfish для индийского рынка, выпуск намечен на третий квартал 2013 года. В качестве основных характеристик Sailfish OS заявляются: полноценная многозадачность, бескнопочный интерфейс, и, что интересно, поддержка многих приложений, написанных для ОС Android, которая будет осуществляться через виртуальную машину Alien Dalvik.

Tizen OS

Другая ветвь того же дерева MeeGo от Nokia -- Tizen OS. После того, как финский концерн вышел из проекта, разработку подхватили Samsung, Acer и другие компании-производители. Осталась в этом проекте и корпорация Intel. Уже несколько лет, с периодичностью примерно два раза в год, Samsung грозится выпустить смартфон, а то и не один, на новой Tizen OS. Недавно было сделано очередное подобное заявление, но вместо смартфона пока появилась лишь версия среды разработки -- 2.0 SDK для Tizen. Возможно, в будущем Samsung хотелось бы пересадить всех своих клиентов на свою же операционную систему, уйдя от Android. С другой стороны, корейцы наверняка побаиваются потерять часть своих приверженцев в случае активной смены ОС. Скорее всего, если смена мобильных ОС и будет происходить, то очень медленно и пошагово.

FireFox OS

Последний проект, который хотелось бы отметить в этом обзоре -- FireFox OS (оговоримся, что на самом деле перечень новых мобильных ОС этими пятью проектами далеко не ограничивается, есть ещё OpenWebOS, Plasma Active, Nemo и др.). Название системы сразу указывает на ее связь c известным браузером Mozilla Firefox. Одной из особенностей FireFox OS должна стать ее бюджетность. Известно, что Firefox OS планируют устанавливать на бюджетные смартфоны, и что разработка приложений для нее будет упрощена до предела. Заметной особенностью проекта станет то, что на FireFox OS будут запускаться только те приложения, которые написаны на языках веб-программирования HTML5, CSS и JavaScript. Крупный китайский производитель гаджетов ZTE уже поддержал проект и заявил о намерении выпустить в 2013 году как минимум один смартфон под управлением Firefox OS.

Предстоящий Мобильный Конгресс в Барселоне (25-28 февраля), скорее всего, не принесет заметных новостей об альтернативных мобильных ОС и новых гаджетах, работающих под их управлением.

Скажем, компания Jolla не везет в Барселону даже прототип своего устройства и, судя по тому, что только на днях стал доступен SDK 2.0 для Tizen OS, на конгрессе мы не увидим устройства и на этой ОС. Ubuntu Phone наверняка будет представлена на барселонском конгрессе -- в очередной раз -- но все на тех же Nexus-устройствах. FireFox OS мы тоже уже видели, разве что в этот раз на MWC ее продемонстрируют на недавно вышедших смартфонах для разработчиков Keon и Peak. Однако прорыв новых ОС на рынок подготовлен. Станет ли 2013-й годом такого прорыва, покажет время.

Введение

Extensible Markup Language (XML) - это новый Standard Generalized Markup Language (SGML) - производный язык разметки документов, позволяющий структурировать информацию разного типа, используя для этого произвольный набор инструкций.

База данных (БД) XML представляет собой совокупность документов XML, которые являются сохраняемыми (т.е. допускают их запись в энергонезависимую память) и могут подвергаться обработке. Традиционно документы создавались для обмена информацией между людьми. С наступлением эры компьютеров появилась также возможность использовать документы для передачи информации с энного компьютера на другой, ввода и вывода данных. Каждый из этих способов обмена информацией предъявляет свои требования, например, к оформлению, допустимой неоднозначности, точности и гибкости.

Актуальность данной работы заключается в современной быстро развивающейся автоматизации деятельности. Язык XML позволяет достаточно просто и быстро создавать сложные базы данных, обрабатывать и просматривать результаты.

Современные базы данных XML представляют собой совокупность документов, предназначенных для обработки в качестве данных. Операции, предусмотренные в этих БД XML, в большей степени ориентированы на манипуляции с данными, чем на обработку текста.

Цель работы: изучение XML-ориентированного подхода к созданию баз данных; разработка элективного курса «Разработка базы данных на основе языка XML» и программно-методической поддержки данного курса.

Объект исследования: подход к созданию баз данных на основе языка разметки XML.

Предмет исследования: изучение XML-ориентированного подхода к созданию баз данных в профильном курсе информатики.

Задачи работы:

Ш провести обзор языков разметки;

Ш изучить синтаксис языка XML и его основные компоненты;

Ш разработать базу данных «Ход учебного процесса» на языке XML;

Ш разработать элективный курс «Разработка базы данных на основе языка XML»;

Ш провести апробацию элективного курса.

Гипотеза: если предусмотреть в профильном курсе обучения информатике изучение различных подходов к созданию баз данных, в том числе на языке XML, то это будет способствовать повышению уровня подготовки по информатике, стимулировать интерес к предмету.

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

Глава 1. Логическое представление информации в компьютере

1.1 Обзор языков разметки

Язык разметки (текста) в компьютерной терминологии - набор символов или последовательностей, вставляемых в текст, для передачи информации, о его выводе или строении. Принадлежит классу компьютерных языков. Текстовый документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках - например, указание на заголовки, выделения, списки и т.д. В более сложных случаях язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов [9].

Логическая и визуальная разметки

Различают логическую и визуальную разметки. В первом случае речь идет только о том, какую роль играет данный участок документа в его общей структуре (например, «данная строка является заголовком»). Во втором определяется, как именно будет отображаться этот элемент (например, «данную строку следует отображать жирным шрифтом»). Идея языков разметки состоит в том, что визуальное отображение документа должно автоматически получаться из логической разметки и не зависеть от его непосредственного содержания. Это упрощает автоматическую обработку документа и его отображение в различных условиях (например, один и тот же файл может по-разному отображаться на экране компьютера, мобильного телефона и на печати, поскольку свойства этих устройств вывода существенно различаются). Однако это правило часто нарушается: например, создавая документ в редакторе наподобие Microsoft Word, пользователь может выделять заголовки жирным шрифтом, но нигде не указывать, что эта строка является заголовком.

Примеры языков разметки

Языки разметки используются везде, где требуется вывод форматированного текста: в типографии, пользовательских интерфейсах компьютеров (Microsoft Word, OpenOffice), всемирной сети Интернет.

Generic coding (GenCode). Идея использовать языки разметки в компьютерной обработке текстов, вероятнее всего, была впервые обнародована Вильямом Тьюнниклиффом на конференции в 1967 году. Сам он именовал своё предложение «универсальным кодированием». В 1970-е годы Тьюнниклифф руководил разработкой стандарта GenCode для издательской индустрии и позже занял пост руководителя одного из комитетов International Organization for Standartization (ISO), создавшего Standard Generalized Markup Language (SGML), первый описательный язык разметки. Брайан Рэйд в своей диссертации, которую он защитил в 1980 году в университете Карнеги, в развитие предложенной концепции осуществил практическую реализацию описательной разметки.

Тем не менее, в настоящее время создателем языков разметки обычно называют исследователя IBM Чарльза Голдфарба. Основная концепция родилась у него в 1969 году, при работе над примитивной системой управления документами, предназначенной для адвокатских контор. В том же году он принял участие в создании языка International Business Machines Generalized Markup Language (IBM GML), который был впервые представлен в 1973 году.

В 1978 году начались первые разработки, которые в конечном итоге привели к созданию стандарта SGML, основанного на GML и GenCode. Сам Голдфарб позднее возглавил комитет по SGML, который был принят организацией ISO в качестве стандартного в октябре 1986 года.

Некоторые ранние реализации компьютерных языков разметки можно обнаружить в типографских утилитах UNIX, таких как troff и nroff. Они позволяют вставлять команды форматирования в текст документа для его форматирования согласно требованиям редактора.

TeX Другой важный издательский стандарт - это ТеХ, созданный и впоследствии улучшенный Дональдом Кнутом в 70-80-е года двадцатого столетия. ТеХ собрал воедино высокие возможности форматирования текста и описания шрифтов, в особенности для математических книг профессионального качества. Это потребовало от Кнута большого количества времени для изучения искусства набора текстов. Тем не менее, ТеХ пошел вниз по наклонной кривой, так что теперь он в основном используется в научном мире, где является стандартом де-факто во многих научных дисциплинах. Помимо ТеХ существует LaTeX, который представляет собой широко используемую описательную систему разметки на основе ТеХ.

Scribe, GML, SGML. Первым языком с четким и ясным различием между структурой и видом документа был Scribe, был создан и описан докторской диссертацией Брайана Рейда (Brian Reid) в 1980 году. Scribe был революционным в количестве способов обработки, не в последнюю очередь из-за введенной идеи стилей, отделенных от собственно текста и грамматики и управляющих использованием описательных элементов. Scribe оказал влияние на разработку языка GML (позже SGML), а так же он является прямым предком языков HTML и LaTeX.

В начале 80-х идея, что разметка должна быть сфокусирована на структурных аспектах документа и должна оставить внешнее представление документа интерпретатору, привела к созданию SGML. Язык был разработан комитетом, возглавляемым Голдфарбом. Он объединил идеи со многих источников, включая Тьюнникоффликский проект, GenCode. Шэрон Адлер (Sharon Adler), Андерс Бергланд (Anders Berglund) и Джеймс А. Марк (James A.Marke) так же были ключевыми членами комитета SGML.

SGML. Точно определял синтаксис для включения разметки в текст, а так же отдельно описывал какие теги разрешены и где. Это давало возможность авторам создавать и использовать любую разметку, какую они захотят, выбирая теги для использования и давая им имена на нормальном языке. Таким образом, SGML следует считать мета-языком; множественные специальные языки разметок произошли от него. Поздние 80-е были наиболее значимыми в появлении новых языков разметок, основанных на SGML, например TEI и DocBook.

В 1986 году SGML был опубликован как международный стандарт организацией ISO под номером 8879. SGML нашел широкое признание и широко использовался в очень больших проектах. Как бы то ни было, в целом было обнаружено, что он громоздок и труден для изучения, побочным эффектом языка было в том, что он пытался сделать слишком много и быть чересчур гибким. Для примера, SGML создавал не всегда нужные закрывающие теги (или открывающие, или даже оба), потому что считал, что эта разметка будет добавлена вручную, штатом поддержки проекта, которые бы оценили экономию нажатий клавиш.

HyperText Markup Language (HTML). К 1991 году использование SGML было ограничено бизнес-программами и базами данных, а What You See Is What You Ge (WYSIWYG) - инструменты (которые сохраняли документы в проприетарных бинарных форматах) использовались для остальных программ обработки документов. Ситуация изменилась, когда сэр Тим Бернерс-Ли, узнав о SGML от своего коллеги Андерса Бергланда (и других сотрудников в ЦЕРНе), использовал синтаксис SGML для создания HTML. Этот язык имел сходство с другими основанными на синтаксисе SGML языками разметки, однако начать его использование было гораздо проще даже тем разработчикам, которые никогда этого не делали. Стивен ДеРоуз (Steven DeRose) убеждал, что HTML, использующий описательную разметку (и от языка SGML в частности) - это основной фактор в развитии Web, потому что в нем была заложена гибкость и расширяемость (а также другие факторы, включая понятие о URL и свободное использование браузерами). В наше время HTML - наиболее привлекательный и самый часто используемый язык разметки в мире.

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

XML (расширяемый язык разметки) - это мета-язык разметки, широко используемый в настоящее время. XML разработан консорциумом World Wibe Web в комитете, возглавляемом Джоном Босаком (Jon Bosak). Основное предназначение XML - быть более простым, чем SGML и сфокусироваться на специфичной проблеме документах в интернете. XML - мета-язык как SGML, пользователям разрешается создавать любые теги, какие необходимы (отсюда «расширяемый»). Становлению XML помогли, т.к. каждый XML-документ мог быть написан таким же способом, как и SGML-документ, а программы и пользователи, использующие SGML, могли перейти на XML достаточно легко.

Тем не менее, XML лишился многих ориентированных на людей особенностей языка SGML, упрощавших его использование (пока не расширилось количество разметки и не восстановилась читаемость и редактируемость на прежнем уровне). Другие улучшения исправляли некоторые проблемы SGML на международном уровне и делали возможным разбор документа иерархически, даже если не был доступен Document Type Definition (DTD).

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

Extensible HyperText Markup Languge (XHTML). Начиная с января 2000 года, все рекомендации для World Wide Web Consortium (W3C) были основаны на XML в большей степени, чем на SGML, была предложена аббревиатура XHTML - Расширяемый Гипертекстовый Язык Разметки). Спецификации языка требовали, чтобы XHTML-документы были оформлены как XML-документы, это позволяет использовать XHTML для более четких и точных документов, используя теги от HTML [9].

1.2 Основные возможности языка XML

Язык HTML предоставляет фиксированный набор элементов, которые можно использовать для размещения компонентов на типовой Web-странице. Примерами таких элементов являются заголовки, абзацы, списки, таблицы, изображения и связи. Например, HTML отлично подходит для создания личной домашней страницы.

Каждый элемент начинается с начального тега: текста, заключенного в угловые скобки (< >), Который содержит имя элемента и дополнительную информацию. Большинство элементов заканчиваются конечным тегом, который повторяет соответствующий начальный тег, за исключением того, что имеет символ косой черты (/) перед именем элемента. Элемент содержание представляет собой текст, расположенный между начальным и конечным тегами (рис. 1).

Рис. 1. Элемент содержания

Браузер, отображающий HTML-страницу, распознает каждый из его стандартных элементов и отображает их в соответствующем формате. Например, обычно браузер отображает заголовок Н1 наибольшим размером шрифта, заголовок Н2 - меньшим размером шрифта, а элемент Р - еще меньшим размером шрифта. Элемент LI отображается как абзац текста в составе маркированного списка. Элемент А браузер преобразует в ссылку (подчеркнутый текст), на которой пользователь может щелкнуть, чтобы перейти в другое место текущей страницы или на другую страницу. Хотя набор HTML-элементов был существенно расширен по сравнению с первой версией HTML, язык HTML по-прежнему не пригоден для представления многих типов документов. Ниже приведены примеры документов, которые не могут быть адекватно описаны с помощью языка HTML:

· Документ, который не содержит типовых компонентов (заголовков, абзацев, списков, таблиц и т.д.) Например, в языке HTML отсутствуют элементы, необходимые для отображения музыкальных символов или математических уравнений.

· База данных, такая как каталог книг. можем использовать HTML-страницу, чтобы хранить и отображать информацию из статической базы данных (например, перечень книг и их описание). Однако, если вам понадобится осуществить сортировку, фильтрацию, поиск и обработку информации, придется снабдить каждую из составных частей информации соответствующей меткой (как в программе, работающей с базами данных, такой как Microsoft Access). В языке HTML не предусмотрено соответствующих элементов.

· Документ, который хотим представить в виде иерархической структуры. Допустим, стиль при написании книги необходимо разбить на части, главы, разделы A, B, C и т.д. В дальнейшем программа может использовать данную структуру документа для создания оглавления, оформления различных уровней в структуре с помощью различных стилей, извлечения определенных разделов, а также обработки информации иными способами. Однако элемент типа заголовок в HTML содержит лишь описание собственно текста. Например: содержимое Web-сайта.

Поскольку внутри элемента типа заголовок не задается вложенные элементы текста, которые относятся к разделам документа, эти элементы не могут быть использованы для представления иерархической структуры документа [15].

Язык XML позволяет преодолеть эти ограничения.

Описание на языке XML представляет собой операторы, написанные с соблюдением определенного синтаксиса. Когда создаем XML-документ, то вместо использования ограниченного набора определенных элементов имеем возможность создавать наши собственные элементы и присваивать им любые имена по вашему выбору - именно поэтому язык XML является расширяемым (extensible). Следовательно, можем использовать XML для описания практически любого документа, от музыкальной партитуры до базы данных. Например, можем описать перечень книг, подобно представленному в следующем XML-документе листинге 1.

Листинг 1

<?XML version="1.0"?><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>

Имена элементов в XML-документе (такие как INVENTORY, BOOK и TITLE в приведенном выше примере) не являются определениями языка XML. Всего лишь назначаем эти имена при создании определенного документа. Для этих элементов можем выбирать любые корректно заданные имена (LIST вместо INVENTORY, либо ITEM вместо BOOK).

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

В предыдущем примере XML-документ имеет иерархическую структуру в виде дерева с элементами, вложенными в другие элементы, и с одним элементом верхнего уровня (в нашем примере - INVENTORY) - он носит название элемент Документ или корневой элемент, - который содержит все другие элементы. Структуру описанного в примере документа можно представить (рис. 2).

Рис. 2. Структура документа

Таким образом, с помощью XML можно описать иерархическую структуру документа, такого как книга, содержащего части, главы и разделы.

Синтаксис XML и его основные компоненты

Структура документов XML практически очень схожа со структурой документов на SGML или HTML. Пример простого документа XML приведен в листинге 2.

Листинг 2

<?XML version="1.0"?>

<!DOCTYPE cookbook SYSTEM "cookbook.dtd">

<cookbook>

<recipe category="italian">

<title>Spaghetti alla Carbonara</title>

<description>This traditional Italian dish is sure to please even the most discriminating

critic.</description>

<ingredients>

<ingredient>2 large eggs</ingredient>

<ingredient>4 strips of bacon</ingredient>

<ingredient>l clove garlic</ingredient>

<ingredient>12 ounces spaghetti</ingredient>

<ingredient>3 tablespoons olive oil</ingredient>

</ingredients>

<process>

<step>Combine oil and bacon in large skillet over medium heat. Cook until bacon is

brown and crisp.</step>

<step>whisk eggs in bowl. Set aside.</step>

<step>Cook pasta in large pot of boiling water to taste, stirring occasionally.

Add salt as necessary.</step>

<step>Drain pasta and return to pot. adding whisked eggs. Stir over medium-low

heat for 2-3 minutes.</step>

<step>Mix in bacon. Season with salt and pepper to taste.</step>

</process>

</recipe>

</cookbook>

Обратим внимание на основные компоненты, из которых состоит документ XML:

· пролог XML;

· теги;

· атрибуты;

· ссылки на сущности;

· инструкции по обработке;

· комментарии.

Пролог XML

Все документы XML начинаются с пролога (prolog). Пролог сообщает, что документ написан на XML, а также указывает, какая версия XML при этом использовалась.

Поскольку текущая версия XML имеет номер 1.0, все наши документы XML должны начинаться со строки:

<?XML version="1.0">.

Следующая строка в листинге 2 указывает на внешний DTD:

<!DOCTYPE cookbook SYSTEM "cookbook.dtd">.

Оставшаяся часть листинга 2 состоит из элементов, очень похожих на элементы документов HTML. Первый элемент, cookbook, называется корневым элементом (root element), поскольку в эту пару тегов заключены все остальные теги документа. Конечно, мы можем присвоить корневому элементу любое имя по своему усмотрению. Главное, о чем следует помнить, все остальные элементы должны находиться внутри пары корневых тегов.

Пролог может содержать другие инструкции. Например, объявление можно расширить, указав, что документ является автономным:

<?XML version="1.0" standalone="yes">.

Присваивание yes атрибуту standalone сообщает механизму обработки XML-кода о том, что документ не импортирует других файлов (например, DTD).

Хотя это расширение, как и многие другие, приносит несомненную пользу, мы сокращаем описание синтаксиса до минимума, чтобы лучше выделить основную тему этой главы - совместное использование Personal Home Page (РНР) и XML.

Элементы

Оставшаяся часть документа состоит в основном из различных служебных элементов и соответствующих данных. Служебные элементы легко узнать по угловым скобкам (как в разметке HTML). Элемент может быть пустым или содержащим информацию; в этом случае элемент содержит открывающий и закрывающий теги. Если элемент не пуст, то в теги включаются имена, описывающие природу данных. Эти теги очень похожи на теги документов HTML. Впрочем, следует помнить о некоторых важных различиях:

· Непустые элементы должны содержать как открывающий, так и закрывающий тег. В элементах, которые логически не могут иметь закрывающего тега, используется альтернативная форма синтаксиса <элемент />. Возникает вопрос - у каких элементов нет закрывающего тега? Достаточно вспомнить некоторые теги форматирования HTML - например, <br>, <hr> и <img>, у них нет парных тегов. Теги этого формата могут создаваться и в документах XML

· Элементы XML должны находиться на правильном уровне вложенности. Документ XML, приведенный в листинге, синтаксически правилен; другими словами, теги элементов не встречаются там, где их быть не должно. Например, следующий фрагмент недопустим:

<title>Spaghetti alia Carbonara

<ingredients></title>

· В элементах XML различается регистр символов. Например, в XML теги <tag>, <Tag> и <TAG> считаются разными тегами.

Атрибуты

Теги XML, по аналогии с тегами HTML, могут обладать атрибутами. Атрибуты содержат дополнительную информацию о содержании, которая в дальнейшем используется при форматировании или обработке XML. Значения атрибутов присваиваются в формате «имя = значение», и, в отличие от HTML, атрибуты XML должны быть заключены в апострофы или кавычки. В листинге 2 встречается пример использования атрибута:

<recipe category = "italian">.

Атрибут сообщает, что данный рецепт (recipe) относится к категории «итальянской кухни» (italian). Наличие такой информации упрощает дальнейшую группировку и обработку данных.

Ссылки на сущности

Концепция сущности (entity) упрощает сопровождение документа, обеспечивая возможность ссылки на некоторое содержание по ключевым словам. Ключевое слово может относиться как к простейшему фрагменту вроде расширения аббревиатуры, так и к совершенно новому фрагменту кода XML. Сущности удобны тем, что они могут многократно использоваться в документах XML. При последующей обработке документа все ссылки на сущность заменяются конкретным содержанием, указанным при объявлении сущности. Объявление сущности включается в DTD документа XML.

Для того, чтобы сослаться на некоторую сущность в документе HTML, следует указать ее имя с префиксом «амперсанд» (&) и суффиксом «точка с запятой» (;). Допустим, объявили сущность с информацией об авторских правах. После этого на данную сущность можно ссылаться следующим образом:

&Соруright:

При этом строка документа XML может выглядеть так:

<footer>

...прочие данные колонтитула...

&+Copyright:

</footer>

Сущности, как и переменные, и шаблоны, часто применяются в ситуациях, когда некоторая информация может измениться в будущем или документ содержит множество повторяющихся ссылок. Мы вернемся к проблемам объявления ссылок в разделе «Определение типа документа (DTD)».

Инструкции по обработке

Инструкции по обработке (processing instructions, PI) представляют собой внешние команды, которые выполняются приложением, работающим с документом XML.

В общем случае синтаксис PI выглядит так:

<?приложение инструкции?>.

Атрибут приложение указывает, какой программе адресованы последующие инструкции. Например, для выполнения команды РНР в документе XML можно воспользоваться следующей конструкцией:

<?php print "Today's date is:".date("m-d-Y");?>.

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

Комментарии

Комментарии принадлежат к числу основных возможностей любого языка. В XML используется тот же синтаксис комментариев, что и в HTML:

<!-комментарии ->.

1.3 Создание XML-документов

Поскольку в XML нет типовых элементов, может показаться, что в нем вообще отсутствуют какие-либо стандарты. Тем не менее, язык XML имеет строго определенный синтаксис. Например, в отличие от HTML, каждый элемент XML должен содержать начальный и конечный тег (либо специальный пустой тег, о котором пойдет речь в последующих лекциях). Любой вложенный элемент должен быть полностью определен внутри элемента, в состав которого он входит.

На деле гибкость в создании ваших собственных элементов требует строгого соблюдения синтаксиса. Это обусловлено тем, что структура XML-документов должна быть понятной для программы, которая обрабатывает и отображает информацию, содержащуюся в этих документах. Строгий синтаксис придает XML-документу предсказуемую форму и облегчает написание программы обработки. Основное назначение языка XML - облегчить работу с документами в Web [20].

Использования языка XML для логического представления данных

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

Отдельный документ или его фрагмент - это сообщение на языке документооборота. Сообщение может возникать как результат отработки события документооборота и само является событием, порождающим новые документы или их фрагменты. Как действует участник документооборота? Образно говоря, например, так: «Когда поступит документ №1, возьми документ №2, просуммируй значения в таких-то полях и запиши результат в такое-то поле документа №3...».

Если мы хотим сделать БД полноправным участником документооборота (иначе говоря, общаться с ней на естественном языке), то она должна манипулировать документами как участник документооборота. Действует он, образно говоря, так: «Когда поступит документ №1, возьми документ №2, просуммируй значения в таких-то полях и запиши результат в такое-то поле документа №3 и т.д.» [6].

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

В любом случае, создавая набор операций XML-СУБД, следует отталкиваться от необходимости отразить в этом наборе именно те операции, которые совершают реальные участники документооборота, причем не с электронными, а с бумажными документами. В реальном документообороте совсем другой набор операций с данными, чем в системе управления реляционными базами данных (СУ РБД).

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

Заметим также, что документооборот любит «вредную избыточность» данных, неприемлемую для СУ РБД. «Иванов» в документе №1 и «Иванов» в документе №2, хотя речь и идет об одном и том же человеке, не одно и тоже - документы №1 и №2 возникли в разные моменты времени и, соответственно, в разных контекстах.

Не смотря на отсутствие строгой модели данных, в стадии стандартизации находится язык запросов XQL, а на рынке уже появились первые XML-ориентированные БД, например «Tamino» от Software AG [6].

XML-ориентированные БД

XML-ориентированной называется база данных, которая в качестве модели данных использует XML'ную модель данных. Следует отличать XML-ориентированные БД (рис. 3) от реляционных БД, поддерживающих обмен данными на языке XML (рис. 4) - в основе вторых лежит реляционная модель.

Рис. 3. XML-ориентированные БД

Рис. 4. РБД, поддерживающие обмен данными на XML

XML-ориентированная БД содержит в себе следующие компоненты:

1. Исходные (терминальные) XML-документы, узлы, элементы которых «прошиты» взаимными связями (ID и URL). Связи могут указывать как на узлы этого же документа, так и на узлы другого документа, находящегося как в этой же БД, так и какой-либо другой, расположенной на удаленном сервере. Если ставится задача поддержки исторической целостности, то кроме указателей связей в атрибуты тегов элементов записывается системная дата последнего изменения этого элемента.

2. Аналитические XML-документы, полученные из исходных XML-документов путем заполнения содержимого тегов (текста) значениями, получаемыми либо путем прямого перенесения, либо путем аналитической обработки значений из других XML-документов. Возникает ли подобный документ в момент его запроса (виртуальный документ) или рассчитывается заранее (хранимый документ), определяется практической целесообразностью.

3. XML-метаданные

4А. Библиотека eXtensible Stylesheet Language (XSL) шаблонов в виде одного или нескольких XSL-документов и библиотека Cascading Style Sheets (CSS)-стилей, также в виде одного или нескольких CSS-документов. Эти две библиотеки используются для XML-документов с не жестко регламентированным внешним видом, разметка и внешний вид которых могут быть изменены пользователем по своему вкусу.

4Б. Набор XSL- и CSS-документов для XML-документов с уникальным, жестко фиксированным внешним видом (по одному XSL и CSS на каждый такой класс XML-документов), который по тем или иным причинам не может быть сформирован из библиотеки.

5А. Библиотека процедур (скриптов), исполняемых на клиенте или сервере как отработка событий (триггеров), связанных с элементами XML-документа.

5Б. Набор приложений для работы XML- ориентированной БД, нестандиртизуемых по тем или иным причинам.

Столь быстрое появление баз как XML-ориентированных обусловлено тем, что еще задолго до появления XML они использовали в качестве физического представления данных верхнего уровня структуры, аналогичные структурам XML-документов - ненормализованные деревья (с горизонтальными связями). Несколько упрощая, можно сказать, что для этих баз XML-доступ к данным - это прямой доступ к данным. Естественно, что и методы манипулирования ненормализованными деревьями в основном совпадают с низкоуровневыми логическими операциями над XML-документами. Что касаемо высокоуровневых методов, то их скорее следует считать не строгими, а прагматическими [12].

SimpleXML

Для работы со многими XML-документами нет необходимости погружаться в Document Object Model (DOM), так как в РНР 5 существует и более простой, но довольно мощный инструмент - SimpleXML. Разработчики РНР утверждают, что слово simple (простой, легкий) означает «простой» не в смысле возможностей, а в смысле легкости его использования. Основная идея SimpleXML состоит в том, что каждое XML-дерево (т.е. каждый XML-документ) может быть конвертирован прямо в РНР-код. Это достигается путем превращения XML-дерева в РНР-объект.

Выводы по главе 1

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

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

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

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

Как результат изложения материала в первой главе, мы рассмотрели необходимый объем теоретических знаний, для формирования наполнения школьного элективного курса «Разработка базы данных на основе языка XML».

Глава 2. Разработка элективного курса для средней школы «Разработка базы данных на основе языка XML»

2.1 Методика изучения элективного курса «Разработка базы данных на основе языка XML»

логический информация методика элективный

Государственный образовательный стандарт общего образования по предмету «Информатика и ИКТ» предполагает изучение основ построения и использования баз данных, как на ступени основного общего образования, так и на ступени среднего (полного) общего образования, но не рассматривает создание баз данных на основе языка XML [23, 24].

В таблице 1 отражены дидактические единицы и требования к уровню подготовки выпускников по разделу «Базы данных» для двух ступеней обучения.

Таблица 1

Представление раздела «Базы данных» в Государственном образовательном стандарте общего образования по предмету «Информатика и ИКТ»

ОБЯЗАТЕЛЬНЫЙ МИНИМУМ СОДЕРЖАНИЯ ОСНОВНЫХ ОБРАЗОВАТЕЛЬНЫХ ПРОГРАММ

8-9-й классы

10-11-й классы

Базовый уровень

Профильный уровень

Создание и обработка информационных объектов Поиск данных в готовой базе. Создание записей в базе данных.

Поиск информации в базах данных, формулирование запросов

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

Базы данных. Системы управления базами данных. Создание, ведение и использование баз данных при решении учебных и практических задач.

Модель в деятельности человека.

Таблицы (БД), как способ описания объекта. Использование описания (информационной модели) в процессе общения, практической деятельности, исследования.

Представление о системах управления базами данных, Организация баз данных. Примеры баз данных: юридические, библиотечные, здравоохранения, налоговые, социальные, кадровые.

Использование инструментов системы управления базами данных для формирования примера базы данных учащихся в школе.

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

ТРЕБОВАНИЯ К УРОВНЮ ПОДГОТОВКИ ВЫПУСКНИКОВ

8-9-й классы

10-11 классы

Базовый уровень

Профильный уровень

Знать/понимать

назначение и функции используемых информационных и коммуникационных технологий, в частности баз данных

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

деятельности и повседневной жизни для: создания

информационных объектов, поиска информации (в том числе в базах данных, с помощью запросов)

Знать/понимать

назначение и виды информационных моделей

(БД);

Уметь использовать готовые информационные модели (БД)

Использовать приобретенные знания и умения в практической деятельности и повседневной жизни для: ориентации в информационном пространстве, работы с распространенными автоматизированными информационными системами (на основе БД);

Автоматизации

Коммуникационной деятельности (с помощью БД)

Знать/понимать виды и свойства информационных моделей (БД), методы и средства компьютерной реализации баз данных;

Уметь строить информационные модели объектов, систем и процессов, используя для этого типовые средства (БД); оперировать информационными объектами, используя имеющиеся знания о возможностях информационных и коммуникационных технологий, в том числе создавать структуры хранения данных (БД);

Использовать приобретенные знания и умения в практической деятельности и повседневной жизни для: создания собственных баз данных

Изучение построения баз данных требует достаточно хорошей подготовки учащихся в области программирования. Как изучается данный раздел в школе в соответствии со стандартом отражено в таблице 2.

Таблица 2

Представление раздела «Программирование» в Государственном образовательном стандарте общего образования по предмету «Информатика и ИКТ»

ОБЯЗАТЕЛЬНЫЙ МИНИМУМ СОДЕРЖАНИЯ ОСНОВНЫХ ОБРАЗОВАТЕЛЬНЫХ ПРОГРАММ

8-9-й классы

10-11-й классы

Базовый уровень

Профильный уровень

Алгоритм, свойства алгоритмов. Способы записи алгоритмов; блок- схемы.

Алгоритмические

конструкции.

Логические

значения,

операции,

выражения.

Разбиение задачи

на подзадачи,

вспомогательный алгоритм.

Обрабатываемые объекты: цепочки символов, числа, списки, деревья, графы.

Представление о программировании

Преобразование информации на основе формальных правил. Алгоритмизация как необходимое условие его автоматизации. Программные средства создания информационных объектов

Виды профессиональной информационной деятельности человека, используемые инструменты (технические средства и информационные ресурсы). Профессии, связанные с программированием. Язык программирования. Типы данных. Основные конструкции языка программирования. Система программирования. Основные этапы разработки программ. Разбиение задачи на подзадачи

ТРЕБОВАНИЯ К УРОВНЮ ПОДГОТОВКИ ВЫПУСКНИКОВ

8-9-й классы

10-11-й классы

Базовый уровень

Профильный уровень

Знать/понимать

основные свойства

алгоритма, типы

алгоритмических

конструкций:

следование,

ветвление, цикл;

понятие

вспомогательного алгоритма

Уметь выполнять базовые операции над объектами: цепочками символов, числами, списками, деревьями;

проверять свойства этих объектов;

выполнять и строить простые алгоритмы;

Использовать приобретенные знания и умения

в практической деятельности и повседневной жизни для создания программ (в том числе в форме блок-схем)

Уметь оперировать различными видами информационных объектов, в том числе с помощью компьютера Использовать приобретенные знания и умения в практической деятельности и повседневной жизни для

работы с распространенными

автоматизированными

информационными

системами; автоматизации

коммуникационной деятельности

Знать/понимать основные конструкции языка программирования Уметь строить информационные модели объектов, систем и процессов, используя для этого типовые средства (язык программирования, таблицы, графики, диаграммы, формулы и т.п.)

Анализ содержания курса информатики и ИКТ показывает, что изучение основ построения баз данных вполне доступно в рамках профильного освоения учебного предмета «Информатика и ИКТ».

Анализ учебных программ позволил выявить, что курс в информатики в основной школе и на старшей ступени обучения (профильный уровень) освещает вопросы создания баз данных и программирования [4,13,17,18,21]. В 8-9 классах в теме «Алгоритмы и исполнители» теоретически рассматриваются основные свойства алгоритмов, способы записи алгоритмов, исполнители алгоритмов (в том числе компьютер как формальный исполнитель), основные алгоритмические конструкции, языки программирования, правила представления данных, этапы разработки программы и др.

Практические работы включают в себя разработку программ на основе различных алгоритмических конструкций.

В теме «Хранение информации» рассматриваются теоретические вопросы, посвященные табличным базам данных, основным принципам работы с ними. Изучаются условия поиска информации, удаления и сортировки данных.

На практических занятиях изучаются поиск и сортировка записей в готовой базе данных.

В 10 классе в рамках темы «Информация и информационные процессы» более углублённо рассматриваются вопросы алгоритмизации как необходимого условия автоматизации, основные свойства автоматизированной обработки данных. В теме «Информационные модели» на теоретическом уровне рассматривается алгоритм, как модель деятельности Практические работы посвящены моделированию, формализации и информационным основам управления.

Тема «Информационные системы» изучает вопросы, связанные с различными типами баз данных, с системами управления базами данных (СУБД). В рамках данной темы так же изучаются формы представления данных, реляционные базы данных.

Практическая работа посвящена информационным системам и СУБД.

В 11 классе изучению электронных таблиц, как информационных объектов, использованию электронных таблиц для обработки данных посвящена тема «Средства и технологии создания и преобразования информационных объектов».

Программа профильного общеобразовательного курса «Информатика и ИКТ» для старшей школы, Н.Д. Угринович [21]. Данная программа рассчитана на два профиля. Программа курса для физико-математического профиля рассчитана на 140 учебных часов (2 часа в неделю), а для информационно-технологического профиля на 280 учебных часов (4 часа в неделю) отраженно в таблице 3.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.