» » » Алексей Валиков - Технология XSLT


Авторские права

Алексей Валиков - Технология XSLT

Здесь можно скачать бесплатно "Алексей Валиков - Технология XSLT" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство БХВ-Петербург, год 2002. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Алексей Валиков - Технология XSLT
Рейтинг:
Название:
Технология XSLT
Издательство:
БХВ-Петербург
Год:
2002
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Технология XSLT"

Описание и краткое содержание "Технология XSLT" читать бесплатно онлайн.



Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.

Для начинающих и профессиональных программистов






<xsl:stylesheet

 version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 xmlns:a="uri:a"

 xmlns:b="uri:b">


 <xsl:variable name="a:elementcount" select="count(//a:*)"/>

 <xsl:variable name="b:elementcount" select="count(//b:*)"/>

 ...

</xsl:stylesheet>

В этом преобразовании количество элементов документа, принадлежащих пространству имен а, будет содержаться в переменной a:elementcount, а пространству имен b — в переменной b:elementcount.

Отсутствие префикса в XPath-выражениях не означает, что следует использовать префикс по умолчанию. Отсутствие префикса означает, что префикс является нулевым со всеми вытекающими последствиями. Например, если шаблон

<xsl:template match="counts">

 <xsl:value-of select="$a:elementcount"/>

 <xsl:text>&#xA;</xsl:text>

 <xsl:value-of select="$b:elementcount"/>

</xsl:template>

будет корректен, в шаблоне

<xsl:template match="counts" xmlns="uri:a">

 <xsl:value-of select="$elementcount"/>

 <xsl:text>&#xA;</xsl:text>

 <xsl:value-of select="$b:elementcount"/>

</xsl:template>

процессор не сможет найти объявление переменной $elementcount, потому что расширенное имя объявленной переменной состоит из URI пространства имен "uri:а" и локальной части имени elementcount, а расширенное имя переменной elementcount состоит из нулевого URI и локальной части elementcount. Иными словами, эти переменные принадлежат разным пространствам.

Операции с булевыми значениями

XPath поддерживает только две логические операции — and (логическое "и") и or (логическое "или"). В XPath нет оператора логического отрицания, вместо него применяется функция not, которая возвращает "истину", если аргументом была "ложь" и наоборот.

Логические операторы в XPath бинарны, то есть требуют два операнда булевого типа. Если операнды имеют другой тип, то они будут приведены к булевым значениям.

Логические вычисления в XPath абсолютно стандартны. Мы приведем их для справки в табл. 6.2.


Таблица 6.2. Вычисление логических выражений

Значение Выражение A B A or В A and В false false false false false true true false true false true false true true true true

Как и во многих других языках, операция "и" (and) старше операции "или" (or). Например, такое выражение, как A and B or C and D or E эквивалентно выражению (A and В) or (С and D) or E.

Приведем синтаксические правила продукций логических операций XPath. Операции "или" соответствует продукция OrExpr, операции "и" — продукция AndExpr.

[XP21] OrExpr  ::= AndExpr | OrExpr 'or' AndExpr

[XP22] AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr

Операции с числами

Перечень арифметических операций в XPath довольно ограничен. К ним относится сложение, вычитание, умножение, деление и унарная операция отрицания, которая меняет значение операнда на противоположное. Кроме того, числа можно сравнивать при помощи операторов сравнения.

Арифметические операции

Арифметические операции XPath сведены в табл. 6.3.


Таблица 6.3. Арифметические операции в XPath-выражениях

Операция Синтаксис Сложение A + B Вычитание A - B Умножение A * B Деление A div B Остаток деления A mod B Унарное отрицание - A

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

'2' * '2' → 4

Арифметические действия в XPath работают, что называется, "как обычно", то есть совершенно стандартным образом. Арифметика XPath основывается на стандарте IEEE 754, который был использован и в других распространенных языках программирования, например в Java. Пожалуй, следует лишь обратить внимание на операторы деления, поскольку в разных языках они означают разные действия и потому легко запутаться.

Оператор div делит свой первый операнд на второй. Это не целочисленное деление, как в некоторых других языках, div осуществляет деление чисел с плавающей точкой. Оператор div аналогичен оператору деления "/" в таких языках, как Java, С++ и Pascal.

Примеры:

3.2 div 2.5 → 1.28

3.2 div -2.5 → -1.28

-3.2 div -2.5 → 1.28

Оператор mod возвращает остаток деления первого своего оператора на второй. Поскольку в разных языках остаток деления вычисляется по-разному, легче всего будет пояснить его функционирование в XPath на примере:

3.2 mod 2 → 1.2

3.2 mod -2 → 1.2

-3.2 mod 2 → -1.2

-3.2 mod -2 → -1.2

Оператор mod аналогичен оператору "%" в таких языках, как Java и ECMAScript.

Результат остатка от деления имеет тот же знак, что и делимое. Этот факт можно использовать для того, чтобы выполнять деление без остатка, например число A можно нацело разделить на число B выражением (A - (A mod B)) div B.

Пример:

(3.2 - (3.2 mod 2)) div 2 → 1

Во избежание ошибок следует аккуратно использовать знак вычитания в арифметических операциях. Дело в том, что синтаксис XML разрешает использовать символ "-" в именах элементов, которые в свою очередь также могут быть использованы в выражениях в составе путей выборки. Например, A - B означает разность A и B, в то время как A-B будет воспринято, как имя 'A-B'. Поэтому рекомендуется выделять знак минуса пробелами.

Приведем продукции выражений с арифметическими операциями.

Унарному отрицанию соответствует продукция UnaryExpr. Как можно видеть, в текущей версии языка это — единственная унарная операция (то есть операция одного элемента).

[XP27] UnaryExpr ::= UnionExpr | '-' UnaryExpr

Попробуем упростить это правило, раскрыв рекурсию

UnaryExpr ::= '-' * UnionExpr

Таким образом, унарное отрицание можно повторять несколько раз:

------5 → 5

Умножению, делению и вычислению остатка деления соответствует одна продукция MultiplicativeExpr:

[XP26] MultiplicativeExpr ::= UnaryExpr

                              | MultiplicativeExpr MultiplyOperator UnaryExpr

                              | MultiplicativeExpr 'div' UnaryExpr

                              | MultiplicativeExpr 'mod' UnaryExpr

Оператор умножения вынесен в отдельное правило:

[XP34] MultiplyOperator ::= '*'

Сложению и вычитанию соответствует правило AdditiveExpr:

[XP25] AdditiveExpr ::= MultiplicativeExpr

                        | AdditiveExpr '+' MultiplicativeExpr

                        | AdditiveExpr '-' MultiplicativeExpr

Операции сравнения

XPath позволяет сравнивать числа при помощи операторов, перечисленных в табл. 6.4.


Таблица 6.4. Операторы сравнения

Оператор Значение = Равно != Не равно < Меньше > Больше <= Меньше или равно (не больше) >= Больше или равно (не меньше)

XPath-выражения чаще всего используются в значениях атрибутов, символ "<" в которых в соответствии с синтаксисом XML использовать нельзя. Поэтому операторы сравнения "меньше" ("<") и "не больше" ("<=") нужно записывать с использованием сущностей. Оператор "меньше" может быть записан как "&lt;", а оператор "не больше" как "&lt;=".


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Технология XSLT"

Книги похожие на "Технология XSLT" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Алексей Валиков

Алексей Валиков - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Алексей Валиков - Технология XSLT"

Отзывы читателей о книге "Технология XSLT", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.