Книги в продаже (аннотация + содержание + отрывок)

М. Ховард, М. Леви, Р. Вэймир
РАЗРАБОТКА ЗАЩИЩЕННЫХ WEB-ПРИЛОЖЕНИЙ НА ПЛАТФОРМЕ MICROSOFT WINDOWS 2000.
Цена: 70 р.

Источник: Издательский дом 'ПИТЕР'
Разделы: Разное (общие вопросы использования ПК, компьютерная архитектура, пользовательский интерфейс, компьютерные системы и информационные ситемы)
Подробнее: Информация от издателя (открывается в новом окне)
Заказ: Оформление покупки (открывается в новом окне)
      В этой книге вы найдете подробное описание новейших технологий, предложенных компанией Microsoft. В ней есть все, что вам может потребоваться, — от компонентов поведения DHTML, элементов поведения, XML, XML DOM и XML DSO до образцов XSL, удаленных сценариев и компонентов ASP. Авторы этой книги Дэн Хефлин и Тодд Ней — эксперты в области сценариев Windows — подробно объясняют все детали синтаксиса и приводят примеры Web-приложений, которые вы можете использовать непосредственно или предварительно модифицировав так, чтобы они отвечали вашим требованиям. В приложениях, приведенных в конце книги, вы найдете удобно организованные справочники по JavaScript, компонентам HTML, XML DOM, XSL, компонентам сценария Windows и ASP, которые помогут вам в поиске нужной информации и сэкономят ваше время.
     
     
      Об авторах
      Благодарности
      От издательства
      Предисловие
      Часть I. Обзор технологий сценариев
      Глава 1. Введение
      Краткий обзор технологии сценариев
      Необходимые средства и ресурсы
      Обзор содержания книги
      Структура книги
      Загрузка на локальный компьютер файлов с примерами
      Часть II. Компоненты HTML
      Глава 2. Компоненты поведения DHTML. Введение
      Обзор CSS
      Применение таблиц стилей
      Селекторы таблиц стилей
      Обзор DHTML
      Динамический стиль
      Динамическое содержание
      Инкапсуляция и многократное использование DHTML
      Компонент поведения DHTML
      Компоненты поведения DHTML и безопасность
      Резюме
      Глава 3. Встроенные компоненты DHTML в IE 5
      Встроенный компонент clientCaps
      Встроенный компонент download
      Пример действия компонента download
      Встроенные компоненты anchor и httpFolder
      Пример действия компонента anchor
      Пример действия компонента httpFolder
      Web-папки: технические требования и безопасность
      Встроенные компоненты, отвечающие за хранение информации
      Примеры действия компонентов homePage, saveHistory и saveFavorite
      Пример действия компонента saveSnapshot
      Встроенный компонент userData
      Встроенные компоненты, отвечающие за работу мультимедиа
      Временная последовательность HTML+TIME
      Пример использования средств мультимедиа и HTML+TIME
      Резюме
      Глава 4. Архитектура компонентов HTML
      Компоненты поведения DHTML и компоненты HTML
      Архитектура файлов HTC
      Элементы HTC
      Методы HTC
      События HTC
      Мастер Создание компонентов HTML
      Структура файла для фрейма HTC
      Детали реализации компонента фрейм
      Использование фреймов
      Резюме
      Глава 5. Новые возможности в IE 5.5
      Усовершенствование архитектуры компонентов HTML
      Обзор структуры элементов поведения
      Изменения реализации компонентов HTML
      Реализация элемента поведения
      Вложенные элементы поведения
      Элементы поведения: наследование стилей CSS, переход по клавише табуляции и прохождение событий
      Переходы между основным документом и элементом поведения
      Прохождение событий и элементы поведения
      CSS и элементы поведения
      Резюме
      Глава 6. Отладка сценариев и компонентов HTML
      Отладчик Microsoft Script Debugger
      Устройство отладчика Script Debugger
      Пример работы отладчика Script Debugger
      Использование Script Debugger для просмотра кода
      Отладка ошибок во время выполнения
      Проблемы при работе со Script Debugger
      Отладчик Microsoft Visual InterDev Debugger
      Отладка в Visual InterDev
      Сравнение Script Debugger и Visual InterDev
      Резюме
      Глава 7. Создание реального компонента HTML
      Процесс разработки компонента HTML
      Нужен ли вам новый компонент?
      Определение функциональных возможностей компонента
      Определение открытого интерфейса компонента
      Определение пользовательского интерфейса компонента
      Реализация нового компонента и создание пробной страницы
      Архитектура компонента Grid
      Функциональные возможности компонента Grid
      Открытый интерфейс компонента Grid
      Пользовательский интерфейс компонента Grid
      Реализация компонента Grid
      Возможности компонента Grid
      Пример пробной страницы
      Расширение возможностей компонента Grid
      Резюме
      Часть III. Технологии XML
      Глава 8. XML и объектная модель XML
      Обзор XML
      Анатомия документа XML
      Создание правильных (well-formed) документов XML
      Создание состоятельных документов XML
      Использование документов XML
      Использование анализатора XML Internet Explorer для отображения документов XML
      Использование объектной модели документа XML
      Загрузка и сохранение данных при помощи DOM
      Перемещение по дереву объектной модели документа XML
      Получение и задание данных и атрибутов узла
      Работа с атрибутами
      Изменение древовидной объектной модели документа XML
      Отсылка данных на сервер
      Резюме
      Глава 9. Объекты доступа к данным XML и связывание данных
      Обзор технологии связывания данных
      Архитектура связывания данных
      Использование объекта DSO
      Атрибуты связывания данных для потребителей, связываемых с одним значением
      Определение объекта XML DSO
      Атрибуты связывания данных для потребителей, связываемых с множеством значений
      Динамическое связывание элементов
      Навигация по набору записей
      Правила преобразования XML в набор записей
      Отображение данных из нижних уровней иерархии документа XML
      Модификация данных DSO
      События, возникающие при связывании данных
      Резюме
      Глава 10. XSL и поиск данных XML
      Трансформация XML при помощи шаблонов
      Трансформация документа XML
      Создание таблицы стилей XSL
      Работа с несколькими дочерними элементами
      Следующие шаги в изучении синтаксиса XSL
      Выполнение сценария в таблице стилей XSL
      Условные элементы
      Динамическое создание элементов и атрибутов
      Отслеживание преобразования узлов
      Советы по отладке таблиц стилей XSL
      XSL-образцы - основной рабочий инструмент
      Работа с семействами элементов
      Фильтры
      Использование логического И и ИЛИ в образцах фильтров
      Объединение результатов
      Методы изменения контекста
      Методы образцов XSL
      Порядок старшинства операций в XSL
      Поиск элементов в документе XML
      Резюме
      Глава 11. Схемы XML
      Описание данных
      Работа со схемами
      Пример создания схемы
      Более сложные действия со схемами
      Добавление комментариев к схеме
      Установление значений атрибутов по умолчанию
      Работа с типами данных
      Перекрестные ссылки
      Возможность расширения схем XML
      Резюме
      Глава 12. Применение XML на практике
      Функции и характер приложения
      Подготовка к созданию приложения
      Создание схем
      Схема категорий
      Схема подкаталога
      Корзина покупателя и оформление заказа
      Реализация приложения
      Использование XML на стороне клиента
      Использование XML на стороне сервера
      Редактирование каталога
      Дополнения
      Резюме
      Часть IV. Улучшенные возможности Internet Explorer
      Глава 13. Приложения HTML
      Характеристики HTA
      Устройство приложения HTML
      Создание простых приложений HTML
      Вопросы безопасности при использовании HTA
      Развертывание приложений HTA
      Достоинства и недостатки HTA
      Еще один пример HTA
      Резюме
      Глава 14. Улучшенные возможности DHTML
      Динамические свойства
      Реализация динамических свойств
      Передача данных в DHTML
      Объекты, необходимые для передачи данных
      Вопросы безопасности
      Перехват событий мыши
      Реализация перехвата событий мыши
      Резюме
      Часть V. Компоненты сценариев Windows и удаленные сценарии
      Глава 15. Компоненты сценариев Windows
      Обзор технологии WSC
      Что такое WSC?
      Достоинства и недостатки WSC
      Необходимые для создания WSC файлы
      Используемые во время работы WSC файлы
      Создание компонента сценария Windows
      Мастер Создание WSC
      Архитектура компонентов сценария Windows
      Элементы XML и
      Элементы и и функция createComponent
      Элементы XML , , и
      Элемент XML
      Элементы XML и
      Элемент XML и функция getResource
      Элемент XML
     
     
     
      Below is the Link component's link:

     
     
     
      Полученный простой компонент создает гиперссылку, которая допускает модификацию. Компонент состоит из двух частей, и , расположенных внутри тега . Хотя такая структура не является единственно возможной, она предпочтительна, так как обеспечивает хорошее разделение между пользовательским интерфейсом компонента и его внутренней логической схемой. В теге содержатся элементы компонента HTML, определяющие его структуру, а в теге - разметка HTML, которая отображается в первичном документе.
      Из приведенного листинга видно, что в коде компонента присутствует тег с именем LINK в элементе . Это имя используется основным документом для объявления компонента на странице. Элемент определяет, что этот компонент должен быть включен в основной документ как компонент ViewLink (а не как компонент поведения DHTML). Остальные элементы - это стандартные элементы компонентов HTML, составляющие открытый интерфейс компонента.
      Функция setLink вызывается дважды: при обработке события onload в теге и события oncontentready для элемента master. Эта функция используется для установки значений атрибута href и свойства innerText (видимое имя гиперссылки) элемента HTML anchor, задаваемого тегом якоря . При создании компонента на Web-странице сначала генерируется событие oncontentready, а затем событие onload. Вы можете пронаблюдать за этим процессом, так как в функции setLink предусмотрено отображение диалогового окна (оператор alert()), в котором можно увидеть содержимое тега .
      Приведенный листинг содержит код Web-страницы (первичного документа), использующей разработанный компонент связи (link).
      Листинг 5.2. linktest.htm
     
     
     
     
     
     
     


      Below is the primary document's link:

     
