• Різне

    Синтаксис мови XML

    03.07.2016

    Синтаксис і основні поняття мови XML, створення валідних документів
    Поняття про мову XML

    XML — це розширювана мова розмітки (Extensible Markup Language), розроблений спеціально для розміщення інформації у World Wide Web, поряд з HTML, який давно став стандартним мовою створення Web-сторінок. На відміну від HTML, замість використання обмеженого набору певних елементів ви маєте змогу створювати ваші власні елементи і присвоювати їм будь-які імена за вашим вибором. Примітка: мається на увазі, що читач цієї статті хоча б поверхово знайомий з мовою HTML.

    XML вирішує ряд проблем, які не вирішує HTML, наприклад:

    • Подання документів будь-якого (не тільки текстового типу, наприклад, музики, математичних рівнянь і т. д.
    • Сортування, фільтрація і пошук інформації.
    • Подання інформації в структурованому (ієрархічному) вигляді.

    В залежності від рівня відповідності стандартам документ може бути «правильно сформованим» («well-formed»), або «валідним» («valid»). Ось кілька основних правил створення вірно сформованого документа:

    • Кожен елемент XML повинен містити початковий і кінцевий тег (або порожній тег типу , який може нести інформацію за допомогою своїх атрибутів).
    • Будь-вкладений елемент повинен бути повністю визначений всередині елемента, до складу якого він входить.
    • Документ повинен мати тільки один елемент верхнього рівня.
    • Імена елементів чутливі до регістра.

    Є три основних способи повідомити браузеру, як відображати кожен із створених вами XML-елементів:

    • Каскадна таблиця стилів (Cascading Style Sheet — CSS) або розширювана таблиця у форматі мови стильових таблиць (Extensible Stylesheet Language — XSL).
    • Зв’язування даних. Цей метод вимагає створення HTML-сторінки, зв’язування з нею XML-документа і встановлення взаємодій HTML-елементів з елементами XML. Надалі елементи HTML автоматично відображають інформацію з пов’язаних з ними елементів XML.
    • Написання сценарію. Цей метод вимагає створення HTML-сторінки, зв’язування з нею XML-документа і отримання доступу до XML-елементів за допомогою коду JavaScript або VBScript.

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

    XML-додаток зазвичай визначається створенням описувача типу документа (DTD), який є допустимим компонентом XML-документа. DTD встановлює і визначає імена елементів, які можуть бути використані в документі, порядок, в якому елементи можуть з’являтися, і доступні до застосування атрибути елементів. DTD зазвичай включається в XML-документ і обмежує коло елементів і структур, які будуть використовуватися. Примітка: додаток XML Schema дозволяє розробляти докладні схеми для ваших XML-документів з використанням стандартного синтаксису XML і є альтернативою DTD.

    Найпростіший XML-документ

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

    • Оголошення типу документа.
    • Одну або кілька інструкцій по обробці.

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

    XML-документ можна набрати в будь-якому текстовому редакторі, зберігши документ як текстовий файл з розширенням .xml. Надалі такий документ буде відкриватися подвійним клацанням в Internet Explorer. Ось приклад найпростішого XML-документа:

    Product #1

    10.00

    Щоб мати можливість використовувати в XML-документі символи кирилиці (як в символьних даних, так і в іменах елементів), ви можете вказати кодування в пролозі:

    Відображення XML-документа за допомогою CSS

    Наведена нижче каскадна таблиця стилів (Cascading Style Sheet — CSS) відобразить кожен елемент PRODUCT XML-документа з переведенням рядка зверху і знизу, кожен елемент TITLE — курсивом, а кожен елемент PRICE — напівжирним шрифтом. Наберіть таблицю стилів в будь-якому текстовому редакторі, зберігши документ як текстовий файл з розширенням .css:

    наприкінці прологу XML-документа необхідно додати інструкцію з обробки:

    В результаті при відкритті XML-документа в Internet Explorer він буде відображений у відповідності з інструкціями, записаними в таблиці стилів.

    Завдання атрибутів елементів

    В початковий тег елемента або в тег порожнього елемента ви можете включити одне чи кілька описів атрибутів. Опис атрибута являє собою пару ім’я — значення, наприклад:

    $10.55

    або

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

    Інструкції по обробці

    Інструкція по обробці має наступну форму запису:

    «кому» є ім’я додатка, якому адресована інструкція, а «інструкція» — є інформація, що передається з додатком. Інструкція може складатися з будь-якої послідовності символів, крім пари ?>.

    Якщо ви використовуєте в якості XML-процесора Internet Explorer, у вас є дві можливості застосування інструкцій з обробки:

    • Стандартні інструкції для повідомлення браузеру, як відображати документ з використанням таблиці стилів, наприклад:

  • Якщо ви пишете Web-сценарій для відображення XML-документа, ви можете помістити в документ будь-які незарезервированные інструкції по обробці, а ваш сценарій буде зчитувати ці інструкції. Наприклад, ви можете вставити в документ інструкцію по обробці, повідомляє вашим сценарієм рівень деталізації при відображенні:

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

    . .

    Використання розділів CDATA

    Всередині символьних даних у вмісті елементу не можна поміщати символи кутових дужках (наприклад, <) або символ амперсанда &. Одним із способів подолати це обмеження є використання посилання на символ (< або &). Іншим способом є використання посилання на визначений загальний примітив (< або &). Однак, у випадку, якщо вам потрібно багаторазово вставляти символи < & (якщо, наприклад, це який-небудь вихідний код або розмітка HTML), використання посилань незручно і ускладнює сприйняття даних. У цьому випадку простіше помістити текст, що містить такі символи, розділ CDATA.

    Розділ CDATA починається з символів . Між цими двома обмежниками ви можете помістити будь-які символи, крім ]]>. У розділі CDATA не потрібно використовувати посилання на символи або зумовлені загальні примітиви, т. к. синтаксичний аналізатор не буде заміщати таку посилання відповідним символом. Розділи CDATA не можуть бути вкладеними. Ви можете помістити розділ CDATA в будь-яке місце, займане символьними даними — тобто всередині вмісту елемента, але не всередині XML розмітки:

    .

    Розділи CDATA відображаються браузером як вміст елемента.

    Створення валідних XML-документів

    Валідним (valid) називається коректно сформований (well-formed) документ, що відповідає двом додатковим вимогам:

    • Пролог документа повинен містити визначення типу документа (DTD — Document Type Definition), що задає структуру документа.
    • Оставшаяся частина документа повинна відповідати структурі, заданої в DTD.

    Будь-яке відхилення від вимог коректності формування (well-formed) вважається фатальною помилкою (fatal error). Якщо XML-процесор стикається з фатальною помилкою, він зупиняє обробку документа і не намагається її відновити. Відхилення від вимог валідності (valid) вважається лише помилкою (error). Якщо XML-процесор стикається з помилкою, він може просто видати повідомлення про неї і продовжити обробку. Процесор Internet Explorer перевіряє документ на валідність тільки в тому випадку, якщо ви відкриваєте документ через HTML Web-сторінку.

    Більшість так званих XML-додатків (XML-словників) складаються із стандартного DTD, що всі користувачі додатки включають у свої XML-документи.

    Оголошення типу документа (DTD) являє собою блок розмітки, який ви повинні додати пролог XML-документа, та має наступну форму запису:

    «Ім’я» вказує на ім’я кореневого елемента. «DTD» містить оголошення, які визначають елементи та їх атрибути. «DTD» складається з символу лівої квадратної дужки, після якої слідує низка оголошень розмітки, закінчується правою квадратною дужкою. Приклад:

    >

    DTD може містити такі типи оголошень розмітки:

    • Оголошення типів елементів, які може містити документ, їх вміст і порядок.
    • Оголошення списків атрибутів, які можуть бути використані з певними типами елементів, типи даних атрибутів, значення атрибутів за умовчанням.
    • Оголошення примітивів для зберігання часто використовуваних фрагментів тексту або для вбудовування не належать до XML даних у ваш документ.
    • Оголошення нотацій, які описують формати даних або ідентифікують програму, використовувану для обробки певного формату.
    • Інструкції по обробці.
    • Коментарі.
    • Посилання на параметричні примітиви. Будь-який з наведених вище компонентів може міститися всередині параметричного примітиву і додаватися шляхом посилання на параметричний примітив.

    Оголошення типів елементів

    Оголошення типу елемента має наступну форму:

    «Ім’я» є ім’я объявляемого типу елемента. «Опись_содержимого» можна заповнити чотирма різними способами:

    • Порожнє вміст (EMPTY). Вказує, що елемент не може мати вмісту, наприклад:

    Після цього можна помістити такі елементи:

  • Будь вміст (ANY). Елемент може мати або не мати дочірні елементи в будь-якому порядку з будь-якою кількістю входжень, мати або не мати чергуються символьні дані. Приклад:

  • Вміст (дочірнє вміст елемента. Елемент може містити дочірні елементи, але не може безпосередньо містити символьні дані.
  • Змішане вміст. Елемент може містити будь-яку кількість змішаних даних, в тому числі і чергуються з дочірніми елементами певних типів.
  • У третьому випадку (коли «Опис вмісту» представляє з себе «дочірнє вміст елемента») модель вмісту може мати одну з наступних форм:

    • Послідовна форма. Наприклад, елемент PRODUCT повинен мати один дочірній елемент TITLE, після якого йде один дочірній елемент PRICE, за яким слідує один дочірній елемент MASS:

  • Вибіркова форма. Наприклад, елемент PRODUCT повинен мати один дочірній елемент TITLE, або один дочірній елемент PRICE, або один дочірній елемент MASS:

    Ви можете змінити будь-яку з цих форм моделі вмісту, використовуючи знаки:

    Короткий опис статті: документ це Синтаксис і основні поняття мови XML, створення валідних документів Мову, XML, синтаксис, основи, введення, поняття, дійсний документ

    Джерело: Синтаксис мови XML

  • Також ви можете прочитати