Руководство по actionscript. часть 3, стр. 039
Достаточно удобно. Эту возможность можно использовать и для преобразования к другим примитивным типам данных. Например, следующий код преобразует значение атрибута ISBN к числу путем простого присваивания этого значения переменной с типом данных Number:
var booklSBN:Number = novel.@ISBN;
При работе с атрибутами следует помнить, что значение атрибута всегда имеет тип String, даже когда кажется, что с логической точки зрения оно должно иметь другой тип. Для использования этого значения в качестве другого типа данных (не String) необходимо выполнить его явное или неявное преобразование. Чтобы избежать неприятных сюрпризов, следует постоянно помнить о правилах преобразования типов данных, которые были рассмотрены в гл. 8. В частности, запомните, что строковое значение «false» преобразуется в значение true типа Boolean! По этой причине при работе с атрибутами, которые хранят булеву информацию, проще использовать сравнение строк, чем преобразовывать значение атрибута к типу данных Boolean.
Например, следующий код добавляет новый атрибут INSTOCK, который обозначает доступность книги в настоящий момент, к элементу. Чтобы отобразить сообщение о доступности книги, сравним значение выражения novel. @INSTOCK со строкой «false» вместо того, чтобы преобразовывать значение выражения novel. @ INSTOCK в значение типа Boolean. Перед сравнением в качестве меры предосторожности мы также преобразуем все символы значения атрибута к нижнему регистру.
I При сравнении атрибутов помните, что они всегда являются строками, а сравнение j « выполняется с учетом регистра символов.
fly_
var novel:XML =
// Сравниваем со строкой «false» вместо преобразования в тип Boolean if (novel. LINSTOCK. toLowerCase( ) == «false») {
traceC’Not Available!»): } else {
traceC’Available!»):
}
Обращение к комментариям и инструкциям обработки
Двумя последними типами узлов, к которым можно обращаться с помощью расширения Е4Х, являются комментарии и инструкции обработки. Комментарии языка XML имеют следующий вид:
Инструкции обработки языка XML принимают такой вид:
Для обращения к этим двум вспомогательным типам данных можно использовать методы экземпляра comments ( ) nprocessinglnstructions( ) класса XML. Оба метода возвращают объект XMLList, представляющий всех непосредственных детей элемента, которые являются либо комментариями, либо инструкциями обработки соответственно. Однако по умолчанию парсер расширения Е4Х игнорирует и комментарии, и инструкции обработки. Чтобы получить доступ к комментариям документа XML или фрагмента XML, перед обработкой данных переменной XML. ignoreComments необходимо присвоить значение false, как показано в следующем коде: XML. ignoreComments = false:
Подобным образом, для того чтобы получить доступ к инструкциям обработки документа XML или фрагмента XML, перед обработкой данных переменной XML. ignoreProcessinglnstructions необходимо присвоить значение false, как показано в следующем коде:
XML. ignoreProcessinglnstructions = false:
Следует обратить внимание на то, что переменные XML. ignoreComments и XML. ignoreProcessinglnstructions являются статическими, значения им присваиваются через класс XML, а не через отдельные экземпляры класса XML. Значения, присвоенные переменным XML. ignoreComments и XML. ignoreP rocessinglnstructions, влияют на все последующие операции обработки XML-данных.