Курсовая работа студента 4 курса механико-математического факультета





Скачать 395.57 Kb.
НазваниеКурсовая работа студента 4 курса механико-математического факультета
страница2/4
Дата публикации24.01.2015
Размер395.57 Kb.
ТипКурсовая
100-bal.ru > Информатика > Курсовая
1   2   3   4

, .

Комментарии

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

Атрибуты

Если при определении элементов необходимо задать какие-либо параметры, уточняющие его характеристики, то имеется возможность использовать атрибуты элемента. Атрибут - это пара "название" = "значение", которую надо задавать при определении элемента в начальном тэге. Пример:

#ff08ff

white

или

Ivan Petrov

Специальные символы

Для того, чтобы включить в документ символ, используемый для определения каких-либо конструкций языка (например, символ угловой скобки) и не вызвать при этом ошибок в процессе разбора такого документа, нужно использовать его специальный символьный либо числовой идентификатор. Например, < , > " или $(десятичная форма записи),  (шестнадцатеричная) и т.д. Строковые обозначения спецсимволов могут определяться в XML документе при помощи компонентов (entity).

Директивы анализатора

Инструкции, предназначенные для анализаторов языка, описываются в XML документе при помощи специальных тэгов - и ?>;. Программа клиента использует эти инструкции для управления процессом разбора документа. Наиболее часто инструкции используются при определении типа документа (например, ) или создании пространства имен.

CDATA

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

3. Моделирование XML-документов

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

Модель определяет документы, которые можно создать с помощью языка; или, в рамках терминологии XML, модель документа устанавливает, какие документы согласуются (conform) с языком. Модель документа отвечает на такие вопросы, как «Может ли быть заголовок у данного элемента?» или «Должна ли быть указана цена для этого элемента?» Модель является документом особого рода, написанным по правилам синтаксиса, предназначенного для описания языков XML, и явно описывает грамматику и словарь отдельного языка разметки. Иногда язык, который она описывает, называют типом документа (document type) или приложением XML (XML application). С помощью такой модели можно определить, согласуется ли некоторый документ XML с данным типом документа.

Фактически написанные кем-то документы, называемые экземплярами документа (document instances), могут согласоваться с языком, описанным в модели документа или не согласоваться. Согласующиеся документы называют действительными (valid) в контексте языка; другие документы называют недействительными (invalid).

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

● Документы создаются людьми и являются данными для компьютерной программы. Программы особенно привередливы в отношении форматов данных, потому что трудно создавать программы, способные справляться с отклонениями от формата. Ограничив применяемый шаблон предсказуемым форматом, намного легче писать программы, а вероятность ошибок уменьшается. Сравнение каждого экземпляра документа с моделью гарантирует, что вы не столкнетесь с проблемой несоответствия.

● В документе обязательно должны быть поля. Например, в бланке заказа изделия необходимо указать почтовый адрес, чтобы знать, куда отправлять посылку. Применение модели документа обеспечивает присутствие всех необходимых полей.

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

● Разработчику нужна надежная структура для развивающегося языка или семейства языков. Модель документа предоставляет простой способ создания стандарта, такого, например, как HTML Version 4.0. Отслеживание новых версий языка жизненно важно для программ XML, поскольку старые программы могут оказаться несовместимыми с более новыми версиями языка. Модели документов можно объединить для создания составных языков. Например, DocBook использует модель таблиц CALS, а не пытается определить свою.

Конечно, могут быть основания и не использовать модель документов. Сопровождение модели может оказаться неудобным, особенно в начале, когда язык подвергается тестированию и дальнейшей разработке. Она может замедлить обработку, например, если браузеры XML должны загружать модель документа из сети. Наконец, наличие авторитарной модели, указывающей, какие элементы можно использовать, а какие – нет, может просто сломать стиль работы. А, кроме того, нужно потратить силы на то, чтобы разработать модель или найти готовую, отвечающую потребностям. В конечном счете, автор сам решает, использовать модель документа или нет: XML спроектирован так, что позволяет работать в любом случае.

Некоторые модели документов (а именно, DTD) не очень хорошо работают с пространствами имен(пространства имен являются способом группировки элементов из различных источников, например, встраивания уравнений MathML внутрь документов HTML). Это создает проблемы, если DTD стремятся ограничить применяемые автором элементы предсказуемым конечным множеством. В настоящий момент исчерпывающего решения этой дилеммы нет. Невозможно предвидеть все виды пространств имен и объявить их элементы и атрибуты внутри своего DTD – их может быть бесконечное число.

4. Documents Type Definitions (DTD)

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





...

Внутри же документа DTD- декларации включаются следующим образом:

...





...

]>

...

В том случае, если используются одновременно внутренние и внешние описания, то программой-анализатором будут сначала рассматриваться внутренние, т.е. их приоритет выше. При проверке документа XML-процессор в первую очередь ищет DTD внутри документа. Если правила внутри документа не определены и не задан атрибут standalone ="yes" , то программа загрузит указанный внешний файл и правила, находящиеся в нем, будут считаны оттуда. Если же атрибут standalone имеет значение "yes", то использование внешних DTD описаний будет запрещено.