Microsoft's Web Site
     


     

     
     
     
      Для того чтобы страница воспринимала данный компонент как компонент ViewLink, необходимо сделать следующее:
      в теге объявить пространство имен XML;
      внутри тегов добавить инструкцию обработки ;
      для отображения компонента на странице посредством ViewLink использовать тег .
      Инструкция обработки (не являющаяся чувствительной к регистру) связывает пространство имен XML с компонентом ViewLink. Параметр NameSpace представляет собой имя, которое будет использоваться для пространства имен XML. В данном случае это имя определено в теге как IE. Параметр Implementation задает имя файла компонента, в данном случае link.htc. Инструкция , кроме того, обеспечивает синхронную загрузку компонента.
      Теперь, когда пространство имен XML связано с файлом компонента, на Web-странице можно создать пользовательский тег. Этот тег создается на основе пространства имен и атрибута tagname, расположенного в элементе файла .htc. В приведенном примере этот тег выглядит следующим образом:
     
      На рис. 5.2 показано, как выглядит Web-страница после загрузки. На ней присутствуют две гиперссылки, между которыми можно переключаться. Само по себе это не очень интересно, но зато видно, что компонент не является частью объектной модели документа страницы. На Web-странице имеется тег с идентификатором linkitem (значение атрибута ID). В коде компонента имеется такой же тег с таким же идентификатором. При нажатии кнопки Switch на Web-странице вызывается функция switchLinks, которой передаются значения свойств text и URL компонента. Эта функция вызывает метод setLink компонен
      та, задающий текст и URL его гиперссылки, и передает ему в качестве параметров текст и URL гиперссылки linkitem, определенной на Web-странице. Этот метод устанавливает значения свойства innerText и href своего объекта document.all.linkitem, соответствующего элементу
