Отправляет email-рассылки с помощью сервиса Sendsay

Дизайн и разработка

  Все выпуски  

Дизайн и разработка Flash и XML (Часть 1) [Начало работы с XML]


Flash и XML (Часть 1) [Начало работы с XML]

XML это одна из наиболее важных в истории информатики разработок в, области синтаксиса документов. За последние 30 лет ХМL получил очень широкое распространение. Он стал синтаксисом новых форматов документов практически во всех сферах применения компьютеров. Чем же так хорош XML и чем данная технология может помочь Flash-разработчику?

ХМL(eXtensible Markup Language) самый простой, понятный и гибкий из всех изобретенных синтаксисов документов. В мире компьютеров же к форме текстового документа можно привести любую структуру данных. Следовательно, ХМL полезен как лучший формат сохранения и передачи структурированных данных.

С XML можно столкнуться при работе с ActionScript. URL-кодирование годится для обмена простыми данными между FlashPalyer и серверными языками, выполняющиеся не посредственно на стороне сервера, но для сложных данных или символов Unicode лучше использовать XML, поскольку он структурирован.

Зачастую структуру данных можно представить и в более элементарной, чем ХМL, форме строки с парами имя-значение. Например, если вам нужно передать на сервер следующий объект:

var capitals:Object=[England: "London", USA: "Washington", Russia: "Moscow"};

то его вполне приемлемо записать в такой форме:

England=London&USA=Washington&Russia=Moscow

Программа буквально из нескольких строк кода сможет воссоздать на основании такой строки исходный объект (или аналогичную ему структуру данных той системы, в которую вы передаете информацию).

Но что, если в свойстве объекта будет храниться другой объект или массив? При этом представить его линейной структурой, которой является строка с парами имя-значение, будет весьма проблематично. А ведь степень вложенности объектов и сложность связей между ними могут быть любыми…

Чтобы представить подобные древовидные структуры данных, нужен формат, способный однозначно их описать при сколь угодно большой степени вложенности элементов. И таким форматом является XML. Например, объект

var people:Object={Alexander:{age:29, icq:[123123, 234234]},
Igor:{age:34, phones:[456456]}},

можно описать таким XML-документом:

<people>
<person name='Alexander'>
<age value='29'/>
<icq>
<number>123123</number>
<number>234234</number>
</icq>
</person>
<person name='Igor'>
<age value='34'/>
<icq>
<number>456456</number>
</icq>
</person>
</people>

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

Дело в том, что сейчас в любом более-менее широко распространенном универсальном или скриптовом языке есть библиотеки, отвечающие за работу с XML. В ActionScript за нее отвечают классы XML и XMLNode, при помощи которых ХМL-документ представляется как дерево объектов.

Подобным образом XML дает возможность представлять в виде текстовых документов структуры данных любой сложности. Воссоздать же на основании XML-документа более подходящую для обработки и анализа языком программирования структуру данных ввиду простоты и однозначности правил синтаксиса XML будет очень легко.
Более того, для этого наверняка не придется писать никакой код. Дело в том, что сейчас в любом более-менее широко распространенном универсальном или скриптовом языке есть библиотеки, отвечающие за работу с XML. В ActionScript за нее отвечают классы XML и XMLNode, при помощи которых ХМL-документ представляется как дерево объектов.

Конечно, нечто подобное на ХМ L и, возможно, даже более подходящее для решения какой-то конкретной задачи можно придумать и самостоятельно. Но делать это не стоит. Помимо того, что при этом вам придется дополнительно написать большой фрагмент кода, вы потеряете одно из основных достоинств ХМ L переносимость. Язык XML является стандартизированным и общепринятым форматом обмена данными между приложениями. Поэтому, например, преобразовав объект в XML-представление, вы можете передать его серверу, Java-приложению или СУБД.
И любая из этих систем сможет преобразовать полученные данные в присущее ей внутреннее представление. Но чтобы система смогла разобрать ваш собственный формат описания структур данных, она должна быть создана вами. Данные же в формате XML являются переносимыми, то есть в них сможет разобраться практически любая система, а не только та, в которой соответствующий
документ был создан.

Ита


В избранное