Определение элемента

Элемент в DTD определяется с помощью дескриптора !ELEMENT, в котором указывается название элемента и структура его содержимого. Например, для элемента <coach> можно определить следующее правило:

coach
PCDATA>

Ключевое слово ELEMENT указывает, что данной инструкцией будет описываться элемент XML. Внутри этой инструкции задается название элемента(coach) и тип его содержимого. В определении элемента мы указываем сначала название элемента(coach), а затем его модель содержимого - определяем, какие другие элементы или типы данных могут встречаться внутри него. В данном случае содержимое элемента name будет определяться при помощи специального маркера PCDATA( что означает parseable character data - любая информация, с которой может работать программа-анализатор). Существует еще две инструкции, определяющие тип содержимого: EMPTY,ANY. Первая указывает на то, что элемент должен быть пустым(например, ), вторая - на то, что содержимое элемента специально не описывается. Последовательность дочерних для текущего элемента объектов задается в виде списка разделенных запятыми названий элементов. При этом для того, чтобы указать количество повторений включений этих элементов могут использоваться символы +,*, ? :



В этом примере указывается, что внутри элемента <team> должны быть определены элементы coach, player и assistant, причем элемент title является обязательным элементом и может встречаться лишь однажды, элемент player может встречаться несколько раз, а элемент assistant является опциональным, т.е. может отсутствовать. В том случае, если существует несколько возможных вариантов содержимого определяемого элемента, их следует разделять при помощи символа "|" :



Символ * в этом примере указывает на то, что определяемая последовательность внутренних элементов может быть повторена несколько раз или же совсем не использоваться. Если в определении элемента указывается "смешанное" содержимое, т.е. текстовые данные или набор элементов, то необходимо сначала указать PCDATA, а затем разделенный символом "|" список элементов. Пример корректного XML- документа:




coach+, player*, assistant?)>

]>

...





John

< l_name>Dixon


< player number="1">

< f_name >Jorge

Woods

English






Определение атрибутов

Списки атрибутов элемента определяются с помощью ключевого слова !ATTLIST. Внутри него задаются названия атрибутов, типы их значений и дополнительные параметры. Например, для элемента могут быть определены следующие атрибуты:



number ID #REQUIRED

type (goalkeeper | back | halfback | forward) #IMPLIED

>

В данном примере для элемента player определяются три атрибута: number и type, которые имеют типы ID(идентификатор) и список возможных значений соответственно. Всего существует шесть возможных типов значений атрибута:

  • CDATA - содержимым документа могут быть любые символьные данные

  • ID - определяет уникальный идентификатор элемента в документе

  • IDREF(IDREFS) - указывает, что значением атрибута должно выступать название(или несколько таких названий, разделенных пробелами во втором случае) уникального идентификатора определенного в этом документе элемента

  • ENTITY(ENTITIES - значение атрибута должно быть названием(или списком названий, если используется ENTITIES) компонента (макроопределения), определенного в документе

  • NMTOKEN (NMTOKENS) - содержимым элемента может быть только одно отдельное слово(т.е. этот параметр является ограниченным вариантом CDATA)

  • Список допустимых значений - определяется список значений, которые может иметь данный атрибут.

Также в определении атрибута можно использовать следующие параметры:

  • #REQUIRED - определяет обязательный атрибут, который должен быть задан во всех элементах данного типа

  • #IMPLIED - атрибут не является обязательным

  • #FIXED "значение" - указывает, что атрибут должен иметь только указанное значение, однако само определение атрибута не является обязательным, но в процессе разбора его значение в любом случае будет передано программе-анализатору

  • Значение - задает значение атрибута по умолчанию

Определение компонентов(макроопределений)

Компонент (entity) представляет собой определения, содержимое которых может быть повторно использовано в документе. В других языках программирования подобные элементы называются макроопределениями. Создаются DTD-компоненты при помощи инструкции !ENTITY:



Программа-анализатор, просматривая в первую очередь содержимое области DTD- определений, обработает эту инструкцию и при дальнейшем разборе документа будет использовать содержимое DTD-компонента в том месте, где будет встречаться его название. Т.е. теперь в документе мы можем использовать выражение &hello; , которое будет заменено на строчку "Мы рады приветствовать Вас"

В общем случае, внутри DTD можно задать три типа макроопределений:

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

В XML существует пять предустановленных внутренних символьных констант:

  • < - символ "<"

  • > - символ ">"

  • & - символ "&"

  • ' - символ апострофа "'"

  • " - символ двойной кавычки """

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

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

Например, для следующего фрагмента документа:

можно использовать более короткую форму записи:

ELEMENT
team (title,%content;)>

Макроопределения часто используются для описания параметров в правилах атрибутов. В этом случае появляется возможность использовать одинаковые определения атрибутов для различных элементов:



type (goalkeeper | back | halfback | forward) #IMPLIED CDATA'>
Типизация данных

Довольно часто при создании XML-элемента разработчику требуется определить, данные какого типа могут использоваться в качестве его содержимого. Т.е. если мы определяем элемент 10.10.98, то хотим быть уверенными, что в документе в этом месте будет находиться строка, представляющая собой дату, а не число или произвольную последовательность символов. Используя типизацию данных, можно создавать элементы, значения которых могут использоваться, например, в качестве параметров SQL-запросов. Программа клиент в этом случае должна знать, к какому типу данных относится текущее значение элемента и в случае соответствия формирует SQL-запрос. Если в качестве программы на стороне клиента используется верифицирующий XML-процессор, то информацию о типе можно передавать при помощи специально созданного для этого атрибута элемента, имеющего соответствующее DTD-определение. В процессе разбора программа-анализатор передаст значение этого атрибута клиентскому приложению, которое сможет использовать эту информацию должным образом. Например, чтобы указать, что содержимое элемента должно быть длинным целым, можно использовать следующее DTD- определение:

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

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



is_tel, counter, price)>

