Отсутствие result tree fragment
Отсутствие result tree fragment
Главное и наиболее существенное отличие XSLT 1.1 от XSLT 1.0 состоит в том, что тип данных, известный в XSLT 1.0 как result tree fragment (результирующий фрагмент дерева) в XSLT 1.1. отсутствует. Вместо него в версии 1.1 используется множество узлов, состоящее из единственного корневого узла результирующего фрагмента.
На первый взгляд, разница между двумя этими методами представления фрагментов деревьев минимальна. Но если принять во внимание положения языка XPath о том, что ни один тип данных не может быть преобразован во множество узлов, разница эта оказывается огромной. Получается, что, несмотря на то, что результирующий фрагмент и множество, состоящее из его корня, представляют одни и те же данные и структуры, с фрагментом нельзя делать многое из того, что можно делать с множеством узлов.
Пример
В преобразованиях часто бывает необходимо использовать массивы статических данных, и логично было бы присваивать их переменным, чтобы использовать затем в выражениях. К несчастью, простое создание фрагмента дерева в переменной мало помогает. Конструкция
<xsl:variable name="colors">
<color>#0E0E0E</color>
<color>#FFFFFF</color>
</xsl:variable>
создает в переменной colors результирующий фрагмент дерева. В соответствии со спецификацией XPath 1.0 выражение $colors/color[1] будет некорректным, поскольку типом colors является результирующий фрагмент дерева, который не может быть напрямую преобразован во множество узлов. Иными словами, совершенно логичное и оправданное выражение не является корректным. Конечно, существуют способы обойти этот запрет — с помощью расширений и тому подобного, но нельзя не согласиться с тем, что результирующие фрагменты являются самой большой занозой в XSLT 1.0.
XSLT 1.1 исправляет этот просчет. Переменная colors, определенная выше, будет иметь своим значение не фрагмент дерева, а множество из одного, корневого, узла этого фрагмента и ее можно использовать везде, где только можно использовать тип данных node-set.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Отсутствие библиотеки libc
Отсутствие библиотеки libc В отличие от обычных пользовательских приложений, ядро не компонуется со стандартной библиотекой функций языка С (и ни с какой другой библиотекой такого же типа). Для этого есть несколько причин, включая некоторые ситуации с дилеммой о курице и
Отсутствие защиты памяти
Отсутствие защиты памяти Когда прикладная программа предпринимает незаконную попытку обращения к памяти, ядро может перехватить эту ошибку и аварийно завершить соответствующий процесс. Если ядро предпринимает попытку некорректного обращения к памяти, то результаты
Отсутствие защиты (уровень 10)
Отсутствие защиты (уровень 10) Уровень 10 означает самую низкую степень защищенности — отсутствие таковой. Для доступа к системе не требуется пароля и любому пользователю разрешен доступ ко всем системным ресурсам и объектам без ограничений. Единственное условие —
8.13. Отсутствие управления потоком в UDP
8.13. Отсутствие управления потоком в UDP Теперь мы проверим, как влияет на работу приложения отсутствие какого-либо управления потоком в UDP. Сначала мы изменим нашу функцию dg_cli так, чтобы она отправляла фиксированное число дейтаграмм. Она больше не будет читать из
6.16.8 Конец списка вариантов и отсутствие операций
6.16.8 Конец списка вариантов и отсутствие операций Вариант "без операций" (No Operation) применяется для заполнения промежутков между вариантами датаграмм. Например, он используется для выравнивания следующего варианта по 16- или 32-разрядной границе.Конец списка вариантов (End of
8.9.11 Отсутствие аутентификации
8.9.11 Отсутствие аутентификации Еще одним неприятным свойством версии 1 является отсутствие аутентификации для сообщений RIP. Если некто получил доступ к сети и сформировал сообщение с заведомо ложной информацией (фальсифицировав адрес источника), то это может сделать
Отсутствие единого стандарта
Отсутствие единого стандарта Еще один существенный недостаток заключается в том, что в мире VoIP до сих пор нет единых стандартов. Связисты Международного телекоммуникационного союза (International Telecommunication Union, или ITU) продвигают стандарт Н.323, компьютерщики же придумали
Отсутствие комплексного подхода
Отсутствие комплексного подхода Когда клиент прибегает к услугам нескольких подрядчиков или же взаимодействие между клиентом и подрядчиком налажено недостаточно хорошо, могут возникнуть серьезные проблемы. Незначительные на первый взгляд факторы могут поставить под
Bleach Bypass (Отсутствие отбеливания)
Bleach Bypass (Отсутствие отбеливания) Позволяет воссоздать эффект, применяемый в традиционной фотографии, в результате которого черно-белое изображение накладывается на цветное. Подобные фотографии обычно имеют высокую контрастность и пастельные тона.В настройках модуля
Отсутствие "побочных" эффектов
Отсутствие "побочных" эффектов Одним из краеугольных принципов XSLT, с которым, увы, нелегко смириться разработчику, работавшему только с процедурными языками, — это отсутствие "побочных" эффектов. Под побочными эффектами в данном случае понимаются изменения в окружении
Результирующий фрагмент дерева (result tree fragment)
Результирующий фрагмент дерева (result tree fragment) Четыре типа данных, описанных выше, заимствованы языком XSLT из XPath. Вместе с тем, XSLT имеет и свой собственный тип данных, называемый result tree fragment (результирующий фрагмент дерева).Для того чтобы понять этот тип данных, обратимся к
Проблема четвертая – отсутствие развития
Проблема четвертая – отсутствие развития При всем многообразии мнений и школ графологическая база знаний, сформированная к середине XX века, остается без изменений. Она статична, не развивается дальше. Не анализируются новые характеристики почерка, а также новые
Проверка на отсутствие АОН
Проверка на отсутствие АОН Прежде чем получать адрес и звонить на BBS, нужно убедиться (например, путем звонка с сотового телефона, с телефона-двойника типа Panasonic, с таксофона или с телефона, который гарантированно не определяется системой АОН), что на данном узле
Стресс — это отсутствие самоконтроля
Стресс — это отсутствие самоконтроля Некоторых удивит факт, что существует четкая взаимосвязь между стрессом и самоконтролем. Обычно мы говорим: «Ну что за стресс!», если эскалатор сломан, нам пришлось подняться на пятый этаж по лестнице, утирая пот со лба. На самом деле с