в теле компонента, равными переданным ему параметрам. После выполнения метода setLink компонента функция switchLinks устанавливает значения свойств innerText и href объекта document.all.linkitem. Здесь объект document.all.linkitem уже ссылается на тег на Web-странице.
      Эта схема функционирует благодаря тому, что объектная модель компонента (DOM) инкапсулирована, и основной документ не имеет о ней информации. Если мы попытаемся проделать то же самое для компонентов поведения DHTML, то это не получится, так как в этом случае DOM компонента поведения была бы известна в основном документе. В дереве основного документа присутствовало бы два объекта linkitem, и при ссылке на объект document.all.linkitem произошла бы ошибка. Объекты были бы помещены в семейство и при обращении к ним следовало бы использовать следующий синтаксис: document.all.linkitem(0) и
      document.all.linkitem(1).
      Вложенные элементы поведения
      Элементы поведения могут быть вложены друг в друга. В следующем листинге приведен код компонента inputbox, содержащего текстовое поле ввода.
      Листинг 5.2. Inputbox.htc
     
     
     
     
     
     
     
     

     
     
     
     
     
      Этот компонент помещается внутрь другого компонента, код которого приведен ниже.
      Листинг 5.3. Csstabeb.htc
     
     
     
     
     
     
     
     
     

     
     
     
