3 Конверсія
Конверсія. Важливість використання будь-яких тегів означає, що будь-який HTML документ дуже легко перетворюється в XML. Зміни, що потрібні для цього перетворення досить формальні:
1) всі значення атрибутів повинні бути в лапках.
2) регістр букв у відкриваючих і закриваючих тегах повинен співпадати.
3) всі елементи повинні мати відкриваючий і закриваючий тег.
Це відноситься не лише до елементів з факультативними тегами, а і до пустих елементів, які в HTML мають лише відкриваючий тег. Наприклад тег <Img> потрібно буде закрити:
<IMG_ALT = ” ”_SRC = “ e. gif ” > < / IMG >
Крім цього XML допускає особливо скорочену форму запису для пустих елементів.
< IMG_ALT = ” ” STC = ”e. gif ” / >
Існують утиліти, які переводять HTML в XML, тег в тег з дотриманням всіх правил. Результат такого переводу буде правильно структурований документ з точки зору інтерпретатора XML, хоча розмітка не стане ні на грам більш структурованою. Тому для більш ефективного перетворення необхідно замінювати на відповідно логічні теги уніфіковані HTML блоки, які мають разом з функцією форматування ще й структурну функцію, які дозволяють отримати на виході змістовний XML код, який містить структуровану основу документа і здатний працювати з будь-якою підключеною стильовою класифікацією.
До засобів перетворення даних і їхніх форматів належать:
- стандарти кодування даних (XDR – eXternal Data Representation, CDR – Common Representation Data [8]), NDR – Net Data Representation) і методи їхнього перетворення;
- МП і механізми звернення компонентів один до одного;
- мови опису інтерфейсів компонентів – RPC, IDL і RMI для передачі даних між різними компонентами.
На кожній платформі комп'ютера використовуються угоди про кодування символів (наприклад, ASCII), про формати цілих чисел і чисел з плаваючою точкою (наприклад, IEEE, VAX і ін.). Для представлення цілих типів, як правило, використовується додатковий код, а для типів float і double – стандарт ANSI/IEEE та ін. Порядок розташування байтів залежить від структури платформи (Big Endian або Little Endian) від старшого до молодшого байта і від молодшого до старшого байта. Процесори UltraSPARC і PowerPC підтримують обидві можливості. При передачі даних з однієї платформи на іншу враховується можливий незбіг порядку байтів. Маршаллинг даних підтримується декількома стандартами, деякі з них розглянемо нижче. XDR–стандарт містить у собі мову опису структур даних довільної складності і засоби перетворення даних, що передаються на платформи (Sun, VAX, IBM і ін.). Програми в МП можуть використовувати дані в XDR-форматі, не зважаючи на те, що компілятори вирівнюють їх в пам'яті машини по-різному. У XDR-стандарті цілі числа з порядком «від молодшого» зводяться до порядку байтів «від старшого» і назад. Перетворення даних – це кодування (code) або декодування (decode) XDR-процедурами форматування простих і складних типів даних. Кодування – це перетворення з локального уявлення в XDR-уявлення і запис в XDR-блок. Декодування – це читання даних з XDR-блоку і перетворення в локальне уявлення заданої платформи. Вирівнювання даних – це розміщення значень базових типів з адреси, кратної дійсному розміру в байтах (2, 4, 8, 16). Межі даних вирівнюються за найбільшою довжиною (наприклад, 16). Системні процедури оптимізують розташування полів пам'яті під складні структури даних і перетворюють їх до формату приймальної платформи. Оброблені дані декодуються назад до виду формату передавальної платформи. CDR-cтандарт середовища CORBA забезпечує перетворення даних у формати платформи, що їх передає або приймає. Маршаллинг даних виконує інтерпретатор TypeCode і брокер ORB. Процедури перетворення складних типів вміщують:
- додаткові коди для представлення цілих чисел і чисел з плаваючою точкою (стандарт ANSI/IEEE);
- схему вирівнювання значень базових типів в середовищі компілятора;
- базові типи (signed і unsigned) в IDL, а також плаваючому типі подвійної точності та ін.
Перетворення даних виконуються процедурами encoder ( ) і decoder ( ) інтерпретатора TypeCode, який використовує базові примітиви при вирівнюванні інформації і розміщенні її в буфері. Для складного типу визначається розмір і межі вирівнювання, а також їхнє розміщення в таблиці з індексами значень TCKind, які використовуються при ініціалізації брокера ORB. ХМL-стандарт забезпечує усунення неоднорідності у взаємозв'язках компонентів у різних МП за допомогою XML-формату даних, який враховує різні платформ і середовища. Проміжні середовища (CORBA, DCOM, JAVA та ін.) мають у своєму складі спеціальні функції, аналогічні XML – альтернатива сервісам CORBA в плані забезпечення взаємозв'язків різномовних програм. XML має різну системну підтримку: браузер Internet Explorer для візуалізації XML-документів, об'єктна модель DOM (Document Object Model) для відображення XML-документів і інтерфейс IDL в системі CORBA. Тексти в XML-стандарті описуються у форматі ASCII, що дає можливість ефективніше застосовувати їх при обміні даними. XML використовується для кодування типів даних за допомогою файлових форматів. При необхідності переходу програмної системи до XML-стандарту проводиться переформатування даних у формат XML, і навпаки. Таким чином, XML-мова дозволяє представляти об'єкти для різних моделей на єдиній концептуальній, синтаксичній і семантичній основі. Він не залежить від платформи і середовища моделі взаємодії компонентів прикладного рівня. XML спрощує обробку документів, роботу з БД за допомогою стандартних методів і засобів (XML-парсеры, DOM-інтерфейси, XSL-відображення XML в HTML та ін.).