Створення засобу перегляду xml за допомогою jscript - створення потужних скриптів в exsead xml - все про

Метод читання джерела даних XML з файлу або AJAX і подальшого подання його в Internet Explorer у вигляді GUI (графічний інтерфейс користувача).







Коротка інформація про Exsead Etc.

XMLViewer.js - дуже довгий скрипт, так як він виконує кілька різних функцій, щоб досягти своєї мети.

Process Arguments

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

DisplayXML

Отримуючи шматок XML у вигляді рядка, дана функція розбирає його за допомогою парсера DOM від Microsoft. Потім він знаходить частина «Документ в DOM» (DOM - об'єктна модель документа, що містить в собі інші частини, поряд з самим документом).

Отримавши елемент «документ», функція створює масив для зберігання всього виведеного HTML. Обраний такий підхід, так як нові шматки HTML можуть успішно поміщатися в кінець масиву, а потім весь масив перетворюється в рядок в останній момент.

Щоб зрозуміти наступну частину завдання, треба зрозуміти, як принцип DOM формує XML. Як і більшість сучасних програмних принципів, він набагато простіше, ніж здається. Треба розуміти два головних принципи при роботі з XML:
1. Всі є вузлом.
2. Ігноруйте всі, про що не треба турбуватися.

Вузли є простими контейнерами. Вони можуть містити інші вузли, або можуть містити текст. Тому такий шматок XML Hello World зберігається в DOM у вигляді 3 вузлів. Перший вузол містить ім'я вузла myParent. Він має одного нащадка, що містить ім'я вузла myChild. Вузол myChild також має одного нащадка, що є безіменним. Але він містить текст і має значення вузла Hello World.

Так можна відрізняти вузли, що містять текст, і вузли, що містять інші вузли (або здатні утримувати інші вузли, але є порожніми). Кожен вузол має nodeType. Типи вузла 3 і 4 містять текст.







Ми майже розібралися з вузлами! Останній необхідний для цієї статті питання - поняття 'атрибути'. Атрибути - елементи ключа = "значення (я)", існуючі в XML. наприклад, Dorris може бути фрагментом XML, що вказує, що чиюсь матір звали Dorris. Атрибути є альтернативою використанню більш складних структур XML типу наступної:Dorrisfemale. Якби ви роздрукували всі обговорення в інтернеті щодо того, коли атрибути повинні або не повинні використовуватися, ймовірно, ви б знищили джунглі Амазонки. Тому поки погодьтеся, що атрибути можна використовувати!

Елемент «документ DOM» сам є вузлом. Всі документи XML повинні мати один зовнішній вузол, нащадками якого є всі інші вузли. ProcessNode отримує вузол і генерує HTML-подання цього вузла і всіх його нащадків. Тому DisplayXML передає елемент «документ» (невідомо, чому він не називається «вузол« документ ») в ProcessNode.

ProcessNode

Хочете злякатися? ProcessNode є «рекурсивним спускається оброблювачем». Звучить дуже складно, приголомшливо і лякаюче. Але насправді це дуже просто. Пояснення виглядає так: будь-який вузол має значення чи нащадка. Є функція, обробна батьківський вузол. Батьківський вузол є таким же, як і дочірній вузол. Тому для обробки батьківського вузла і його нащадків застосовується одна і та ж функція.

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

Нарешті наочне уявлення XML у вигляді HTML відправляється в GUI

Створення засобу перегляду xml за допомогою jscript - створення потужних скриптів в exsead xml - все про

Він створюється за допомогою наступного фрагмента коду:

Доводиться засвоїти багато речей, але в результаті виходить потужний скрипт!

Малюнок 1. Приклад з конкретними квітами, обробленими за допомогою VML в Internet Explorer. Малюнок 2. Приклад з конкретними квітами, обробленими за допомогою полотна (canvas) в Firefox. Малюнок 3. Приклад, що демонструє згорнуті і вибрані вузли, оброблені за допомогою VML в Internet Exp.