XSLT - [15]

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

Отметьте, что этот файл выглядит во многом похоже на исходный файл >planets.xml, за тем исключением, что каждый элемент > содержит только элементы > и >. Таким образом, мы смогли получить подмножество данных первоначального документа XML.

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

В дополнение следует сказать, что многие программы используют XML для обмена данными в Интернете, и, так как обычно они форматируют свои документы XML по-разному, еще одним популярным способом использования преобразований XML-XML в Интернете является преобразование XML из формата, используемого одной программой, в формат другой программы.

Преобразования из XML в XHTML

Хотя во многих книгах рассматриваются исключительно преобразования из XML в HTML, правда состоит в том, что консорциум W3C этому не очень-то рад. Консорциум пытался сместить акцент с HTML (который они первоначально стандартизировали) на свою новую спецификацию, XHTML, представляющую собой совместимую с XML переработку HTML. Документы XHTML являются также хорошо сформированными допустимыми документами XML, поэтому преобразование из XML в XHTML в действительности есть преобразование из XML в специальный вид XML.

Хотя W3C активно продвигает XHTML, этот формат еще не стал широко распространенным. Поэтому в данной книге я в основном рассматриваю HTML; но поскольку W3C утверждает, что следует использовать XHTML, я кратко рассмотрю эту тему здесь и в главе 6. Если вы хотите узнать больше о XHTML, прочитайте рекомендацию W3C XHTML 1.0 по адресу www.w3.org/TR/xhtml1/, а также рекомендацию XHTML 1.1 по адресу www.w3.org/TR/xhtml11/.

Пусть W3C и утверждает, что XML следует преобразовывать в XHTML, а не в HTML, я не видел ни одного работающего примера на их web-узле. Представленные ими примеры на самом деле не генерируют допустимых документов XHTML. Тем не менее, поддержка преобразований XML-XHTML предположительно будет встроена в XSLT 2.0, и желаемое W3C явление, вероятно, нас вскоре ждет.

Более подробно мы рассмотрим этот тип преобразования в главе 6, а здесь я приведу рабочую версию таблицы >planets.xsl, которая создает допустимую XHTML-версию >planets.html (листинг 1.7). Заметьте, что на этот раз в элементе > нужно использовать атрибут >doctype-public, и хотя это корректный код XSLT, не все процессоры XSLT смогут его обработать.

Листинг 1.7. Преобразование XML-XHTML

>

>

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

>  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

>  doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes"/>


>  

>   

>    </code></p><p><code>>     The Planets Table</code></p><p><code>>    

>   

>   

>    

>     The Planets Table

>    

>    

>     

>     

>      

>      

>      

>    

>    

>    

NameMassRadiusDay

>   

>  


>  

>  

>  

>  

>  

>  


>  

>  

>  


>  

>  

>  


>  

>

Я преобразую >planets.xml в допустимый документ XHTML, >planets.html, используя этот новый вариант >planets.xsl и процессор XSLT XT. Сначала нужно корректно установить переменную >classpath:

>С:\>set classpath=c:xerces\xerces-1_3_0\xerces.jar;с:\xt\xt.jar;

Затем я провожу преобразование:

>C:\planets>java -Dcom.jclark.xsl.sax.parser=org.apache.xerces.parsers.SAXParser.com.jclark xsl.sax.Driver planets.xml planets.xsl planets.html

В результате будет получен файл XHTML, >planets.html:

>

>

> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

>

>  </code></p><p><code>>   The Planets Table</code></p><p><code>>  

>  

>   The Planets Table

>  

>   

>   

>    

>    

>    

>   

>  

>   

>    

>    

>   

>   

>   

>    

>   

>    

>    


Рекомендуем почитать
Как сделать свой сайт и заработать на нем. Практическое пособие для начинающих по заработку в Интернете

Данная книга является прекрасным практическим руководством для начинающих по созданию, раскрутке и монетизации сайтов. Уже в процессе знакомства с изданием читатели смогут создать свой первый сайт, не потратив на это ни копейки. Пользователи, имеющие свои веб-проекты, наверняка найдут много нового во второй части книги, посвященной продвижению сайта и заработку на нем.В издании освещаются все основные этапы создания сайтов и получения дополнительного дохода в сети Интернет: поиск идеи интернет-проекта, выбор домена и хостинга, создание сайта, его раскрутка и продвижение в поисковых системах, получение дохода при помощи контекстной рекламы, платных загрузок, партнерских программ и других способов.Если вы хотите получать стабильный ежемесячный дополнительный доход с помощью своего сайта, затратив при этом минимум усилий и материальных затрат, эта книга для вас.


Сайт писателя в постгутенберговскую эпоху: аналог творческой мастерской

В статье анализируются коммуникативные стратегии и структура сайта писателя в целом, общие творческие принципы, эстетические воззрения и околохудожественный дискурс, а также проблема национальной самоидентификации, имеющая значение для него.Опубликована в журнале «Критика и семиотика», Вып. 16, 2012, С. 308–322Автор: Бологова Марина Александровна к.ф.н., ст.н.с., Сектор литературоведения, Институт филологии СО РАН (Новосибирск)


Самоучитель Skype. Бесплатная связь через Интернет

Самоучитель поможет освоить программу Skype — лидера в области телефонных разговоров по Интернету — и присоединиться к многомиллионной армии ее обладателей. С позиции российского пользователя описаны основные вопросы, начиная от загрузки и инсталляции программы, заканчивая проведением телеконференций и мультичатов. Особое внимание уделено безопасности общения. Рассмотрены дополнительные сервисы Skype, как платные, так и бесплатные. Приведены способы оплаты услуг Skype, возможности по управлению собственным счетом в программе Skype.


В социальных сетях. Twitter – 140 символов самовыражения

Количество пользователей Твиттера давно превысило цифру 150 миллионов. Российских твиттерян уже больше 500 000 и прирост осуществляется совершенно немыслимыми темпами – за последний год количество русскоязычных пользователей Твиттера выросло в 26 раз. А после регистрации личного аккаунта президентом Дмитрием Медведевым в России случился буквально тви-бум.Что же представляет собой «чирикающий» сервис? Чем он отличается от других социальных сетей и для чего он может быть полезен? С чего начать, как пользоваться арсеналом возможностей, которые предоставляет сам Твиттер и сотни сопутствующих сервисов? Как создать корпоративный Твиттер и заставить его работать на свой бизнес? На эти и многие другие вопросы вы найдете ответы в этой книге.


Блоги. Новая сфера влияния

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


Образование русскоязычного сегмента Фидонет в Западной Европе

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


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

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


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

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


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

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


Изучаем Python

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


NameMassRadiusDay
Mercury.0553 (Earth =  1)1516 miles58.65 days
Venus.815 (Earth = 1)3716 miles116.75 days