XSLT - [121]
>planets.xml
и >planets.xsl
в объекты >XMLDocument
и >XSLDocument
служит метод >load
. Я также проверяю наличие ошибок, просматривая код ошибок разбора следующим образом:>
>
>
>
> function xslt() {
> var XMLDocument = new ActiveXObject('MSXML2.DOMDocument.3.0');
> var XSLDocument = new ActiveXObject('MSXML2.DOMDocument.3.0');
> var HTMLtarget = document.all['targetDIV'];
> XMLDocument.validateOnParse = true;
> XMLDocument.load('planets.xml');
> if (XMLDocument.parseError.errorCode != 0) {
> HTMLtarget.innerHTML = "Error!";
> return false;
> }
> XSLDocument.validateOnParse = true;
> XSLDocument.load('planets.xsl');
> if (XSLDocument.parseError.errorCode != 0) {
> HTMLtarget.innerHTML = "Error!";
> return false;
> }
> .
> .
> .
Теперь, после того как оба файла, Эти результаты показаны на рис. 10.1. Рис. 10.1. Использование JavaScript для преобразования документа Обработка ошибок разбора При использовании JavaScript для загрузки документов XML и XSL и работы с ними важно знать, как сообщать об ошибках разбора. В предыдущем примере я сообщал об ошибках, выводя сообщение «Error!» в элементе-приемнике В следующем примере я намерено создаю ошибку разбора, изменив первый тег Я установил свойство С целый получения этой дополнительной информации я использую свойства Результат можно увидеть на рис. 10.2, где показаны вызвавший ошибку файл, место ошибки и описание ошибки процессором MSXML. Если вы собираетесь реализовывать преобразования XSLT в Internet Explorer, когда пользователи просматривают ваши документы случайным образом, обработка подобных ошибок разбора исключительно важна. Рис. 10.2. Обработка ошибки разбора Пока что я преобразовывал при помощи процессора MSXML только документ целиком, но здесь у вас существует значительно больше возможностей. Например, в следующем разделе я воспользуюсь XSLT в Internet Explorer для сортировки данных планет в HTML-таблицы по нажатию кнопок. Для этого я буду обращаться к отдельным узлам внутри таблицы стилей. Книга посвящена рассмотрению всей совокупности проблем, связанных с созданием, воспроизведением на компьютере и практическим использованием электронных и мультимедийных изданий. В частности, показано место этих изданий в современной медиа-индустрии. Рассмотрено использование различных HTML-редакторов и специализированных программных средств создания электронных и мультимедийных изданий (MS FrontPage, Macromedia Director, DreamWeaver и Flash, а также 3ds max). В книгу также вошли разделы, связанные с публикацией и хранением электронных изданий с помощью баз данных, а также семантическим анализом, индексацией и организацией поиска и долговременного хранения электронных документов. Превратится ли всемирная паутина в «традиционное СМИ», содержание которого строго контролируется в интересах максимизации прибыли? В чьих руках сейчас находится Рубильник интернет-истории и, по сути, — развития общества? Исследуя развитие телефонии, радио, кино и телевидения, автор показывает, как эти индустрии прошли путь от хобби — к крупному бизнесу, от открытости и гибкости — к закрытой и жесткой системе. Какое будущее ожидает всемирную Сеть?Пролить свет на прошлое, чтобы предвидеть будущее — главная задача этой книги.Эта книга для тех, кто считает интернет не просто средством общения, но и инструментом познания мира, способом самовыражения. Чем полезен Интернет пожилому человеку? Прежде всего, неограниченными возможностями общения. Вы можете вести виртуальный дневник или общаться с друзьями в социальных сетях, делиться советами на форумах или переписываться с родственниками, живущими за рубежом, находить старых друзей и заводить новых.Книга поможет вам ориентироваться в мире социальных сетей и интерактивных сервисов, научит вас работать с ними и использовать все те возможности, которые они предоставляют. Материал книги изложен в доступной форме, что облегчает его восприятие, а различные способы выполнения тех или иных действий дадут вам возможность выбрать наиболее удобный способ именно для вас. Автор предлагает бесплатную, проверенную на практике, супернадежную и эффективную комплексную защиту от вирусов, шпионских программ, вторжения любопытных хакеров — любых попыток несанкционированного вторжения в ваш компьютер.Пользуясь советами автора, вы сможете не только выстроить надежную систему безопасности, но и контролировать те сайты, которые посещают ваши дети, а также без проблем восстановить операционную систему после любого сбоя и даже полного обрушения. Книга станет настольным пособием и у продвинутых пользователей, и у чайников благодаря простому и краткому изложению материала с подробными иллюстрациями каждого шага. Рассказывается о ведущем поисковом ресурсе российской части Интернета — Яндексе. Описаны его сервисы для поиска документов и новостей, блогов и адресов, товаров и музыкальных произведений. Рассмотрены почтовый сервис и сервис для создания и размещения сайтов на Народ. ру. Читатель узнает о том, что такое "электронные деньги" и как с их помощью оплатить товар. Большое внимание уделяется общедоступным поисковым программам, которые Яндекс предлагает своим посетителям для поиска информации не только на сайтах, но и на своем компьютере.
В книге рассказывается история главного героя, который сталкивается с различными
проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает
множество второстепенных персонажей, которые играют важные роли в истории. Благодаря
опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и
стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает
ценные уроки жизни и растет как личность.
Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL — рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные. Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение».
Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший.
Книга состоит из трех частей. Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации.
Если вы решились разобраться в том что такое программирование, не нужно ждать. Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.>planets.xml
и >planets.xsl
, были загружены, преобразование можно осуществить методом >transformNode
. Посмотрите, как я преобразую >XMLDocument
при помощи >XSLDocument
и показываю результат в элементе-приемнике >
>
>
>
>
> function xslt() {
> var XMLDocument = new ActiveXObject('MSXML2.DOMDocument.3.0');
> var XSLDocument = new ActiveXObject('MSXML2.DOMDocument.3.0');
> var HTMLtarget = document.all['targetDIV'];
> .
> .
> .
> HTMLtarget.innerHTML = XMLDocument.transformNode(XSLDocument);
> return true;
> }
>
>
>
>
>
>
>
>
>
в >planets.xml
на тег >
:>
>
>
>
>
>
>
>
>
>
>
> .
> .
> .
>validateOnParse
объекта >XMLDocument
в >true
(значение по умолчанию — >false
, что означает отсутствие проверки), поэтому процессор MSXML отловит эту ошибку разбора. Объект >XMLDocument
содержит объект >parseError
, и если его свойство >errorCode
не равно нулю, это означает наличие ошибки. Сейчас я хочу не просто вывести сообщение «Error!», а расшифровать ошибку при помощи новой функции >getError
, которая возвращает строку с информацией о месте и причине ошибки.>
>
>
>
> function xslt() {
> var XMLDocument = new ActiveXObject('MSXML2.DOMDocument.3.0');
> var XSLDocument = new ActiveXObject('MSXML2.DOMDocument.3.0');
> var HTMLtarget = document.all['targetDIV'];
> XMLDocument.validateOnParse = true;
> XMLDocument.load('planets.xml');
> if (XMLDocument.parseError.errorCode != 0) {
> HTMLtarget.innerHTML = getError(XMLDocument);
> return false;
> }
> XSLDocument.validateOnParse = true;
> XSLDocument.load('planets.xsl');
> if (XSLDocument.parseError.errorCode != 0) {
> HTMLtarget.innerHTML = getError(XSLDocument);
> return false;
> }
> HTMLtarget.innerHTML = XMLDocument.transformNode(XSLDocument);
> return true;
> }
> function getError(errorObject) {
> var Error = new String;
> Error = "Error. " + errorObject.parseError.url + "
" +> "Line: " + errorObject.parseError.line + "
" +> "Character: " + errorObject.parseError.linepos + "
" +> "Description: " + errorObject.parseError.reason;
> return Error;
> }
>
>
>
>
>
>
>