XSLT - [4]

Шрифт
Интервал

W3C И ЯЗЫКИ СТИЛЕЙ

Вы можете прочитать об истории работы комитета W3C с языками стилей по адресу www.w3.org/Style/History. Интересно посмотреть, какая объемная работа была проделана и как много языков стилей сменилось за это время.

W3C первоначально, в 1980-х, разработал «дедушку» XML, SGML (Standard Generalized Markup Language, стандартный обобщенный язык разметки), однако он был слишком сложен для того, чтобы завоевать широкую популярность, и в действительности XML (как и HTML) представляет собой упрощенную версию SGML. W3C также создал для работы совместно с SGML язык стилей DSSSL (Document Style Semantics and Specification Language, язык семантики стиля и спецификации документа) — и так же, как XML был произведен от SGML, XSL основан на исходном DSSSL. Как утверждает W3C: «Модель, используемая XSL для отображения документов на экране, базируется на многих годах работы над сложным языком стилей по стандарту ISO, который называется Document Style Semantics and Specification Language (DSSSL)».

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

Преобразования XSLT-XSL

XSLT позволяет работать непосредственно с содержимым документов XML. Например, у вас может быть огромный документ XML, содержащий всю бейсбольную статистику за последний сезон, однако вас может интересовать только статистика для питчеров. Чтобы извлечь только эти данные, можно написать программу на Java, Visual Basic или С++, которая будет работать с разборщиками XML. Разборщики представляют собой специальные программные пакеты, читающие документы XML и передающие все данные документа последовательно в ваш код. Затем можно создать новый документ XML, pitchers.xml, содержащий только данные о питчерах.

Этот способ работает, однако при этом необходимо довольно много программировать и тратить много времени, в том числе и на тестирование. XSLT разрабатывался для решения подобных проблем. XSLT могут читать процессоры XSLT, обрабатывающие документы XML: все, что вам нужно сделать, — это создать таблицу стилей XSLT, определяющую правила, которые вам требуется применить для преобразования одного документа в другой. Никакого программирования не понадобится, что является несомненным достоинством в глазах многих людей, даже опытных программистов. В примере с бейсболом вам нужно написать таблицу стилей XSLT, определяющую необходимые действия, и предоставить процессору XSLT довершить все остальное.

Помимо преобразования одного документа XML в другой документ XML, можно также преобразовывать документы XML в документы разных типов — таких, как HTML, документы форматированного текста (RTF), документы, использующие XSL-FO и другие. Можно также преобразовать документы XML в иные основанные на XML языки — такие, как MathML, MusicML, VML, XHTML и другие — все это можно осуществить, не прибегая к программированию.

Во многих случаях язык XSLT может работать аналогично языку баз данных, такому как SQL (Structured Query Language, язык структурированных запросов, — известный язык доступа к базам данных), поскольку он позволяет извлекать требуемые данные из документов XML во многом похоже на то, как инструкция SQL извлекает данные из базы данных. Иногда даже говорят о XSLT как о SQL в Web, и если вы знакомы с SQL, это даст вам некоторое представление о безграничных возможностях XSLT. Например, при помощи таблицы стилей XSLT можно извлечь подмножество данных из документа XML, создать оглавление для большого документа, найти все элементы, удовлетворяющие определенному условию (например, поставщиков с определенным индексом) и т.д. И все это — за один шаг!

XSL-FO: форматирующие объекты XSL

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

С другой стороны, из-за излишней сложности XSL-FO не очень популярен, и его нельзя сравнивать с XSLT в этом отношении. Существует не так много программ, поддерживающих XSL-FO, и ни одна из них не реализует достаточно полное приближение к стандарту. Так же как самый распространенный способ применения XSLT — это преобразование XML в HTML, самый распространенный способ применения XSL-FO — преобразование XML в текст в формате PDF (Portable Data Format, переносимый формат данных), используемый в Adobe Acrobat. Пример такого преобразования приведен в конце этой главы, а также в главе 11.


Рекомендуем почитать
Как написать статью. Алгоритм

Пошагово описан алгоритм написания статей для Интернет. Эти знания пригодятся тем, кто хочет зарабатывать в сети на текстах, например, начинающим копирайтерам.


Сначала мобильные!

Подход, предложенный Люком Вроблевски, произвел настоящую революцию в области веб-дизайна. Его суть проста: чтобы сайт наиболее полно удовлетворял потребности пользователей любых устройств, сначала следует проектировать его мобильную версию.В своей книге Люк подробно рассказывает о том, как перейти от создания обычных сайтов к разработке их мобильных версий, какие особенности поведения владельцев мобильных устройств следует учитывать при проектировании интерфейса, как правильно организовать контент и навигацию и о многом-многом другом.Следуя его рекомендациям, вы сможете создать максимально удобный дизайн, который обеспечит высокую посещаемость вашего сайта в самое ближайшее время.Издано с разрешения A Book Apart LLC На русском языке публикуется впервые.Все права защищены.Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.Правовую поддержку издательства обеспечивает юридическая фирма «Вегас-Лекс».


Интернет – легко и просто!

Интернет многие называют величайшим изобретением человечества в сфере информации. Сегодня Интернет набирает в нашей стране популярность, становится все доступнее и актуальнее – и в столице, и в регионах. Как обычному пользователю персонального компьютера научиться использовать все преимущества Всемирной паутины? Какие устройства и программы для этого нужны? С чего начать свой путь по Сети? Где найти нужную вам информацию и как получить ее? Что нужно для общения через Интернет? Под обложкой этой книги вы найдете понятные, конкретные ответы на поставленные вопросы.


Интернет на 100%. Подробный самоучитель: от «чайника» – до профессионала

Интернет давно и прочно проник в нашу жизнь, и без него уже невозможно представить существование человечества. Им активно пользуются представители самых разных слоев нашего общества – независимо от возраста, рода занятий, профессиональной принадлежности, социального положения и иных факторов. Более того – многие приобретают себе компьютер исключительно для того, чтобы иметь постоянный доступ к Интернету.В данной книге мы расскажем о том, как самостоятельно подключиться к Интернету на компьютере с операционной системой Windows 7 Professional, как пользоваться электронной почтой и специальными программами, предназначенными для работы в Интернете.


Информация. Собственность. Интернет. Традиция и новеллы в современном праве

Книга обобщает многолетний опыт соавторов в области правового регулирования информационных отношений, а также их размышления о путях развития современного (как отечественного, так и зарубежного) права в контексте глобальных изменений, которые сопутствуют формированию информационного общества.Центральная проблема, которой посвящена книга — соотношение "информации" (сравнительно нового объекта правового регулирования) и "собственности" (юридического института с многовековой историей). Особое внимание уделяется историческому аспекту: прослеживая эволюцию в толковании данных понятий, авторы представляют на суд читателя выявленные проблемы и пути их решения.


Вопрос безопасности в Интернет это вопрос ВЕРЫ, Веры в чистые помыслы Била Гейтса

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


SQL: быстрое погружение

Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL — рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.


Чистый код. Создание, анализ и рефакторинг

Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей.


Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих

Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.


Изучаем Python

Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.