Руководство по actionscript. часть 3, стр. 073

// Выводит:

trace(novel. processingInstructions( )[0].toStringC ));

Определение равенства в расширении Е4Х

В этом разделе рассматриваются специальные правила языка ActionScript для определения равенства объектов XML, XMLList, QName и Namespace. Стоит отметить, однако, что представленная информация применима только к оператору равенства (==) — она не касается оператора строгого равенства (===). Расширение Е4Х не изменяет семантику оператора строгого равенства. В частности, этот оператор считает два экземпляра класса XML, XMLList — QName или Namespace — равными тогда, и только тогда, когда они указывают на одну и ту же объектную ссылку.

Равенство объектов XML

Оператор равенства (==) считает два экземпляра класса XML, представляющие элементы, равными, если они представляют одну и ту же иерархию XML. Например, в следующем коде переменные xl и х2 указывают на различные объектные ссылки, но считаются равными, поскольку представляют одну и ту же иерархию XML:

var xl:XML = ; var x2:XML = ; trace(xl == x2); // Выводит: true

По умолчанию расширение E4X игнорирует пробельные узлы, поэтому два экземпляра класса XML, представляющие элементы, считаются равными, когда имеют одинаковую разметку, даже если используется различное форматирование. Например, в следующем коде исходный XML-код для экземпляра класса XML, хранящегося в переменной xl, не содержит пробельные узлы, в отличие от исходного XML-кода для экземпляра класса XML, хранящегося в переменной х2, который содержит два пробельных узла. Однако, несмотря на это различие, экземпляры по-прежнему

считаются равными, поскольку пробельные символы игнорируются — это значит, что иерархии XML остаются одинаковыми.

var xl:XML = ; var x2:XML =

;

trace(xl == x2): // По-прежнему выводит: true

Если перед парсингом кода XML мы скажем среде Flash учитывать пробельные узлы, экземпляры класса XML из предыдущего примера больше не будут считаться равными, как показано в следующем коде:

XML. ignoreWhitespace = false: // Не игнорировать пробельные узлы var xl:XML = : var x2:XML =

:

trace(xl == x2); // Теперь выводит: false

Экземпляр класса XML, представляющий элемент, считается равным экземпляру класса XML, представляющему атрибут, если элемент не имеет элементов-детей и содержащийся в нем текст совпадает со значением атрибута. Например, в следующем коде атрибут QUANTITY считается равным элементу, поскольку элемент не имеет элементов-детей и содержит текст, который совпадает со значением атрибута QUANTITY:

var product:XML = 1: trace(product.^QUANTITY == product. COST); // Выводит: true

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

var product:XML =

1 1
:

trace(product. COST.*[0] == product. QUANTITY): // Выводит: true

Во всех остальных случаях, если типы узлов двух экземпляров класса XML отличаются, эти два экземпляра считаются разными. Когда типы узлов совпадают, два экземпляра считаются равными, если типом обоих узлов является:

? «атрибут», а значения атрибутов совпадают;

? «текст», а текст узлов совпадает;

? «комментарий», а текст, расположенный между открывающими и закрывающими разделителями комментария (), совпадает;

? «инструкция обработки», а текст, расположенный между открывающими и закрывающими разделителями инструкции обработки (), совпадает.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.72
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 075
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 043
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.120
  • 24.01.2010">Плагины расширений для браузера Google Chrome
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 093
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 128
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 033
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.18
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.17
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 046
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 004
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 089
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 072
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 035
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...