Міністерство освіти і науки України Сумський державний університет



Сторінка2/8
Дата конвертації28.12.2016
Розмір0.94 Mb.
1   2   3   4   5   6   7   8

letter


From: O. Protsenko

to: All students

Subject: Questions to exam

Date: 19.09 2009




аналогічний фрагмент XML-тексту виглядає так:





O. Protsenko

All students

Questions to exam



Questions

.
Якщо поставити собі питання, який із фрагментів містить більше даних для обробки програмним додатком, то відповідь зрозуміла – XML.

Інша відмінність полягає в тому, що HTML змішує зміст і форматування в одному потоці розмітки. Так, наприклад, елементи

і свідчать, яким чином мають бути виділені елементи, і де розміщені об'єкти, виділені такими елементами.

Мова XML припускає, що зміст і зовнішній вигляд повинні зберігатися окремо від даних розмітки. XML повністю покладається на каскадні таблиці стилів (CSS або XSL) при відображенні або перетворенні документів з однієї структури в іншу.

СІМ’Я XML-ТЕХНОЛОГІЙ
Оскільки XML-документ містить елементи, які описують самі себе, він зрозумілий людині на інтуїтивному рівні. Семантика даних забезпечує «інтелектуальність», яка подана в XML-елементах і значеннях атрибутів.

Не дивлячись ні на що, XML – це програмний код, який читається і використовується обробниками XML.

XML утворює цілу сім’ю технологій. У сім’ю XML входить ряд важливих технологій:


XML Version 1.0

Технічні рекомендації про використання XML.

DTD

Визначення типу документа.

XDR

Формат XML Reduced ( схема Microsoft).

XSD

Визначення схеми XML (схема консорціуму W3C).

Простори імен

Метод визначення імен елементів та атрибутів.

XPath

Мова шляхів XML.

XLink

Мова посилань XML.

XPointer

Мова покажчиків XML.

DOM

Програмний інтерфейс API для об'єктної моделі документів.

SAX

Simple API for XML (Простий програмний інтерфейс API для XML).

XSL

Розширена мова таблиць стилів.

XSL-FO

Об'єкти форматування XSL.

XSLT

Мова перетворень XSL.

X Include

Синтаксис XML Include.

XBase

Синтаксис XML Base URI.

Деякі з перелічених компонент до цих пір знаходяться в процесі розроблення, хоча використовуються досить широко, і можуть зазнавати значних змін. Тому особливу увагу необхідно приділяти тому, як та чи інша технологія описана в W3C.


XML нова мова, але у неї глибоке коріння
XML став стандартом консорціуму W3C 10 лютого 1998 року. Мова заснована на метамові SGML (стандартна узагальнена мова розмітки), яка була розроблена в 1986 році. Одним із додатків SGML стала мова HTML. Існує мова XHTML – це трактування мови HTML як додатка XML, з метою досягти більшої гнучкості мови HTML. Деяким чином XHTML складає конкуренцію XML як засіб представлення документів в Web.

СТВОРЕННЯ І ПЕРЕГЛЯД XML-ДОКУМЕНТА
По-перше, для створення XML-документів необхідний будь-який текстовий редактор (редактор, який здатний зберігати дані формату ASCII).

Проте існують спеціальні програмні засоби, які дозволяють вводити код і перевіряти синтаксис XML-документа, наприклад, Architag X-Rey Edition (www.architag.com/xray) - версія доступна для загального користування. Існують і комерційні версії ПО, знайти які не важко в Інтернеті.

По-друге, потрібна спеціальна програма обробник XML-файлів – парсер.

Парсер – це програмне забезпечення, яке перевіряє дотримання синтаксичних правил XML і повідомляє про всі виявлені помилки. Якщо розмітка правильна, парсер перетворить його в такий вигляд, щоб його можна було читати. Цей процес називається перетворенням розширеної мови таблиць XML XSLT.

Як парсер можна використовувати браузер Internet Explorer.

Наприклад, нижченаведені дані помістіть у файл example_1.xml:




О. Protsenko

All students

Questions to exam



Questions

.
У разі правильно оформленого документа XML браузер перетворить документ, застосовуючи до нього певні стилі.

Рисунок 2 - Результат відображення XML-кода

СИНТАКСИС МОВИ XML

Документ XML вважається добре оформленим, якщо він відповідає всім правилам XML. Якщо ж хоч одне правило порушується, документ не вважається за добре оформлений, і не буде оброблений парсером.

Добре оформлений документ повинен містити один і лише один кореневий елемент, що містить решту всіх елементів. Елементи кореневого елемента можуть містити дочірні елементи, які мають бути правильно вкладені. Всі елементи, які лежать у кореневому елементі, вважаються дочірніми по відношенню до кореневого.

