Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Перечисляемые атрибуты со значением по умолчаниюСодержание книги Поиск на нашем сайте
Иногда бывает удобно объявить для атрибута значение по умолчанию. Скорее всего, вам уже приходилось делать это раньше при построении форм с раскрывающимися списками. Например, если большинство рецептов в вашей поваренной книге относится к итальянской кухне, атрибут recipe будет часто относиться к категории Italian. В этом случае категорию Italian можно назначить по умолчанию: <! ATTLIST recipe category (Italian | French | Japanese | Chinese) " Itaian "> Если атрибут category не задан явно, по умолчанию ему присваивается значение Italian. Типы атрибутов Атрибут элемента может объявляться с определенным типом, перечисленными в табл. 3.
Таблица 3. Типы атрибутов
Типы атрибутов описаны далее. Атрибуты CDATA Очень часто атрибуты содержат общие символьные данные. Такие атрибуты называются атрибутами CDATA. Следующий пример уже встречался в начале этого раздела: <! ATTLIST recipe category CDATA # REQUIRED > Атрибуты ID, IDREF и IDREFS Идея однозначного представления данных (например, информации о пользователе или товаре, хранящейся в базе данных) посредством идентификаторов неоднократно встречалась в предыдущих главах книги. Идентификаторы также часто используются в XML, поскольку перекрестные ссылки между документами применяются не только в общих задачах обработки данных, но и в World Wide Web (гиперссылки). Идентификаторы элементов присваиваются атрибуту ID. Допустим, вы хотите связать с каждым рецептом уникальный идентификатор. Соответствующий фрагмент DTD может выглядеть так: <!ELEMENT recipe (title, description, ingredients, process)> <!ATTLIST recipe recipe-id ID #REQUIRED> <!ELEMENT recipe-ref EMPTY> <!ATTLIST recipe-ref go IDREF #REQUIRED> После этого объявление элемента recipe в документе может выглядеть так: <recipe recipe-id="ital003"> <title>Spaghetti alla Carbonara</title> Рецепт однозначно определяется идентификатором ital003. Следует помнить, что атрибут redpe-id относится к типу ID, поэтому ital003 не может использоваться в качестве значения атрибута recipe-id другого элемента, в противном случае документ будет считаться синтаксически неверным. Теперь допустим, что позднее вы захотели сослаться на этот рецепт из другого документа -- скажем, из списка любимых рецептов пользователя. Именно здесь в игру вступают перекрестные ссылки и атрибут IDREF. Атрибуту IDREF присваивается идентификатор, используемый для ссылок на элемент, -- по аналогии с тем, как URL используется для идентификации страницы в гиперссылке. Рассмотрим следующий фрагмент кода XML: <favoriteRecipes> <recipe-ref go="ital003"> </favoriteRecipes> В процессе обработки документа XML элемент заменяется более наглядной ссылкой на рецепт с указанным идентификатором (например, названием рецепта). Вероятно, он будет отформатирован в виде гиперссылки, чтобы упростить переход к указанному рецепту. Атрибуты ENTITY и ENTITIES Данные в документах XML не всегда являются текстовыми -- документ может содержать и двоичную информацию (например, графику). На такие данные можно ссылаться при помощи атрибута entity. Например, в описании элемента description можно указать атрибут recipePicture с графическим изображением: <!ATTLIST description recipePicture ENTITY #IMPLIED> Также можно объявить сразу несколько сущностей, заменив ENTITY на ENTITIES. Значения разделяются пробелами. Атрибуты NMTOKEN и NMTOKENS Атрибуты NMTOKEN представляют собой строки из символов, входящих в ограниченный набор. Объявление атрибута с типом NMTOKEN предполагает, что значение атрибута соответствует установленным ограничениям. Как правило, значение атрибута NMTOKEN состоит из одного слова: <! ATTLIST recipe category NMTOKEN # REQUIRED > Можно объявить сразу несколько атрибутов, заменив NMTOKEN на NMTOKENS. Значения разделяются пробелами. Объявления сущностей Объявление сущности напоминает команду define в некоторых языках программирования, включая PHP. Ссылки на сущности кратко упоминались в предыдущем разделе «Знакомство с синтаксисом XML». На всякий случай напомню, что ссылка на сущность используется в качестве замены для другого фрагмента содержания. В процессе обработки документа XML все вхождения сущности заменяются содержанием, которое она представляет. Существует два вида сущностей: внутренние и внешние. Внутренние сущности Внутренние сущности напоминают строковые переменные, связывающие имя с фрагментом текста. Например, если вы хотите определить имя для ссылки на информацию об авторских правах, можно объявить сущность следующего вида: <!ENTITY Copyright "Copyright 2000 YourCompanyName. All Rights Reserved."> В процессе обработки документа все экземпляры &Соруright заменяются текстом «Copyright 2000 YourCompanyName. All Rights Reserved». Весь код XML в заменяющем тексте обрабатывается так, словно он присутствовал в исходном документе. Внутренние сущности удобны в ситуациях, когда вы планируете использовать сущность в относительно небольшом количестве документов XML. При большом количестве документов лучше воспользоваться внешними сущностями. Внешние сущности Внешние сущности используются для ссылок на содержание, находящееся в другом файле. Сущности этого типа могут содержать текстовую информацию, но также могут ссылаться и на двоичные данные (например, графику). Возвращаясь к предыдущему примеру, допустим, что вы решили сохранить информацию об авторских правах в отдельном файле, чтобы упростить ее редактирование в будущем. Ссылка на созданный файл выглядит следующим образом: <! ENTITY Copyright SYSTEM " http:// yoursite. com / administer / copyright. xml "> При последующей обработке документа XML все ссылки &Соруright заменяются содержимым документа copyright.xml. Весь код XML в заменяющем тексте обрабатывается так, словно он присутствовал в исходном документе. Внешние сущности также удобно использовать для ссылок на графические изображения. Например, если вы хотите включить в документ XML графический логотип, создайте внешнюю сущность: <!ENTITY food_picture SYSTEM http://yoursite.com/food/logo.gif> Как и в предыдущем примере, все ссылки &food_picture заменяются графическим изображением, на которое указывает ссылка. Поскольку данные являются двоичными, а не текстовыми, они не интерпретируются. Задание на лабораторную работу: 1. Изучить требования для создания корректного документа 2. Выучить виды XML–документов 3. Выучить назначение и структуру DTD 4. Изучить область применения DTD 5. Научиться использовать DTD 6. Изучить виды сущностей DTD и научиться применять их
Ст руктура отчёта: 1. Титульный 2. Содержание 3. Описание целей и задача 4. Описание системы 5. Структура нормализованной БД (IDEF1x) 6. XML и DTD файлы
Пример лабораторной работы №1: Тема: В качестве примера в данном методическом указании будет рассмотрена КИС для Фитнес центра. XML файл: Описание: Создаем три таблицы: client(клиенты), employee(сотрудники) и contract(контракт) (см. рисунок 1) и описываем их с помощью XML.
Рис. 1. Структура БД
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE fitness SYSTEM "fit.dtd"> <list1> <client> <name>Ivan Vasil'evich Gagarin</name> <birth>25.01.1980</birth> <IDcard>011777</IDcard> <telephone>8913123213</telephone> </client> <client> <name>Pavel Sergeevich Kvasha</name> <birth>13.08.1991</birth> <IDcard>011888</IDcard> <telephone>8913523814</telephone> </client> </list1> <list2> <employee> <name>Gennadiy Vital'evich Kotov</name> <position>administrator</position> <telephone>89321312616</telephone> <email>devilcat666@mail.ru</email> </employee> <employee> <name>Alisa Dmitreevna Orehova</name> <position>administrator</position> <telephone>89609257643</telephone> <email>orehova7643@mail.ru</email> </employee> </list2> <list3> <contract> <IDcard>011777</IDcard> <contract_date>01.09.2012</contract_date> <term>30 days</term> </contract> <contract> <IDcard>011888</IDcard> <contract_date>24.11.2012</contract_date> <term>90 days</term> </contract> </list3> </ fitness > DTD файл: Описание: посредством набора объявлений описываем схему документа для XML, его класс с точки зрения синтаксических ограничений и объявляем конструкцию. <!DOCTYPE fitness [ <!ELEMENT fitness(list1, list2, list3)> <!ELEMENT list1(client+)> <!ELEMENT client(name, birth, IDcard, telephone) <!ELEMENT name(#PCDATA)> <!ELEMENT birth (#PCDATA)> <!ELEMENT IDcard(#PCDATA)> <!ELEMENT telephone(#PCDATA)> <!ATTLIST client id_cl ID #REQUIRED> <!ELEMENT list2(employee+)> <!ELEMENT employee(name, place,telephone, email)> <!ELEMENT name (#PCDATA)> <!ELEMENT position(#PCDATA)> <!ELEMENT telephone (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ATTLIST employee id-emp ID #REQUIRED> <!ELEMENT list3(contract+)> <!ELEMENT contract(IDcard, contract_date, term)> <!ELEMENT IDcard(#PCDATA)> <!ELEMENT contract_date(#PCDATA)> <!ELEMENT term(#PCDATA)> <!ATTLIST contract id-contr ID #REQUIRED> ]> Л абораторная № 2
Т ема: «Изучение XML схем» Задание: Описать структуру реляционной БД, состоящую не менее чем из 3 таблиц, с помощью XML Schema. И создать XML–файл с заполненной БД. Цель: Изучить основы формата XML Schema Теоретические основы: Введение в XML Schema XML Schema – это основанная на XML альтернатива DTD. Она предназначена для описания структуры XML документа. XML Schema предназначена, подобно DTD, для определения строительных блоков XML документа. Она определяет: · представленные в документе элементы; · атрибуты, которые могут встречаться в документе; · какие элементы являются дочерними; · последовательность, в которой дочерние элементы представляются; · количество дочерних элементов; · являются ли документы пустыми или могут включать текст; · типы данных для элементов и атрибутов; · значение по умолчанию для элементов и атрибутов.
|
||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-01-14; просмотров: 68; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.235.107 (0.007 с.) |