This shaded area makes up the csstabeb component

     
This line's style is override by the component


      The following text box makes up the inputbox component

     

      Every thing outside the shaded area is in the primary document area
     

     
     
      В данном примере компонент inputbox расположен внутри компонента csstabeb. Компонент csstabeb использует инструкцию обработки для обращения к файлу .htc компонента inputbox и создает для него внутри своего тега пользовательский тег.
      Вложенный компонент inputbox, как было сказано, представляет собой текстовое поле для ввода данных. Приведенный пример, несмотря на свою простоту, показывает, что некоторые элементы поведения могут включать в себя другие элементы поведения.
      У компонента inputbox есть свойство value. Оно применяется для вывода и получения данных из текстового поля. Внешний компонент, csstabeb, использует это свойство вложенного компонента для получения и изменения его значения. Эта процедура реализована при помощи свойства tbValue внешнего компонента csstabeb. Благодаря такому устройству Web-страница имеет доступ к значению компонента inputbox (то есть к введенным данным) через компонент csstabeb.
      Компонент inputbox имеет и еще один метод - setTabSeq. Этот метод используется для установления свойства tabStop объекта defaults. Свойство разрешает или запрещает текстовому полю из компонента inputbox участвовать в последовательности перехода по клавише табуляции на Web-странице.
      Компонент csstabeb отображает текст и компонент inputbox, определенные в его теге . Компонент csstabeb, таким образом, используется для передачи значения свойства value компонента inputbox и определяет, принимает ли последний участие в последовательности перехода по клавише табуляции на Web-странице.
      Элементы поведения: наследование стилей CSS, переход по клавише табуляции и прохождение событий
      Поскольку элемент поведения не является частью объектной модели первичного документа, у него имеется возможность участвовать или не участвовать в переходе по клавише TAB первичного документа и передавать ему свои события. Элемент поведения может наследовать значения свойств каскадных таблиц стилей от первичного документа и либо использовать их, либо вовсе отменить. На рис. 5.3 представлена Web-страница, в середине которой отображен элемент поведения. Фактически, этих элементов поведения два: inputbox и csstabeb - поскольку inputbox содержится внутри csstabeb, то он так
      же отображается на странице. Этот пример мы будем использовать для демонстрации наследования стилей CSS, перехода по клавише табуляции и "всплытия" событий (прохождения событий по иерархии объектов документа).
      Следующий листинг представляет собой код страницы, в которой использованы эти элементы поведения.
      Листинг 5.4. Csstabebtest.htm
     
     
     
     
     
     
     


      Everything that is not in the shaded area is part of the primary document

     

     
     
     