Крім того, дескриптори в XML чутливі до регістру. Дескриптори, що відкриваються і дескриптори, що закриваються одного і того ж елементу мають бути вказані з використанням одного і того ж регістру.

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

Наприклад, є інструкція по миттю машини. Машину обполоснути водою, потім нанести піну і залишити на 5 хвилин. Піну змити. Нанести на поверхню кузова віск, витерти корпус машини.

Розглянемо структуру документа (рис. 3). На схемі видно, що кореневим елементом буде елемент «інструкція», всі останні будуть дочірніми по відношенню до нього. Елемент «інгредієнти» має внутрішні,





Рисунок 3 – Схема документа



Як скласти XML-документ


  1. Визначте кореневий елемент, наприклад, (інструкція). Документ повинен мати дескриптор, що відкривається і дескриптор, що закривається .

  2. Кореневий елемент буде містити решту елементів , <ingredients>, <instrument>, <actions>. <br /><li> <br />Елементи <ingredients> і <instrument> будуть містити дочірні елементи <items> <quantity>. <br /><li> <br />Розставляємо по місцях всі відкриваючі і закриваючі дескриптори, заповнюючи їх необхідними даними. <br /><li> <br />Зберігаємо отриманий документ у файлі example_2.xml. <br /><li> <br />Правильність оформлення документа можна продивитися у вікні Internet Explorer. <br /></ol> <br /> <br /><directions> <br /> <br /><title>Інструкція як помити машину



    Вода

    50 л

    Шампунь

    0,5 л

    Віск

    0,3 л





    Відро

    1 шт.

    Мочалка

    1 шт.

    Лоскут для полірування

    2 шт.



    Машину обполоснути водою, потім нанести піну і залишити на 5 хвилин. Піну змити. Нанести на поверхню кузова віск, витерти корпус машини

    .
    Результат обробки парсером коду, що розглянули, поданий на рисунку 4.

    Рисунок 4 – Результат обробки парсером програмного коду

    ПРАВИЛЬНЕ ВКЛАДЕННЯ ЕЛЕМЕНТІВ
    Всі документи XML мають бути перевірені на правильність вкладення елементів.

    Мова HTML позбавлена таких недоліків. Вкладення елементів у наведених нижче інструкціях дають однаковий результат.


    Цей текст буде виділений курсивом

    Цей текст буде виділений курсивом.
    XML дуже чутливий до неправильного вкладення елементів, тому коректним вкладенням буде те, в якому елементи не перетинаються
    Цей текст буде виділений курсивом.
    ПРАВИЛО. Завжди ставте рядки між дескриптором, що відкривається та дескриптором елемента, що закривається, тоді ніколи не отримаєте накладення рядків і перетину документів.

    Наприклад,




    Цей текст буде виділений курсивом

    .

    ВИЗНАЧЕННЯ ІМЕН У XML
    ПРАВИЛО. При визначенні імен елементів у документі XML необхідно дотримуватися таких правил:

    • Ім'я елемента повинне починатися з букви, знаку підкреслення ( _ ) або двокрапки (:).

    • Після першого символу в імені елемента можуть бути букви, цифри, знаки перенесення (–), знаки підкреслення ( _ ), крапка або двокрапка (:).

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


    ДЕКЛАРАЦІЇ XML
    Відомо, що добре оформлені документи без проблем відображуються будь-яким парсером. Хоча парсер розуміє, що відображуваний документ є XML-документом, гарним тоном вважається вказувати, що це документ XML.

    Деякі парсери вимагають наявність в документі відповідного рядка декларації XML, який має такий вигляд:


    .
    Оголошення XML-документа може містити також оголошення кодування (encoding declaration), яке вказує на форму символів і оголошення самостійності документа (standalone declaration ).

    Повний рядок декларації виглядає так


    .
    Значення атрибута encoding містить кодування символів документа, а значення атрибута standalone – вказує, чи є даний документ самостійним і може набувати значення yes або no.

    ЗАУВАЖЕННЯ. Якщо не вказувати тип кодування XML-документа, в якому є символи кирилиці, браузер, наприклад, Internet Explorer, сприйматиме добре оформлений документ як документ, що містить помилки і відображувати його не буде.
    Додавання коментарів

    Коментарі в XML додаються так як і в HTML.


    .

    ПРАВИЛЬНІ ЕКЗМПЛЯРИ XML
    У XML, разом з концепцією «добре оформленого документа», розглядається концепція «дійсного документа XML».

    Правильний документ гарантує цілісність структури даних. Завдяки цьому значно спрощується доставка і обмін даними, які коректуються параметрами XSLT.

    Для визначення правильності документа необхідно:


    1. Визначити використання тільки заданого набору дескрипторів.

    2. Перевірити, щоб порядок проходження елементів і їх атрибутів повністю відповідав змісту документа або певним правилам.

    Іншими словами, в XML-документі має бути правильно реалізована схема документа, що визначає його структуру.

    Як правильно визначити структуру. Повернемося, наприклад, до створення XML документа для інструкції по миттю машини. Документ XML добре оформлений, але з погляду правильності він надлишковий (на кожну складову відводиться два елементи). Логічно було б використовувати один елемент з атрибутом


    .
    А XML-код виглядатиме так:




    Інструкція, як помити машину



    Вода

    Шампунь

    Віск





    Відро

    Мочалка

    Лоскут для полірування



    Машину обполоснути водою, потім нанести піну і залишити на 5 хвилин. Піну змити. Нанести на поверхню кузова віск, витерти корпус машини



    .

    Рисунок 5 – Приклад документа


    1. Контроль типів даних.

    Контроль типів даних досягається завдяки використанню відповідної схеми.

    Дані XML документа, які використовуються при обміні, повинні використовувати один формат, для запобігання плутанини.

    Наприклад, дата може бути оформлена в одному з таких форматів:
    mmddyy yyddmm

    ddmmyy yymmdd.

    Існує декілька підходів до контролю типів даних. Пізніше розглянемо технології XDR і DTD.

    До наступних типів даних може буде потрібна перевірка правильності. Необхідність перевірки залежить від того, обмін якою інформацією здійснюється.




    Тип даних


    Опис


    Boolean

    Логічний тип, значення ІСТИНА / БРЕХНЯ

    Char

    Один символ

    String

    Рядок символів

    Float

    Дійсні числа

    Int

    Цілі числа

    Date

    Дата у форматі YYYY-DD-MM

    Time

    Час у форматі HH-MM-SS

    Id

    Текст, унікальним чином ідентифікуючий елемент

    Idref

    Посилання на ідентифікатор

    Enumeration


    Послідовність значень, з якої можна вибрати будь-яке значення.


    1. Здійснити контроль цілісності даних для забезпечення оптимального обміну інформацією через Web за допомогою транзакцій.

    Якщо мова йде про перевірку правильності оформлення документа, то мова йде не про представлення даних, а про структуру даних.
    У ЧОМУ ПОЛЯГАЄ ВІДМІННІСТЬ СТРУКТУРИ ДОКУМЕНТА ВІД СТРУКТУРИ ДАНИХ?
    Структура документа дозволяє читачеві швидко зрозуміти, в якому саме вигляді подав інформацію автор документа.

    Структури даних вказують шлях комп’ютерного застосування даних, які містяться в різних контейнерах цілого документа. У структурі даних не міститься визначення важливості одного компонента документа по відношенню до іншого. Всі компоненти рівні.
    Парсер – це програма (у специфікації консорціуму W3C називається обробником XML), яка інтерпретує символ за символом. Існує два типи парсерів:

    • перевіряють форматування документів, тобто їх відповідність синтаксичним правилам;

    • спочатку перевіряють форматування документа, а потім їх відповідність всім обмеженням, вказаним у пов'язаних з ним документах.

    ВИЗНАЧЕННЯ ТИПУ ДОКУМЕНТА


    Зв'язок схеми з документом дозволяє розширити можливість поширення документа незалежно від додатка. Схема додає ряд обмежень, які визначають список необхідних елементів і атрибутів, порядок їх проходження, а також при необхідності, їх допустимі значення.

    Схема DTD надає шаблон розмітки документа, в якому вказується наявність, порядок проходження і розміщення елементів і їх атрибутів у документі.

    Також XML-документ можна подати у вигляді дерева, схему DTD також можна подати у вигляді дерева. Проте відмінність DTD полягає в тому, що дерево DTD не повторює елементи або структуру.

    Наприклад, деревоподібну структуру XML-документа, що містить інструкцію по миттю машини, можна подати у вигляді схеми на рисунку 6, а деревоподібна схема DTD виглядає так, як показано на рисунку 7.



    Рисунок 6– Деревоподібна структура XML-документа

    Рисунок 7– Дерево DTD для XML--файлу
    Схеми DTD мають справу з елементами документа XML, елементами-контейнерами, пустими елементами. Елементи-контейнери можуть містити дані, наприклад, текст, дочірні елементи або те і інше.

    Оголошення змісту елемента або атрибута в схемі DTD називається моделлю змісту для цього елемента або атрибута.

    У будь-якому XML документі елементи – фундаментальні структури, які об'єднані для представлення екземпляра XML. Тому кожен елемент має бути оголошений у схемі DTD разом з оголошенням його типу.

    Оголошення типів елемента мають таку структуру:


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

    ПРОСТИЙ ЕЛЕМЕНТ ІЗ ТЕКСТОВИМ ВМІСТОМ

    Приклад 1. Необхідно оформити як екземпляр XML записку «Завтра о 12.45 лекція з Web-дизайну».

    Екземпляр добре оформленого коду example_3.xml виглядатиме так:




    Завтра о 12.45 лекція з Web-дизайну
    У цьому екземплярі елемент містить тільки текст.

    Цей документ можна перевірити, створивши DTD схему із оголошенням типу цього елемента, яка вказує на те, що цей елемент може мати тільки зарезервоване ключове слово #PCDATA або текст.


    #PCDATA (завжди вказується знаками тільки верхнього регістру) – це звичайні текстові дані, але які зчитуються парсером і обробляються належним чином. Перевірка документа на відповідність DTD-схемі, у разі, коли вказаний тип #PCDATA може привести як до бажаних, так і небажаних результатів.

    Оскільки, схема DTD забезпечує перевірку правильності структури документів, вона містить правила для змісту. Наприклад, елемент може містити текст або інші елементи, а може бути порожнім елементом. Всі ці моделі змісту подаються у схемах DTD по-різному. Схеми DTD можуть бути вказані в різних документах і бути пов'язаними в цих документах.

    Виділяють внутрішні і зовнішні схеми DTD.

    Розділ 2 ВНУТРІШНІ СХЕМИ DTD
    Розглянемо приклад, в якому схема DTD буде вбудована в XML-документ.

    Для детального розгляду пронумеруємо рядки.


    1:

    2:


    3:

    4: ]>


    5: Завтра о 12.45 відбудеться лекція з Web-дизайну
    Рядок 1 – звичайне оголошення XML, яке використовується у всіх XML документах.

    У рядку 2 міститься оголошення певного типу документа, яке дається в пролозі документа і, яке пов'язує з документом схему DTD. Визначення типу документа завжди починається з і закінчується >. Ключове слово DOCTYPE завжди записується символами верхнього регістру.

    Всі рядки, що містяться в XML-документі до кореневого елемента називаються прологом. Пролог містить інструкції обробки документа: оголошення XML

    і оголошення DOCTYPE у випадку використання DTD схеми. Оголошення типу документа в другому рядку повідомляє обробника про те, що існує оголошення елемента note, а всі відомості, поміщені в квадратні дужки, є схемою DTD. Іншими словами, рядок 2 починає внутрішню підмножину DTD під назвою note.

    У рядку 3 міститься оголошення типу елемента для елемента note. Тут вказано, що елемент note може містити тільки текстові дані. У дужках указується або модель змісту, або специфікація змісту. За допомогою моделі змісту парсеру повідомляється чого слід чекати від кожного елемента XML у даному документі.

    Рядок 4 містить закриття схеми DTD.

    Рядок 5 містить кореневий елемент XML-документа.



    ЕЛЕМЕНТ, ЩО МІСТИТЬ ДОЧІРНІЙ ЕЛЕМЕНТ
    Нехай елемент note містить дочірній елемент. Добре оформлений документ виглядатиме так:




    Завтра о 12.45 лекція з Web-дизайну

    .
    Цей самий документ, що містить схему DTD можна оформити так:
    1:

    2:


    3:

    4:


    5: ]>

    6:

    7:

    8: Завтра о 12.45 відбудеться лекція з Web-дизайну

    9:

    10: .


    Тут, у рядку 3 оголошується, що елемент note містить дочірній елемент text, рядок 4 містить інформацію про те, що вмістом елемента text є текст, що інтерпретується парсером. Рядки 6-8 є добре і правильно оформленим документом.

    Зауваження. Відступи в тексті використовуються виключно для надання документу зручної форми для читання.

    ОГОЛОШЕННЯ ПОРОЖНЬОГО ЕЛЕМЕНТА
    Порожній елемент у схемах DTD оголошується таким чином
    .
    Припустимо, в нашому повідомленні є порожні елементи




    .
    Тоді DTD схема для такого XML тексту виглядатиме так
    1:

    2:


    3:

    4:


    5:

    6:


    7: ]>

    8:

    9:

    10:

    11:

    12: Завтра о 12.45 відбудеться лекція з Web-дизайну

    13:

    14: .


    Парсер інтерпретує рядок 3 так: елемент note містить три елементи time, date, text, які слідують один за одним у такому порядку, в якому вони перелічені в дужках при описі елемента note.

    Згідно схеми DTD, елементи time і date не можуть містити будь-яких даних.



    ВИКОРИСТАННЯ КЛЮЧОВОГО СЛОВА ANY
    Трапляється, що наперед невідомо, яка саме модель використовується. У таких випадках в схемах DTD використовують слово ANY.

    Ключове слово ANY впливає на визначення структури XML.


    1:

    2:


    3:

    4:


    5:

    6:


    7: ]>

    8:

    9:

    10:

    11:

    12: Завтра о 12.45 відбудеться лекція з Web-дизайну

    13:

    14:


1   2   3   4   5   6   7   8


База даних захищена авторським правом ©lecture.in.ua 2016
звернутися до адміністрації

    Головна сторінка