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





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


5

2

32.5

true

18346

100 р. 00 к.



...

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

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

5. Схемы данных

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

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




























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




John Ree



Peter Loyd



Emil McGeer




Все конструкции языка схем описываются правилами "XML DTD for XML-Data-Schema".

Область схемы данных

Создавая схемы данных, мы определяем в документе специальный элемент, ; внутри которого содержатся описания правил:





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





href="http://www.mrcpk.nstu.ru/schemas/" as="s"/?>




Описание элементов

Для определения класса элемента, к которому в дальнейшем будут применяться инструкции, описывающие его содержимое и структуру, предназначен специальный элемент схемы elementType. Название элемента задается атрибутом id . Все дальнейшие инструкции, которые относятся к описываемому классу, определяют его внутреннюю структуру и набор допустимых данных, содержатся внутри блока, заданного тэгами и . При определении класса элемента, можно также использовать комментарии к нему, которые заключаются в тэги <descript>


Атрибуты элемента

Для того, чтобы в описании элемента определить его атрибуты и описать свойства этих атрибутов нужно использовать элемент attribute:









В данном примере элементу
layer> определяется атрибут number, значением которого может быть любая последовательность разрешенных символов:





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







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



values="goalkeeper back halfback forward">
Модель содержимого элемента

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









Если требуется указать режим использования вложенного элемента, то надо определить параметр occurs:










Возможные значения этого параметра таковы:

  • REQUIRED - элемент должен быть обязательно определен

  • OPTIONAL - использование элемента не является обязательным

  • ZEROORMORE - вложенный элемент может встречаться несколько раз или ни разу

  • ONEORMORE - элемент должен встречаться хотя бы один раз

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



John Ree

English

Celtics

Portsmut



или




John Ree

Celtics

Portsmut



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

  • - указывает на то, что содержимым элемента является только свободная текстовая информация(секция PCDATA) :







  • - указывает на то, что содержимым элемента должны являться только элементы, без текста, незаключенного ни в один элемент:







  • - любое сочетание элементов и текста







  • - пустой элемент.

Группировка элементов

Элемент group используется для того, чтобы задать некоторую последовательность вложенных объектов:















Группировка объектов позволяет определять сразу группу объектов различных типов, которые могут находится внутри данного объекта. В приведенном примере мы указали, что внутри объекта типа conteam могут быть включены элементы title, player, и assistant, причем атрибутом occurs мы указали, что элементы в группе являются необязательными. Корректным для таких схем будут являться следующие фрагменты документов:



