home | login | register | DMCA | contacts | help | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


my bookshelf | genres | recommend | rating of books | rating of authors | reviews | new | форум | collections | читалки | авторам | add

Технология XSLT

Технология XSLT
Title: Технология XSLT
Author:
Оценка: 4.2 of 5, readers votes - 23
Genre: computers
Annotation:Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.
Для начинающих и профессиональных программистов
Year:
Table of Contents:

hide Table of Contents

  1. Технология XSLT
  2. Предисловие
  3. О чем эта книга?
  4. Для кого эта книга?
  5. Как работать с книгой?
  6. Структура книги
  7. Глава 1. Введение в XML
  8. Глава 2. Введение в XSLT
  9. Глава 3. Идея и модель языка XSLT
  10. Глава 4. Структура преобразования
  11. Глава 5. Шаблонные правила
  12. Глава 6. XPath-выражения
  13. Глава 7. Основные элементы XSLT
  14. Глава 8. Дополнительные элементы и функции языка XSLT
  15. Глава 9. Использование XSLT совместно с другими языками программирования
  16. Глава 10. Расширения языка XSLT
  17. Глава 11. Готовые решения
  18. Глава 12. Развитие технологий
  19. Приложение 1. Обзор XSLT-процессоров
  20. Приложение 2. Краткий справочник элементов и атрибутов XSLT
  21. Приложение 3. Краткий справочник функций XSLT и XPath
  22. Приложение 4. Интернет-ресурсы, посвященные XSLT
  23. Соглашения
  24. Расширенная форма Бэкуса-Наура
  25. Пример
  26. Обозначения
  27. Листинг 2.1. Входящий документ
  28. Благодарности
  29. Глава 1 Введение в XML
  30. Что такое XML?
  31. Разметка документов
  32. Листинг 1.1. HTML-разметка рекламного объявления
  33. Листинг 1.2 XML-разметка рекламного объявления
  34. XML снаружи и изнутри
  35. Конструкции XML
  36. Элемент
  37. Примеры
  38. Пример
  39. Замечание
  40. Атрибут
  41. Инструкция по обработке
  42. Замечание
  43. Пример
  44. Пример
  45. Секции СDATA
  46. Пример
  47. Комментарии (comments)
  48. Пространства имён
  49. Пример
  50. Пример
  51. Пример
  52. Пример
  53. Пример
  54. Пример
  55. Пример
  56. Расширенные имена
  57. Пример
  58. Структура XML-документа
  59. Декларация типа документа (DTD)
  60. Определение элемента
  61. Листинг 1.3. Документ с декларацией типа
  62. Пример
  63. Пример
  64. Пример
  65. Пример
  66. Листинг 1.4
  67. Определение списка атрибутов
  68. Примеры
  69. Определение сущности
  70. Пример
  71. Пример
  72. Пример
  73. Пример
  74. Пример
  75. Определение нотации
  76. Пример
  77. Листинг 1.5. Использование неразбираемых сущностей в атрибутах элементов
  78. Пример
  79. Листинг 1.6. Использование нотаций для определения формата содержимого элемента
  80. Символьные данные в XML-документах
  81. Использование Unicode
  82. UTF-8
  83. UTF-16
  84. Примеры
  85. UTF-32
  86. Коды некоторых символов Unicode
  87. Базовые продукции XML
  88. XML- документы с точки зрения спецификации
  89. Использование технологии XML
  90. SAX- парсеры
  91. DOM- парсеры
  92. Основные классы задач XML
  93. Создание новых языков
  94. Хранение данных
  95. Обмен данными и проекты интеграции
  96. Краткая история XML
  97. Глава 2 Введение в XSLT
  98. Документ = Данные + Структура
  99. Документ = Данные + Структура
  100. XSLT как язык
  101. Листинг 2.1. Преобразование "Hello, world!"
  102. Листинг 2.2. Преобразование "Hello, world!"\ с результатом в HTML
  103. Листинг 2.3. Результат выполнения преобразования
  104. Отсутствие "побочных" эффектов
  105. Расширения
  106. Преобразования снаружи
  107. Области применения XSLT
  108. Замечание
  109. XSLT в архитектуре клиент-сервер
  110. XSLT на стороне сервера
  111. XSLT на стороне клиента
  112. XSLT в Web-решениях
  113. XSLT при обмене данными
  114. История XSLT
  115. Глава 3 Идея и модель языка XSLT
  116. Модель XML-документа
  117. Деревья
  118. Узлы дерева XML-документа
  119. Корневой узел
  120. Узлы элементов
  121. Узлы атрибутов
  122. Пример
  123. Текстовые узлы
  124. Пример
  125. Узлы пространств имен
  126. Пример
  127. Узлы инструкций по обработке
  128. Пример
  129. Узел комментария
  130. Пример
  131. Сводная таблица характеристик узлов
  132. Ограничения модели XML-документа
  133. Порядок просмотра документа
  134. Пример
  135. Типы данных
  136. Булевый тип (boolean)
  137. Численный тип (number)
  138. Примеры
  139. Примеры
  140. Примеры
  141. Строковый тип (string)
  142. Пример
  143. Пример
  144. Примеры
  145. Примеры
  146. Множество узлов (node-set)
  147. Пример
  148. Листинг 3.1. Документ
  149. Пример
  150. Листинг 3.2. Входящий документ A
  151. Листинг 3.3. Преобразование
  152. Листинг 3.4. Входящий документ B
  153. Листинг 3.5. Входящий документ C
  154. Пример
  155. Листинг 3.6. Входящий документ
  156. Листинг 3.7. Преобразование
  157. Пример
  158. Листинг 3.8. Входящий документ
  159. Листинг 3.9. Преобразование
  160. Результирующий фрагмент дерева (result tree fragment)
  161. Пример
  162. Листинг 3.10. Входящий документ
  163. Листинг 3.11. Преобразование
  164. Листинг 3.12. Выходящий документ
  165. Пример
  166. Пример
  167. Листинг 3.13. Входящий документ:
  168. Листинг 3.14. Преобразование:
  169. Листинг 3.15. Результат
  170. Таблица преобразования типов
  171. Переменные
  172. Выражения
  173. Замечание
  174. Пример
  175. Листинг 3.16
  176. Пример
  177. Листинг 3.17. Входящий документ
  178. Листинг 3.18. Преобразование
  179. Листинг 3.19
  180. Листинг 3.20. Преобразование
  181. Листинг 3.21. Выходящий документ
  182. Виды выражений
  183. Пути выборки
  184. Пример
  185. Фильтрующие выражения
  186. Примеры
  187. Пример
  188. Листинг 3.22. Входящий документ
  189. Листинг 3.23. Преобразование
  190. Листинг 3.24. Входящий документ
  191. Объединение множеств
  192. Арифметические операции
  193. Операции сравнения
  194. Листинг 3.25. Входящий документ
  195. Логические операции
  196. Функции
  197. Контекст вычисления выражений
  198. Пример
  199. Листинг 3.26. Преобразование
  200. Листинг 3.27. Входящий документ
  201. Листинг 3.28. Выходящий документ
  202. Модель преобразования
  203. Контекст преобразования
  204. Листинг 3.29. Входящий документ
  205. Листинг 3.30. Преобразование
  206. Выполнение преобразования
  207. Листинг 3.31. Выходящий документ проведённого преобразования
  208. Глава 4 Структура преобразования
  209. Пространство имен XSLT
  210. Пример
  211. Пример
  212. Корневые элементы преобразования
  213. Элементы xsl:stylesheet и xsl:transform
  214. Пример
  215. Пример
  216. Листинг 4.1. Преобразование с элементом верхнего уровня, не принадлежащим XSLT
  217. Упрощенные преобразования
  218. Листинг 4.2. Простое преобразование
  219. Пример
  220. Листинг 4.3. Упрощённая запись преобразования
  221. Листинг 4.4. Упрощённая запись преобразования XML-документа в HTML
  222. Листинг 4.5. Полная запись преобразования XML-документа в HTML
  223. Модульная организация преобразования
  224. Включение преобразований
  225. Элемент xsl:include
  226. Пример
  227. Листинг 4.6. Преобразование a.xsl
  228. Листинг 4.7. Преобразование b.xsl
  229. Пример
  230. Пример
  231. Листинг 4.8. Основное преобразование
  232. Листинг 4.9. Преобразование b.xsl
  233. Листинг 4.10. Основное преобразование после включения b.xsl
  234. Пример
  235. Листинг 4.11. Преобразование simple.xsl
  236. Листинг 4.12. Основное преобразование
  237. Листинг 4.13. Основное преобразование после включения simple.xsl
  238. Импорт преобразований
  239. Элемент xsl:import
  240. Совет
  241. Порядок импорта
  242. Листинг 4.14. Фрагмент преобразования alpha.xsl
  243. Пример
  244. Использование сущностей для разбивки на модули
  245. Пример
  246. Листинг 4.15. Входящий документ:
  247. Листинг 4.16. Основное преобразование
  248. Листинг 4.17. Файл ab.xsl
  249. Листинг 4.18. Результат преобразования
  250. Листинг 4.19. Основное преобразование после раскрытия сущности
  251. Совместное использование преобразований и XML-документов
  252. Ассоциация преобразования с XML-документом
  253. Примечание
  254. Примеры
  255. Объединение документа и преобразования
  256. Включение преобразования в документ
  257. Пример
  258. Листинг 4.20. Входящий документ
  259. Листинг 4.21. Выходящий документ
  260. Включение документа в преобразование
  261. Пример
  262. Листинг 4.22. Входящий документ
  263. Листинг 4.23. Преобразование
  264. Листинг 4.24. Выходящий документ
  265. Пример
  266. Листинг 4.25. Пользовательские данные в элементе верхнего уровня
  267. Литеральные элементы результата
  268. Пример
  269. Пример
  270. Листинг 4.26
  271. Атрибуты языка XSLT в литеральных элементах
  272. Шаблоны значений атрибутов
  273. Пример
  274. Пример
  275. Пример
  276. Пример
  277. Глава 5 Шаблонные правила
  278. Преобразование как набор правил
  279. Определение шаблонного правила
  280. Элемент xsl:template
  281. Пример
  282. Пример
  283. Вызов шаблонных правил
  284. Листинг 5.1. Входящий документ
  285. Листинг 5.2. Преобразование с para и bold — версия 1
  286. Элемент xsl:apply-templates
  287. Листинг 5.3. Преобразование с para и bold — версия 2
  288. Пример
  289. Пример
  290. Режимы
  291. Пример
  292. Листинг 5.4. Преобразование, добавляющее перечень ссылок
  293. Именованные шаблоны
  294. Пример
  295. Листинг 5.5. Именованный шаблон для генерации элемента head
  296. Элемент xsl:call-template
  297. Листинг 5.6. Входящий документ
  298. Листинг 5.7. Преобразование
  299. Листинг 5.8. Выходящий документ
  300. Примечание
  301. Пример
  302. Листинг 5.9. Шаблон для page — версия 1
  303. Листинг 5.10. Шаблон для page — версия 2
  304. Встроенные шаблоны
  305. Идентичное преобразование
  306. Листинг 5.11. Идентичное преобразование
  307. Листинг 5.12
  308. Разрешение конфликтов в шаблонах
  309. Листинг 5.14. Конфликтующие шаблоны
  310. Пример
  311. Листинг 5.15. Преобразование
  312. Пример
  313. Листинг 5.16. Основное преобразование
  314. Листинг 5.17. Преобразование b.xsl
  315. Элемент xsl:apply-imports
  316. Пример
  317. Листинг 5.18. Преобразование home.xml
  318. Листинг 5.19. Основное преобразование base.xsl
  319. Листинг 5.20. Класс home
  320. Листинг 5.21. Класс base
  321. Тело шаблона
  322. Пример
  323. Переменные и параметры
  324. Переменные в XSLT не могут быть изменены.
  325. Элемент xsl:variable
  326. Область видимости переменных
  327. Листинг 5.22. Преобразование, использующее переменные i, j, k и gt
  328. Листинг 5.23. Области видимости переменных i, j, k и gt
  329. Пример
  330. Листинг 5.24. Преобразование en.xsl
  331. Листинг 5.25. Преобразование de.xsl
  332. Использование переменных
  333. Примеры
  334. Параметры
  335. Элемент xsl:param
  336. Примеры
  337. Предупреждение
  338. Область видимости параметров
  339. Элемент xsl:with-param
  340. Листинг 5.26. Вывод названия дня недели по номеру
  341. Пример
  342. Глава 6 XPath- выражения
  343. Выражения для XML-документов
  344. Примечание
  345. Контекст вычисления выражений
  346. Пути выборки
  347. Листинг 6.1 XML-документ
  348. Пример
  349. Пример
  350. Примеры:
  351. Шаги выборки
  352. Пример
  353. Оси навигации
  354. Тесты узлов
  355. Предикаты
  356. Сокращенный синтаксис
  357. Примеры путей выборки
  358. Паттерны
  359. Семантика паттернов
  360. Пример
  361. Листинг 6.2
  362. Примеры паттернов
  363. Выражения
  364. Переменные
  365. Пример
  366. Операции с булевыми значениями
  367. Операции с числами
  368. Арифметические операции
  369. Операции сравнения
  370. Пример
  371. Операции с множествами узлов
  372. Фильтрация
  373. Пример
  374. Использование в выражениях путей выборки
  375. Объединение множеств
  376. Пример
  377. Старшинство операций
  378. Функции
  379. Булевые функции Функция boolean
  380. Функция not
  381. Функции true и false
  382. Функция lang
  383. Числовые функции
  384. Функция number
  385. Примеры
  386. Функция sum
  387. Пример
  388. Листинг 6.3. Входящий документ
  389. Листинг 6.4. Преобразование
  390. Листинг 6.5. Результат
  391. Функции floor и ceiling
  392. Примеры
  393. Функция round
  394. Примеры
  395. Строковые функции
  396. Функция string
  397. Примеры
  398. Функция concat
  399. Функция starts-with
  400. Функция contains
  401. Функция substring-before
  402. Примеры
  403. Функция substring-after
  404. Примеры
  405. Функция substring
  406. Примеры
  407. Функция string-length
  408. Примеры
  409. Функция normalize-space
  410. Примеры
  411. Функция translate
  412. Пример
  413. Пример
  414. Пример
  415. Пример
  416. Пример
  417. Листинг 6.6. Преобразование ru.xsl
  418. Функции множеств узлов
  419. Функции last и position
  420. Пример
  421. Листинг 6.7. Входящий документ
  422. Листинг 6.8. Преобразование
  423. Листинг 6.9. Выходящий документ
  424. Функция count
  425. Пример
  426. Функции local-name , namespace-uri и name
  427. Пример
  428. Пример
  429. Листинг 6.10. Входящий документ
  430. Листинг 6.11. Преобразование
  431. Листинг 6.12. Выходящий документ
  432. Функция id
  433. Пример
  434. Листинг 6.13. Документ gemini.xsl
  435. Листинг 6.14. Файл gemini.dtd
  436. Листинг 6.15. Преобразование gemini.xsl
  437. Листинг 6.16. Выходящий документ
  438. Базовые продукции XPath
  439. Разбор XPath-выражений
  440. Глава 7 Основные элементы XSLT
  441. Основные и дополнительные элементы
  442. Создание узлов элементов
  443. Элемент xsl:element
  444. Пример
  445. Листинг 7.1. Входящий документ
  446. Листинг 7.2. Шаблон, заменяющий имя элемента значением атрибута
  447. Листинг 7.3. Выходящий документ
  448. Листинг 7.4.
  449. Создание узлов атрибутов
  450. Элемент xsl:attribute
  451. Листинг 7.5. Создание атрибутов при помощи xsl:attribute
  452. Листинг 7.6. Фрагмент шаблона
  453. Листинг 7.7. Результат
  454. Именованные наборы атрибутов
  455. Элемент xsl:attribute-set
  456. Пример
  457. Листинг 7.8. Входящий документ
  458. Листинг 7.9. Преобразование
  459. Листинг 7.10. Выходящий документ
  460. Атрибут xsl:use-attribute-sets
  461. Создание текстовых узлов
  462. Листинг 7.11. Входящий документ
  463. Листинг 7.12. Шаблон преобразования
  464. Листинг 7.13. Созданный текст
  465. Элемент xsl:text
  466. Элемент xsl:value-of
  467. Пример
  468. Листинг 7.14. Входящий документ
  469. Листинг 7.15. Преобразование, создающее таблицу умножения
  470. Листинг 7.16. Выходящий документ
  471. Пример
  472. Создание узлов комментариев и инструкций по обработке
  473. Элемент xsl:comment
  474. Пример
  475. Элемент xsl:processing-instruction
  476. Пример
  477. Копирование узлов
  478. Элемент xsl:copy
  479. Пример
  480. Листинг 7.17. Входящий документ
  481. Листинг 7.18. Шаблон преобразования
  482. Листинг 7.19. Выходящий элемент
  483. Пример
  484. Элемент xsl:copy-of
  485. Листинг 7.20. Входящий документ
  486. Листинг 7.21. Преобразование
  487. Листинг 7.22. Выходящий документ
  488. Условная обработка
  489. Элемент xsl:if
  490. Пример
  491. Листинг 7.23. Шаблон преобразования, использующий элемент xsl:if
  492. Примечание
  493. Элементы xsl:choose, xsl:when, xsl:otherwise
  494. Циклическая обработка
  495. Элемент xsl:for-each
  496. Пример
  497. Листинг 7.24. Входящий документ
  498. Листинг 7.25. Шаблон преобразования
  499. Листинг 7.26. Результат преобразования
  500. Глава 8 Дополнительные элементы и функции языка XSLT
  501. Дополнительные элементы и функции
  502. Обработка пробельных символов
  503. Пример
  504. Листинг 8.1. Шаблон преобразования с пробельными символами
  505. Пример
  506. Элементы xsl:preserve-space и xsl:strip-space
  507. Пример
  508. Пример
  509. Листинг 8.2. Входящий документ
  510. Листинг 8.3. Преобразование
  511. Листинг 8.4. Выходящий документ
  512. Сообщения процессора
  513. Элемент xsl:message
  514. Пример
  515. Листинг 8.5. Входящий документ
  516. Листинг 8.6. Преобразование
  517. Листинг 8.7. Выходящий документ
  518. Листинг 8.8. Сообщения процессора
  519. Пример
  520. Листинг 8.9. Шаблон преобразования
  521. Сортировка
  522. Элемент xsl:sort
  523. Листинг 8.10. Входящий документ
  524. Листинг 8.12. Выходящий документ
  525. Псевдонимы пространств имен
  526. Листинг 8.13. XML-документ, описывающий требуемое преобразование
  527. Листинг 8.14. Преобразование
  528. Элемент xsl:namespace-alias
  529. Пример
  530. Листинг 8.15. Преобразование, использующее псевдонимы пространств имен
  531. Листинг 8.16. Выходящее преобразование
  532. Пример
  533. Листинг 8.17. Преобразование
  534. Листинг 8.18. Выходящий документ
  535. Пример
  536. Ключи
  537. Листинг 8.19. Входящий документ
  538. Листинг 8.20. Требуемый результат
  539. Листинг 8.21. Преобразование
  540. Элемент xsl:key
  541. Пример
  542. Пример
  543. Функция key
  544. Пример
  545. Определение множества ключей
  546. Пример
  547. Использование нескольких ключей в одном преобразовании
  548. Использование нескольких определений одного ключа
  549. Пример
  550. Использование множеств узлов в функции key
  551. Пример
  552. Использование ключей в нескольких документах
  553. Пример
  554. Листинг 8.22. Входящий документ
  555. Листинг 8.23. Документ a.xml
  556. Листинг 8.24. Документ b.xml
  557. Листинг 8.25. Преобразование
  558. Листинг 8.26. Выходящий документ
  559. Составные ключи
  560. Пример
  561. Листинг 8.27. Входящий документ
  562. Листинг 8.28. Входящий документ
  563. Листинг 8.29. Выходящий документ
  564. Функция key в паттернах
  565. Пример
  566. Листинг 8.30. Шаблон, использующий функцию key в паттерне
  567. Нумерация
  568. Пример
  569. Элемент xsl:number
  570. Вычисление номеров
  571. Пример
  572. Листинг 8.31. Входящий документ для примеров преобразований с использованием xsl:number
  573. Листинг 8.32. Вариант нумерующего шаблона с использованием xsl:value-of
  574. Листинг 8.33. Вариант нумерующего шаблона с использованием xsl:number
  575. Метод single
  576. Пример
  577. Метод multiple
  578. Пример
  579. Метод any
  580. Пример
  581. Листинг 8.34. Шаблон, использующий разные методы нумерации
  582. Листинг 8.35. Выходящий документ
  583. Форматирование номеров
  584. Пример
  585. Пример
  586. Пример
  587. Пример
  588. Форматирование чисел
  589. Функция format-number
  590. Примеры
  591. Пример
  592. Пример
  593. Примеры
  594. Замечание
  595. Пример
  596. Примеры
  597. Элемент xsl:decimal-format
  598. Примеры
  599. Контроль вывода документа
  600. Элемент xsl:output
  601. Пример
  602. Метод вывода "xml"
  603. Атрибут version
  604. Пример
  605. Атрибут encoding
  606. Пример
  607. Листинг 8.36. Преобразование
  608. Листинг 8.37. Выходящий документ
  609. Атрибут indent
  610. Пример
  611. Листинг 8.38. Входящий документ
  612. Листинг 8.39. Преобразование
  613. Листинг 8.40. Выходящий документ
  614. Атрибут cdata-section-elements
  615. Пример
  616. Листинг 8.41. Входящий документ
  617. Листинг 8.42. Преобразование
  618. Листинг 8.43. Выходящий документ
  619. Пример
  620. Листинг 8.44. Входящий документ
  621. Листинг 8.45. Преобразование
  622. Листинг 8.46. Выходящий документ
  623. Атрибут doctype-system
  624. Пример
  625. Листинг 8.47. Входящий документ
  626. Листинг 8.48. Преобразование
  627. Листинг 8.49. Выходящий документ
  628. Атрибут doctype-public
  629. Листинг 8.50. Входящий документ
  630. Листинг 8.51. Преобразование
  631. Листинг 8.52. Выходящий документ
  632. Атрибут media-type
  633. Атрибут omit-xml-declaration
  634. Атрибут standalone
  635. Метод вывода "html"
  636. Пример
  637. Листинг 8.53. Входящий документ
  638. Листинг 8.54. Преобразование
  639. Листинг 8.55. Выходящий документ
  640. Пример
  641. Пример
  642. Атрибут version
  643. Атрибут encoding
  644. Пример
  645. Атрибут indent
  646. Атрибуты doctype-system и doctype-public
  647. Атрибут media-type
  648. Метод вывода "text"
  649. Пример
  650. Атрибут encoding
  651. Атрибут media-type
  652. Другие методы вывода
  653. Замена специальных символов
  654. Пример
  655. Листинг 8.56. Преобразование, содержащее disable-output-escaping
  656. Кодировки в XSLT-преобразованиях
  657. Пример
  658. Листинг 8.57. Входящий документ
  659. Листинг 8.58. Преобразование
  660. Листинг 8.59. Выходящий документ
  661. Листинг 8.60. Преобразование, изменяющее кодировку документа на KOI8-R
  662. Случай нескольких входящих документов
  663. Функция document
  664. Вызов document(string)
  665. Пример
  666. Листинг 8.61. Преобразование
  667. Листинг 8.62. Выходной документ
  668. Вызов document(node-set)
  669. Вызов document(string, node-set)
  670. Листинг 8.63. Преобразование
  671. Листинг 8.64. Документ doc.xml
  672. Листинг 8.65. Документ a/doc.xml
  673. Листинг 8.66. Выходящий документ
  674. Вызов document(node-set, node-set)
  675. Другие дополнительные функции XSLT
  676. Функция current
  677. Функция unparsed-entity-uri
  678. Пример
  679. Листинг 8.67 . Входящий документ использующий неразбираемые внешние сущности
  680. Листинг 8.68. Преобразование, использующее функцию unparsed-entity-uri
  681. Листинг 8.69. Выходящий документ
  682. Функция generate-id
  683. Пример
  684. Листинг 8.70. Преобразование
  685. Листинг 8.71. Выходящий документ
  686. Функция system-property
  687. Пример
  688. Листинг 8.72. Шаблон, выводящий системную информацию
  689. Глава 9 Совместное использование XSLT с другими языками программирования
  690. XSLT и другие языки
  691. Выполнение XSLT-преобразований в Object Pascal
  692. Импорт MSXML в Delphi
  693. Форма проекта
  694. Использование DOMDocument
  695. Листинг 9.1. Использование XSLT-преобразования в Delphi
  696. Выполнение XSLT-преобразований в C/C++
  697. Настройка путей
  698. Использование класса XalanTransformer
  699. Листинг 9.2. Типовой сценарий использования Xalan
  700. Выполнение XSLT-преобразований в PHP
  701. Замечание
  702. Страница гостевой книги
  703. Листинг 9.3. Данные гостевой книги — файл source.xml
  704. Листинг 9.4. Преобразование stylesheet.xsl
  705. Листинг 9.5. Скрипт guestbook.php
  706. Выполнение XSLT-преобразований в JavaScript
  707. Листинг 9.6. XML-документ каталога
  708. Листинг 9.7. Преобразование обрабатывающее наш каталог
  709. Листинг 9.8. Код HTML-страницы
  710. Выполнение XSLT-преобразований в VBScript/ASP
  711. Листинг 9.9. Документ, описывающий формы служб отправки сообщений — services.xml
  712. Листинг 9.10. Контакт-лист — документ source.xml
  713. Листинг 9.11. Преобразование stylesheet.xsl
  714. Листинг 9.12. ASP-страница, использующая XSLT-преобразования
  715. Выполнение XSLT-преобразований в Python
  716. Листинг 9.13. Простейший вызов 4Suite
  717. Листинг 9.14. Использование XSLT-процессора в Python
  718. Выполнение XSLT-преобразований в PL/SQL
  719. Листинг 9.15. Создание схемы БД
  720. Листинг 9.16. Преобразование
  721. Листинг 9.17. Обрабатываемый документ
  722. Листинг 9.18. SQL-скрипт, загружающий документ и преобразование в БД
  723. Листинг 9.19. Функция PROCESS
  724. Листинг 9.20. Представление PROCESSED_SOURCE
  725. Листинг 9.21. Запросы к таблице SOURCE и представлению PROCESSED_SOURCE
  726. Выполнение XSLT-преобразований в Java
  727. Листинг 9.22. Традиционный вариант сервлета
  728. Листинг 9.23. Вариант сервлета, использующий XSLT
  729. Листинг 9.24. XML-документ, сгенерированный в сервлете
  730. Листинг 9.25. Преобразование stylesheet.xsl
  731. Листинг 9.26. Результирующий HTML-документ
  732. Краткие выводы
  733. Глава 10 Расширения языка XSLT
  734. Что такое расширения?
  735. Листинг 10.1. Преобразование, использующее класс java.lang.Math
  736. Листинг 10.2. Использование элемента расширения saxon:entity-ref
  737. Функции расширения
  738. Пример
  739. Пример
  740. Пример
  741. Примечание
  742. Листинг 10.3. Входящий документ
  743. Листинг 10.4. Преобразование
  744. Листинг 10.5. Выходящий SVG-документ
  745. Листинг 10.6. Преобразование, осуществляющее поворот
  746. Листинг 10.7. Результирующий SVG-документ
  747. Листинг 10.8. Класс, вычисляющий координаты точки после поворота
  748. Функция function-available
  749. Пример
  750. Листинг 10.9
  751. Функция расширения nodeset
  752. Пример
  753. Листинг 10.10. Входящий документ
  754. Листинг 10.11. Преобразование
  755. Листинг 10.12. Выходящий документ
  756. Пример
  757. Листинг 10.13. Преобразование first.xsl
  758. Листинг 10.14. Преобразование second.xsl
  759. Листинг 10.5. Преобразование first-then-second.xsl
  760. Листинг 10.16. Входящий документ
  761. Листинг 10.17. Выходящий документ
  762. Элементы расширения
  763. Пример
  764. Листинг 10.18 Класс ext.java
  765. Листинг 10.19. Преобразование, использующее элемент расширения
  766. Листинг 10.20. Класс ext.java реализация элемента ext:date
  767. Функция element-available
  768. Пример
  769. Листинг 10.21. Преобразование, использующее функцию element-available
  770. Элемент xsl:fallback
  771. Пример
  772. Инициатива EXSLT
  773. Глава 11 Готовые решения
  774. Группировка
  775. Листинг 11.1 Входящий документ
  776. Листинг 11.2. Требуемый результат
  777. Листинг 11.3. Группирующее преобразование
  778. Перечисление узлов
  779. Листинг 11.4. Входящий документ
  780. Листинг 11.5. Преобразование
  781. Листинг 11.6. Выходящий документ
  782. Именованный шаблон как функция
  783. Пример
  784. Пример
  785. Пример
  786. Листинг 11.7. Вычисление булевого значения функции
  787. Пример
  788. Листинг 11.8. Шаблон, форматирующий дату
  789. Рекурсия
  790. Листинг 11.9. Именованный шаблон, вычисляющий факториал
  791. Циклы
  792. Цикл while
  793. Листинг 11.10. Шаблон цикла while в общем виде
  794. Листинг 11.11. Пример шаблона цикла while
  795. Цикл for
  796. Листинг 11.12. Шаблон цикла for в общем виде
  797. Листинг 11.13. Шаблон, вычисляющий числа Фибоначчи
  798. Листинг 11.14. Вывод 10 элементов option
  799. Листинг 11.15 Выходящий документ
  800. Метод Пиза для for-цикла
  801. Операции над множествами
  802. Перенос строк и элементы BR
  803. Листинг 11.16. Шаблон замены элементов BR на перенос строки
  804. Листинг 11.17. Шаблон для замены подстроки в строке
  805. Данные, разделенные запятыми (CSV)
  806. Листинг 11.18. Шаблон, размечающий данные в строковом формате
  807. Глава 12 Развитие технологий
  808. Пример
  809. Отличия XSLT 1.1 от XSLT 1.0
  810. Отсутствие result tree fragment
  811. Пример
  812. Несколько выходящих документов
  813. Пример
  814. Листинг 12.1. Преобразование, использующее элемент xsl:document
  815. Листинг 12.2. Главный выходящий документ преобразования
  816. Листинг 12.3. Документ chapter1.xml
  817. Листинг 12.4. Документ chapter2.xml
  818. Листинг 12.5. Документ chapter3.xml
  819. Дополнительные возможности по расширению
  820. Пример
  821. Листинг 12.6. Преобразование, включающее функцию расширения
  822. " Внешние" типы данных
  823. Пример
  824. Листинг 12.7. Использование внешних типов данных в преобразовании
  825. Стандартные интерфейсы расширений
  826. Другие изменения
  827. Отличия XSLT 2.0 от XSLT 1.1
  828. Изменения в XPath 2.0
  829. Выбор шаблонов для элементов пространства имен, определенного по умолчанию
  830. Листинг 12.8. Изменение пространства имен для паттерна
  831. Средства для форматирования даты и времени
  832. Функции id и key на внешних документах
  833. Включение неразбираемых внешних сущностей в виде текста
  834. Использование именованных сущностей вместо кодов символов
  835. Обращение ссылок по ID / IDREF
  836. Другие требования
  837. Приложение 1 Обзор XSLT-процессоров
  838. Популярность XSLT-процессоров
  839. Производительность XSLT-процессоров
  840. Замечание
  841. Библиотека Microsoft XML Parser
  842. Предупреждение
  843. Использование
  844. Пример
  845. Листинг П1.1. Входящий документ source.xml
  846. Листинг П1.2. Преобразование stylesheet.xsl
  847. Расширения
  848. Пример
  849. Листинг П1.3. Входящий документ
  850. Листинг П1.4. Преобразование
  851. Листинг П1.5. Выходящий документ
  852. Процессор Xalan
  853. Использование
  854. Расширения
  855. Процессор Saxon
  856. Использование
  857. Расширения
  858. Библиотека Oracle XDK
  859. Использование
  860. Расширения
  861. Процессор Sablotron
  862. Использование
  863. Процессор xt
  864. Использование
  865. Расширения
  866. Библиотека libxslt
  867. Использование
  868. Расширения
  869. Приложение 2 Краткий справочник элементов и атрибутов XSLT
  870. Обозначения
  871. Элементы
  872. Атрибуты
  873. Приложение 3 Краткий справочник функций XSLT и XPath
  874. Обозначения
  875. Функции
  876. Приложение 4 Интернет-ресурсы, посвященные XSLT
  877. Зарубежные интернет-ресурсы по XSLT
  878. Русскоязычные ресурсы
  879. Технические рекомендации и стандарты
  880. Переводы стандартов на русский язык
  881. Другие ресурсы
  882. Списки рассылки
  883. Электронные конференции
  884. Список литературы


Rate this book  


Read this book now: Технология XSLT

Download (590k) in formats: fb2, epub, mobi, txt, html

close [X]

close [X]




Reviews


Enter your name:     Rate this book

Enter your comments or review:


получать комментарии о книге Технология XSLT на e-mail

Anti-spam code Anti spam Capcha