This shaded area is an Element behavior

     

      This starts the primary document again


     
     

     
     
      Переходы между основным документом и элементом поведения
      По умолчанию определено, что те элементы управления, которые принадлежат элементу поведения, не участвуют в последовательности перехода по клавише табуляции первичного документа. Однако у элемента поведения имеются два атрибута, посредством которых это участие может быть реализовано. Во-первых, это атрибут tabStop, который позволяет элементу поведения участвовать в такой последовательности (в том случае, когда его значение равно true). Во-вторых, имеется атрибут viewMasterTab. В том случае, когда его значение равно true, элемент master (тот элемент основного документ
      а, который объявляет элемент поведения) участвует в последовательности перехода по клавише табуляции первичного документа.
      В нашем примере на Web-странице имеются две кнопки для определения того, участвует ли в последовательности перехода по клавише табуляции элемент поведения. Если нажата кнопка Component in Tab Seq, то текстовое поле элемента поведения является участником этой последовательности и в него можно попасть при помощи клавиши табуляции из первичного документа (незатемненной области на рис. 5.3). Если нажата другая кнопка, то текстовое окно выпадает из этой последовательности. Теперь рассмотрим, как эта схема реализована: при нажатии любой из кнопок вызывается функция s
      etTabSeq элемента csstabeb, которая в свою очередь обращается к методу setTabSeq этого компонента. Этот метод задает нужное значение свойства tabStop элемента поведения csstabeb и вызывает метод setTabSeq элемента поведения inputbox для задания аналогичного свойства этого элемента. Значение свойства tabStop элемента поведения csstabeb требуется установить, поскольку, если он окажется, например, отключенным (то есть будет наложен запрет на участие в последовательности перехода по клавише табуляции), то даже при включенном в эту последовательность элементе inputbox последний не сможет в ней
      участвовать. Таким образом, организована некая иерархия - если более внешний элемент отключен от участия в последовательности перехода по клавише табуляции, то и все содержащиеся в нем элементы также отключены. При нажатии кнопки Component in Tab Seq выполняется функция setTabSeq с параметром true, включая элемент поведения в последовательность перехода по клавише табуляции; нажатие второй кнопки, соответственно, вызывает функцию setTabSeq с параметром false, что приводит к исключению элемента поведения из последовательности перехода по клавише табуляции.
      Рассмотрим теперь, что происходит со вторым упомянутым атрибутом - viewMasterTab. Его значение также установлено по умолчанию как false в элементе . Если задать его значение как true, то первым в последовательности перехода по клавише табуляции с основного документа на элемент поведения будет элемент master. В нашем примере у этого элемента нет никаких своих элементов управления, которые могут получить фокус, - поэтому никакого выделения, соответствующего получению элементом фокуса, при нажатии клавиши TAB в момент, когда фокус должен перейти к элементу master, не
      появится (вообще, на странице ни один элемент не будет выделен). При следующем нажатии этой клавиши фокус получит вложенный элемент поведения, но так как он содержит элемент управления (текстовое поле ввода), то именно оно и будет выделено.
      Прохождение событий и элементы поведения
      Если компонент поведения DHTML перехватывает какое-либо событие, то оно не генерируется для элемента master. Это происходит потому, что компонент поведения DHTML является частью объектной модели документа. Так как элемент поведения имеет свою собственную объектную модель, в IE 5.5 события элемента поведения автоматически передаются первичному документу и поднимаются по его объектной модели. Это называется прохождением событий.
      Если вы хотите посмотреть, как это происходит в действительности, щелкните на компоненте, расположенном на Web-странице (речь идет все о том же примере, проиллюстрированном на рис. 5.3). Появятся последовательно два окна сообщения. Первое из них будет содержать сообщение о том, что щелчок мышью был произведен на компоненте, а второе - о том, что щелкнули на первичном документе. Так происходит потому, что и элемент поведения (в данном случае csstabeb) перехватывает событие onclick в своем теге , и элемент master осуществляет то же действие. При щелчке на элементе пове
      дения он обрабатывает это событие и передает его вверх по объектной модели элементу master.
      Большинство событий, происходящих в элементе поведения, "всплывают" через элемент master и доходят до основного документа. Если это не происходит автоматически, можно применить метод fireEvent для того, чтобы "поднять" событие вверх по иерархии объектов.
      CSS и элементы поведения
      Обратите внимание, что на рис. 5.3 в окне, соответствующем элементу поведения, присутствуют шрифты двух различных размеров. Так происходит потому, что больший размер шрифта унаследован от элемента master на Web-странице, а меньший - результат отмены в элементе поведения определенного в элементе master стиля. В элементе master размер шрифта равен 24 (максимальный размер). В элементе поведения определен другой размер - 12 (тем самым унаследованный из основного документа размер отменен). По умолчанию происходит наследование свойств таблиц стилей элемента master. Это насле
      дование можно отменить путем установления значения false атрибута viewInheritStyle элемента в элементе поведения.
      Резюме
      В этой главе рассмотрены некоторые усовершенствования архитектуры компонентов поведения HTML, реализованные в элементах поведения. Таким образом, элементы поведения - это компоненты поведения HTML, внутренняя разметка HTML которых скрыта от содержащего их контейнера. Элементы поведения связаны с документом и загружаются синхронно. Кроме того, мы обсудили новые и модифицированные элементы XML, специфические для HTC, которые используются для создания элементов поведения. Мы привели пару примеров использования элементов поведения и расположения одного элем
      ента поведения внутри другого.
     

Разработка защищенных Web-приложений на платформе Microsoft Windows 2000. / М. Ховард, М. Леви, Р. Вэймир - СПб: Питер, 2001. - 464 с.

Экономика и управление | Право/a> | Бухгалтерский учет и налоги |