Celtics</tel></b><br /><br /><b><br />… <br /></b><br /><br /><b><assistant> … </assistant></b><br /><br /><b></team></b><br /><br />...<br /><br /><b><team></b><br /><br /><b><title>Celtics</tel></b><br /><br /><b></team></b><br /><br />...<br /><br /><b><team></b><br /><br /><b><title>Celtics</tel></b><br /><br /><b><br />… <br /></b><br /><br /><b></team></b><br /><br />При помощи атрибута <b>groupOrder </b>можно также задавать режим использования группированных элементов При установленном значении OR возможно использование не всех элементов группы, а лишь некоторых из них. Если задано значение AND, то оба элемента должны быть включены в обязательном порядке. Например, для следующей группы правил: <br /><br /><b><elementType id="team"></b><br /><br /><b><element type="#title" occurs="REQUIRED"></b><br /><br /><b><group groupOrder="AND" occurs="OPTIONAL"></b><br /><br /><b><element type="#player"></b><br /><br /><b><element type="#assistant"></b><br /><br /><b></group></b><br /><br /><b></elementType></b><br /><br />будут считаться правильными только следующие варианты: <br /><br /><b><team></b><br /><br /><b><title>Celtics</tel></b><br /><br /><b><br />… <br /></b><br /><br /><b><assistant> … </assistant></b><br /><br /><b></team></b><br /><br />или <br /><br /><b><team></b><br /><br /><b><title>Celtics</tel></b><br /><br /><b><br />… </player></b><br /><br /><b></team></b><br /><b>Закрытая и открытая модели описания содержимого элемента </b> <br /><br />Когда мы определяем модель содержимого текущего элемента, список дополнительных допустимых элементов правилами не ограничивается - он может свободно расширяться. Например, для приведенного выше правила, кроме обозначенных элементов <title>,<player> и <assistant> вполне могут использоваться дополнительные элементы, неописанные правилами, например, <coach>: <br /><br /><b><team></b><br /><br /><b><title>Celtics</tel></b><br /><br /><b><coach> … </coach></b><br /><br /><b><br />… </player></b><br /><br /><b><assistant> … </assistant></b><br /><br /><b></team></b><br /><br />Однако в том случае, если мы хотим ограничить создаваемые нами правила от включения дополнительных элементов, мы должны использовать атрибут content и установить для него специальное значение CLOSED: <br /><br /><b><elementType id="team" content="CLOSED"></b><br /><br /><b><element type="#title"></b><br /><br /><b><element type="#player"></b><br /><br /><b><element type="#assistant"></b><br /><br /><b></elementType></b><br /><br />Теперь приведенный фрагмент XML-документа будет считаться некорректным, т.к. параметром content запрещено использование внутри элемента <i>team</i><i> </i>других объектов, кроме указанных в правиле. <br /><br /><b>Иерархия классов</b> <br /><br />Для того, чтобы при описании класса ограничить список объектов, которые могут являться родительскими для данного элемента, необходимо использовать элемент схемы <b>domain</b>. Инструкция <b><domain></b> указывает, что текущий объект должен определяться строго внутри элемента, заданного этим тэгом. Например, в следующем фрагменте указывается, что элемент <player> может быть определен строго внутри тэга <team>: <br /><br /><b><elementType id="player"></b><br /><br /><b><element type="#name"></b><br /><br /><b><domain type="#article"/></b><br /><br /><b></elementType></b><br /><br /><b>Ограничения на значения </b> <br /><br />Значения элементов могут быть ограничены при помощи тэгов <b><min> </b>и <b><max></b>;: <br /><br /><b><elementType id="team"></b><br /><br /><b><element type="#player"><min>11</min><max>25</max></b><br /><br /><b></elementType></b><br /><b>Использование правил из внешних схем </b> <br /><br />Схема может использовать элементы и атрибуты из других схем. Для этого надо использовать атрибут href, в котором указывается название внешней схемы. Например: <br /><br /><b><?XML version='1.0' ?></b><br /><br /><b><?xml:namespace name="urn:uuid:BDC6E3F0-6DA3-11d1-</b><br /><br /><b>A2A3-00AA00C14882/" as="s"/?></b><br /><br /><b><s:schema> </b> <br /><br /><b><elementType id="player"></b><br /><br /><b><any/> </b> <br /><br /><b></elementType> </b> <br /><br /><b><elementType id="title"></b><br /><br /><b><string/> </b> <br /><br /><b></elementType></b><br /><br /><b><elementType id="team"> </b> <br /><br /><b><element type="#title" occurs="REQUIRED"/> </b> <br /><br /><b><element type="#player" occurs="ONEORMORE"/> </b> <br /><br /><b><element href="http://mrcpk.org/" /></b><br /><br /><b></elementType></s:schema></b><br /><br /><b></elementType></b><br /><br /><b></s:schema></b><br /><b>Компоненты схем</b> <br /><br />Компоненты, или макроопределении, используются в схемах точно также, как и в DTD. Для их определения предназначены тэги <b><intEntityDcl/> </b>и <b><extEntityDcl/></b>;: <br /><br /><b><intEntityDcl name="gk"></b><br /><br /><b>goalkeeper</b><br /><br /><b></intEntityDcl></b><br /><br /><b><extEntityDcl name="logo" notation="#gif"</b><br /><br /><b>systemId="logo.gif"/></b><br /><b>Типы данных</b> <br /><br />В схемах существует возможность задавать тот или иной тип данных, используя при определении элемента директиву <b><datatype> </b>с указанием конкретного типа: <br /><br /><b><elementType id="counter"></b><br /><br /><b><datatype dt="int"></b><br /><br /><b></elementType></b><br /><br />В DTD мы должны были создать атрибут с конкретным названием, определяющим операцию назначения формата данных, и значением, определенным как <i>fixed</i>. Использование элемента <datatype> позволяет указывать это автоматически, но для обеспечения программной независимости необходимо сначала договориться об обозначениях типов данных(значения, которые должны передаваться параметру dt элемента datatype), для чего могут использоваться, например, универсальные идентификаторы ресурсов URI. В любом случае, как и прежде, все необходимые действия, связанные с конкретной интерпретацией данных, содержащихся в документе, осуществляются программой-клиентом и определяются логикой его работы. В разделе, посвященном DTD, мы уже рассматривали пример XML-документа, реализующего описанные нами возможности. Вот как выглядел бы этот пример при использовании схем данных: <br /><br /><b><schema id="someschema"></b><br /><br /><b><elementType id="#rooms_num"></b><br /><br /><b><string/></b><br /><br /><b><datatype dt="int"></b><br /><br /><b></schema></b><br /><br /><b><elementType id="#floor"></b><br /><br /><b><string/></b><br /><br /><b><datatype dt="int"></b><br /><br /><b></schema></b><br /><br /><b><elementType id="#living_space"></b><br /><br /><b><string/></b><br /><br /><b><datatype dt="float"></b><br /><br /><b></schema></b><br /><br /><b><elementType id="#is_tel"></b><br /><br /><b><string/></b><br /><br /><b><datatype dt="boolean"></b><br /><br /><b></schema></b><br /><br /><b><elementType id="#counter"></b><br /><br /><b><string/></b><br /><br /><b><datatype dt="float"></b><br /><br /><b></schema></b><br /><br /><b><elementType id="#price"></b><br /><br /><b><string/></b><br /><br /><b><datatype dt="float"></b><br /><br /><b></schema></b><br /><br /><b><elementType id="#comments"></b><br /><br /><b><string/></b><br /><br /><b><datatype dt="string"></b><br /><br /><b></schema></b><br /><br /><b><elementType id="#house"></b><br /><br /><b><element type="#rooms_num" occurs="ONEORMORE"/> </b> <br /><br /><b><element type="#floor" occurs="ONEORMORE"/> </b> <br /><br /><b><element type="#living_space" occurs="ONEORMORE"/> </b> <br /><br /><b><element type="#is_tel" occurs="OPTIONAL"/> </b> <br /><br /><b><element type="#counter" occurs="ONEORMORE"/> </b> <br /><br /><b><element type="#price" occurs="ONEORMORE"/> </b> <br /><br /><b><element type="#comments" occurs="OPTIONAL"/> </b> <br /><br /><b></elementType></b><br /><br /><b></schema></b><br /><br /><b>...</b><br /><br /><b></element></element></element></element></element></element></element></datatype></datatype></datatype></datatype></datatype></datatype></datatype></datatype></datatype></datatype></extentitydcl></element></element></element></element></max></min></domain></element></domain></element></element></element>
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
Поиск