XSLT - [55]
>
>
>
>
>
>
>
XPath также поддерживает следующие функции работы с числами:
• >ceiling()
. Возвращает наименьшее целое, большее, чем переданное функции число;
• >floor()
. Возвращает наибольшее целое, меньшее, чем переданное функции число;
• >round()
. Округляет переданное число до ближайшего целого;
• >sum()
. Возвращает сумму переданных функции чисел.
Например, среднюю массу планет в >planets.xml
можно найти так, как в листинге 4.8:
>
>
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
>
>
>
> The average planetary mass is:
>
>
>
>
>
Строки
В XPath строки формируются из символов Unicode, как можно было предположить. Ряд функций специально предназначен для работы со строками:
• >string(object object1)
. Преобразует объект в строку;
• >starts-with(string string1, string string2)
. Возвращает истину, если первая строка начинается (starts with) со второй строки;
• >contains(string string1, string string2)
. Возвращает истину, если первая строка содержит (contains) вторую строку;
• >substring(string string1, number offset number length)
. Возвращает >length
символов из строки, начиная со смещения >offset
;
• >substring-before(string string1, string string2)
. Возвращает часть строки >string1
до первого вхождения строки >string2
;
• >substring-after(string string1, string string2)
. Возвращает часть строки >string1
после первого вхождения >string2
;
• >string-length(string string1)
. Возвращает количество символов в строке >string1
;
• >normalize-space(string string1)
. Возвращает строку >string1
после отбрасывания лидирующих и завершающих символов-разделителей и замены нескольких последовательных разделителей на один пробел;
• >translate(string string1, string string2, string string3)
. Возвращает строку >string1
, в которой все вхождения символов в строке >string2
заменены на соответствующие символы в строке >string3
;
• >concat(string string1, string string2, ...)
. Возвращает конкатенацию (объединение) всех строк.
Есть еще одна строковая функция, о которой вам следует знать, входящая не в XPath, а в XSLT:
• >format-number(number number1, string string2, string string3)
. Возвращает строку, содержащую число >number1
в виде форматированной строки, используя >string2
в качестве форматирующей строки (форматирующие строки создаются так же, как для метода Java java.text.DecimalFormat) и >string3
как возможную строку локализации.
В листинге 4.9 я выбираю текстовые узлы, в которых текст начинается с 'Е', чтобы выбрать Earth (Земля), и добавляю текст '(the World)' (мир), получая 'Earth (the World)'. Для этого я применяю предикат ">text()[starts-with(., 'Е')]
".
>
>
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
>
>
> .
> .
> .
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> .
> .
> .
>
>
>
>
>
>
А вот результат — заметьте, что заголовок для Земли стал "Earth (the World)":
>
>
>
> The Planets Table
>
>
>
>
> The Planets Table
>
>
>
>
Name >
Mass >
Radius >
Day >
>
>
Earth (the World) >
1 (Earth = 1) >
2107 miles >
1 days >
>
>
>
Этот документ показан на рис. 4.2.
Рис. 4.2. Применение текстовых предикатов
Предикаты: фрагменты результирующего дерева
XSLT 1.0 добавляет к поддерживаемым XPath типам данных фрагменты результирующего дерева. Это фрагменты дерева, которые можно присваивать переменным XSLT, они не очень широко распространены. Практически все, что можно с ними сделать, — это вычислить их строковое значение. В рабочем проекте XSLT 1.1 их поддержка была удалена, поэтому, видимо, в XSLT 2.0 их уже не будет.
Сокращенный синтаксис предикатов
Выражения предикатов можно сокращать, опуская ">position()=
". Например, >[position()=3]
становится >[3]
, >[position()=last()]
становится >[last()]
и т.д. С использованием сокращенного синтаксиса применять выражения XPath в предикатах становится существенно проще. Вот ряд примеров:
Книга посвящена рассмотрению всей совокупности проблем, связанных с созданием, воспроизведением на компьютере и практическим использованием электронных и мультимедийных изданий. В частности, показано место этих изданий в современной медиа-индустрии. Рассмотрено использование различных HTML-редакторов и специализированных программных средств создания электронных и мультимедийных изданий (MS FrontPage, Macromedia Director, DreamWeaver и Flash, а также 3ds max). В книгу также вошли разделы, связанные с публикацией и хранением электронных изданий с помощью баз данных, а также семантическим анализом, индексацией и организацией поиска и долговременного хранения электронных документов.
Превратится ли всемирная паутина в «традиционное СМИ», содержание которого строго контролируется в интересах максимизации прибыли? В чьих руках сейчас находится Рубильник интернет-истории и, по сути, — развития общества? Исследуя развитие телефонии, радио, кино и телевидения, автор показывает, как эти индустрии прошли путь от хобби — к крупному бизнесу, от открытости и гибкости — к закрытой и жесткой системе. Какое будущее ожидает всемирную Сеть?Пролить свет на прошлое, чтобы предвидеть будущее — главная задача этой книги.Эта книга для тех, кто считает интернет не просто средством общения, но и инструментом познания мира, способом самовыражения.
Чем полезен Интернет пожилому человеку? Прежде всего, неограниченными возможностями общения. Вы можете вести виртуальный дневник или общаться с друзьями в социальных сетях, делиться советами на форумах или переписываться с родственниками, живущими за рубежом, находить старых друзей и заводить новых.Книга поможет вам ориентироваться в мире социальных сетей и интерактивных сервисов, научит вас работать с ними и использовать все те возможности, которые они предоставляют. Материал книги изложен в доступной форме, что облегчает его восприятие, а различные способы выполнения тех или иных действий дадут вам возможность выбрать наиболее удобный способ именно для вас.
Автор предлагает бесплатную, проверенную на практике, супернадежную и эффективную комплексную защиту от вирусов, шпионских программ, вторжения любопытных хакеров — любых попыток несанкционированного вторжения в ваш компьютер.Пользуясь советами автора, вы сможете не только выстроить надежную систему безопасности, но и контролировать те сайты, которые посещают ваши дети, а также без проблем восстановить операционную систему после любого сбоя и даже полного обрушения. Книга станет настольным пособием и у продвинутых пользователей, и у чайников благодаря простому и краткому изложению материала с подробными иллюстрациями каждого шага.
Рассказывается о ведущем поисковом ресурсе российской части Интернета — Яндексе. Описаны его сервисы для поиска документов и новостей, блогов и адресов, товаров и музыкальных произведений. Рассмотрены почтовый сервис и сервис для создания и размещения сайтов на Народ. ру. Читатель узнает о том, что такое "электронные деньги" и как с их помощью оплатить товар. Большое внимание уделяется общедоступным поисковым программам, которые Яндекс предлагает своим посетителям для поиска информации не только на сайтах, но и на своем компьютере.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL — рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.
Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей.
Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.
Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.