...

1   2   3   4

Похожие:

Курсовая работа студента 4 курса механико-математического факультета iconПрограмма курса «Введение в философию»
Курс реализуется в рамках специальностей механико-математического факультета (ммф) и относится к разделу стандарта общего гуманитарного...
Курсовая работа студента 4 курса механико-математического факультета iconКурсовая работа студента ю-351 уч гр. I курса юридического факультета...
Ii. Принципы организации и деятельности механизма государства. Его структура
Курсовая работа студента 4 курса механико-математического факультета iconУравнения математической физики
Я математической физики предназначен для студентов III курса механико-математического факультета. Хорошее владение материалом курса...
Курсовая работа студента 4 курса механико-математического факультета iconКурсовой работы. Составитель: доцент Корляков А. С. Екатеринбург...
Курсовая работа самостоятельная работа студента, выполняемая в соответствии с типовой программой учебного процесса по подготовке...
Курсовая работа студента 4 курса механико-математического факультета iconГ. Л. Воронин Н. В ларшина социология учебно-методическое пособие
Программа предназначена для бакалавров очной формы обучения механико-математического факультета математика 010100, математика и компьютерные...
Курсовая работа студента 4 курса механико-математического факультета iconСамостоятельная работа: реферативная работа по темам №1,2 0-3 2,3...
Рейтинговая система оценки знаний студентов по дисциплине «Философия». для студентов 2 курса физико математического факультета по...
Курсовая работа студента 4 курса механико-математического факультета iconКурсовая работа Действие лекарственных растений на центральную нервную...
Приложение
Курсовая работа студента 4 курса механико-математического факультета iconРуководство к решению задач часть II случайные величины учебно-методическое...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Курсовая работа студента 4 курса механико-математического факультета iconПрограмма курса введение в философию для студентов
Курс читается для специальностей механико-математического (ММ) и физического (ФФ) факультетов в рамках раздела (гсэ. Ф. 04) государственного...
Курсовая работа студента 4 курса механико-математического факультета iconМетодические рекомендации для выполнения курсовых работ по дисциплине «Основы языкознания»
Курсовая работа – это самостоятельно написанная научная работа, которая демонстрирует умение студента анализировать а научную литературу,...
Курсовая работа студента 4 курса механико-математического факультета iconКурсовая работа один из видов учебной и научно-исследовательской работы студента
Областное Государственное образовательное бюджетное учреждение среднего профессионального образования
Курсовая работа студента 4 курса механико-математического факультета iconКурсовая работа на тему : Формирование рынка ценных бумаг в Украине
Курсовая работа содержит 38 листов, 2 рисунка, 2 таблицы и было использовано 11 источников
Курсовая работа студента 4 курса механико-математического факультета iconКурсовая работа
Курсовая работа оформляется в виде электронного файла и прикрепляется к своей странице в системе мониторинга нир. Распечатывать работу...
Курсовая работа студента 4 курса механико-математического факультета iconКурсовая работа по дисциплине Электромагнитная совместимость систем...
Курсовая работа состоит из 20 с, в которых содержаться: 3 рисунка, 3 таблицы, 6 формул и 4 ссылки на литературу
Курсовая работа студента 4 курса механико-математического факультета iconКурсовая работа по дисциплине «Предпринимательское право»
Курсовая работа имеет целью систематизацию, закрепление и расширение теоретических знаний, углубленное изучение и решение студентом...
Курсовая работа студента 4 курса механико-математического факультета iconРекомендации к оформлению курсовой и дипломной работы по истории искусства. Курсовая работа
Курсовая работа задание, которое выполняется студентами в определённый срок и по определённым требованиям. Защита курсовых работ...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск