Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Преобразование документа XML в документ HTML



Цель работы:

Изучить процесс преобразования XML документа в документ HTML

Хо дработы:

Ключем к преобразованию документа XML в документаHTML является элемент <xsl:output method="text" encoding="UTF-8" />,вам необходимо поменять метод вывода с text на html,для реализации преобразования.

 

Преобразуйте xml документ в html,для этого сделайте следующее:

 

1. Создайте документ под названием PreobrXvH.xml

 

<?xml version="1.0" encoding="windows-1251" ?>

<?xml-stylesheet type="text/xsl" href=" PreobrXvH.xsl"?>

<notebook>

<person>

<name first="Ивaн" second="Петрович" surname="Сидоров" />

<address>

<street>Caдовая, 12 — 34</street>

<city>Новокозлосвк</city>

<zip>123321</zip>

</address>

<phone-list>

<work-phone>123456</work-phone>

<home-phone>654321</home-phone>

</phone-list>

</person>

<person>

<name first="Mapия" second="Ивановна" surname="Федорова" />

<address>

<street>Нижняя, 12</street>

<city>3apeченкс</city>

<zip>321123</zip>

</address>

<phone-list>

<home-phone>22432l</home-phone>

</phone-list>

</person>

</notebook>

2. Теперь создайте таблиц стилей под названием PreobrXvH.xsl:

<?xml version="1.0" encoding="windows-1251"?>

<xsl:stylesheet version="1.0"

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

<xsl:output method="html" encoding="windows-1251"/>

<xsl:template match="/">

<html><head><title>Адресная книжка</title></head>

<body><h2>Фамилии,адреса и телефоны</h2>

<xsl:apply-templates />

</body></html>

</xsl:template>

<xsl:template match="name">

<p />

<xsl:value-of select="@first" /> <xsl:text> </xsl:text>

<xsl:value-of select="@second" /> <xsl:text> </xsl:text>

<xsl:value-of select="@surname" /> <br />

</xsl:template>

<xsl:template match="address">



<br />

<xsl:value-of select="street" /> <xsl:text> </xsl:text>

<xsl:value-of select="city" /> <xsl:text> </xsl:text>

<xsl:value-of select="zip" /> <br />

</xsl:template>

<xsl:template match="phone-list">

Рабочий: <xsl:value-of select="work-phone" /> <br />

Домашний: <xsl:value-of select="home-phone" /> <br />

</xsl:template>

</xsl:stylesheet>

3. Отобразите PreobrXH.xml в браузере, у вас должно получится то, что представлено на рисунке 4.11

Рисунок 4.11

Лабораторная работа №8

Таблицы стилей CSS

Цель работы:

Изучить таблицы стилей CSS

 

Ход работы:

CSS – это отличный от XML синтаксис, используемый для описания внешнего вида определенных элементов документа. CSS – это очень простой язык. Никаких преобразований не производится; обработанные символьные данные документа отображаются примерно так же, как они присутствуют в XML-документе, однако если требуется перегруппировать содержимое документа перед отображением его

пользователю, всегда можно преобразовать документ с помощью XSLT и затем применить к нему таблицу стилей CSS. Таблица стилей CSS никак не меняет разметку XML-документа. Она лишь применяет правила к уже существующей разметке.

 

 

1. Откройте новый, пустой текстовый файл в вашем текстовом редакторе и заполните CSS-таблицу, как показано в Листинге 1.1

2. С помощью команды Save вашего текстового редактора сохраните таблицу стиля на жестком диске, задав имя файла Inventory01.css. Созданная вами CSS-таблица сообщает Mozilla Firefox, каким образом форматировать символьные данные элементов.

  • Отображать каждый элемент BOOK с отступом сверху в 12 пт (margin-top:12pt) с переводом строки сверху и снизу (display:block), используя размер шрифта 10 пт (font-size:10pt).
  • Отображать каждый элемент TITLE курсивом (font-style:italic).
  • Отображать каждый элемент AUTHOR полужирным (font-weight:bold).

 



 

Листинг 1.1

/* File Name: Inventory01.css */BOOK {display:block; margin-top:12pt; font-size:10pt}TITLE {font-style:italic}AUTHOR {font-weight:bold}

3. В вашем текстовом редакторе откройте документ Inventory.xml, созданный вами в предыдущем упражнении. Добавьте в конце пролога документа (непосредственно над элементом INVENTORY) следующую инструкцию по обработке:

<?xml-stylesheet type="text/css" href="Inventory01.css"?>

Эта инструкция по обработке устанавливает связь созданной вами CSS-таблицы и XML-документа. В результате при открытии документа в Mozilla Firefox браузер отобразит содержимое документа в соответствии с инструкциями, записанными в таблице стилей.

4. Чтобы отразить новое имя файла, которое вы собираетесь присвоить, измените комментарий в начале документа с

<!-- File Name: Inventory.xml -->

на

<!-- File Name: Inventory01.xml -->

В Листинге 1.2 представлен весь XML-документ.

5. Воспользуйтесь командой Save As (Сохранить как) вашего текстового редактора, чтобы сохранить копию измененного документа под именем Inventory01.xml. Проверьте, чтобы этот файл был сохранен в той же папке, что и файл Inventory01.css.

<?xml version="1.0"?><!-- File Name: Inventory01.xml --><?xml-stylesheet type="text/css" href="Inventory01.css"?><INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK> <BOOK> <TITLE>The Legend of Sleepy Hollow</TITLE> <AUTHOR>Washington Irving</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>98</PAGES> <PRICE>$2.95</PRICE> </BOOK> <BOOK> <TITLE>The Marble Faun</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>473</PAGES> <PRICE>$10.95</PRICE> </BOOK> <BOOK> <TITLE>Moby-Dick</TITLE> <AUTHOR>Herman Melville</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>724</PAGES> <PRICE>$9.95</PRICE> </BOOK> <BOOK> <TITLE>The Portrait of a Lady</TITLE> <AUTHOR>Henry James</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>256</PAGES> <PRICE>$4.95</PRICE> </BOOK> <BOOK> <TITLE>The Scarlet Letter</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>253</PAGES> <PRICE>$4.25</PRICE> </BOOK> <BOOK> <TITLE>The Turn of the Screw</TITLE> <AUTHOR>Henry James</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>384</PAGES> <PRICE>$3.35</PRICE> </BOOK></INVENTORY>

7. Откройте документ Inventory01.xml браузером Mozilla Firefox у вас должно получится то что показано на рисунке 4.12:

Рисунок 4.12

8. В вашем текстовом редакторе откройте документ Inventory.xml. Добавьте в конце пролога документа (над элементом INVENTORY) следующую инструкцию по обработке:

<?xml-stylesheet type="text/css" href="Inventory02.css"?>

Эта инструкция по обработке устанавливает связь между новой CSS-таблицей, созданной вами, и XML-документом.

10. Чтобы отразить новое присвоенное вами имя файла, измените комментарий в начале документа с

<!-- File Name: Inventory.xml -->

на

<!-- File Name: Inventory02.xml -->

В Листинге 1.2 представлен полный XML-документ.

11. Воспользуйтесь командой Save As (Сохранить как), чтобы сохранить копию измененного документа под именем Inventory02.xml. Проверьте, чтобы этот файл был сохранен в той же папке, что и файл Inventory02.css.

<?xml version="1.0"?><!-- File Name: Inventory02.xml --><?xml-stylesheet type="text/css" href="Inventory02.css"?><INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK> <BOOK> <TITLE>The Legend of Sleepy Hollow</TITLE> <AUTHOR>Washington Irving</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>98</PAGES> <PRICE>$2.95</PRICE> </BOOK> <BOOK> <TITLE>The Marble Faun</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>473</PAGES> <PRICE>$10.95</PRICE> </BOOK> <BOOK> <TITLE>Moby-Dick</TITLE> <AUTHOR>Herman Melville</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>724</PAGES> <PRICE>$9.95</PRICE> </BOOK> <BOOK> <TITLE>The Portrait of a Lady</TITLE> <AUTHOR>Henry James</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>256</PAGES> <PRICE>$4.95</PRICE> </BOOK> <BOOK> <TITLE>The Scarlet Letter</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>253</PAGES> <PRICE>$4.25</PRICE> </BOOK> <BOOK> <TITLE>The Turn of the Screw</TITLE> <AUTHOR>Henry James</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>384</PAGES> <PRICE>$3.35</PRICE> </BOOK></INVENTORY>

12. Откройте документ Inventory01.xml браузером у вас должно получится то что показано на рисунке 4.13 и браузер откроет документ Inventory02.xml и отобразит его в соответствии с правилами, установленными в связанной таблице стилей Inventory02.css.

 

Рисунок 4.13:

XSL-FO

Язык форматирования XSL — это одна из реализаций XML. Сейчас в язык XSL входят

только средства форматирования, поэтому его часто называют "XSL-FO". Язык XSL объявляет более пятидесяти элементов XML. Имена этих элементов находятся в пространстве имен http://www.w3.org/1999/XSL/Format, которому обычно дают префикс fo. Эти элементы как раз и образуют классы объектов форматирования.

 

Элементы XSL-FO

 

  • Корневым элементом документа XSL служит элемент fo:root. В него вкладывается один или несколько элементов fo:page-sequence, описывающих весь набор страниц в целом, и ровно один элемент fo: layout-master-set, содержащий подробные описания страниц во вложенных в него элементах. Кроме этих элементов непосредственно в корневой элемент можно вложить только элемент fo:declaration, содержащий информацию для форматера

 

  • Элемент fo:page-sequence содержит необязательный заголовок — вложенный элемент fo:title, один обязательный вложенный элемент fo:fiow, за дающий динамически формируемую выводимую информацию, и сколько угодно необязательных элементов fo:static-content, содержащих определенный неизменный текст, например, колонтитулы.

 

  • Элемент fo: layout-master-set содержит элементы fo: simple-page-master, описывающие строение страницы, и/или элементы fo:page-sequence-master, описывающие порядок применения к страницам правил форматирования.

 

 

<?xml version="1.0" encoding="windows-1251"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>

<fo:simple-page-master master-name="mypage">

</fo:simple-page-master>

</fo:layout-master-set>

<fо:page-sequence master-reference="mypage">

<fo:flow flow-name="xsl-region-body">

</fo:flow>

</fo:page-sequence>

</fo:root>

Создайте простейший XSL-FO документ, для этого сделайте следующие:

 

1. Создайте документ под названием XSLFO.fo

 

Часть №5

Altova XMLSpy

Лабораторная работа №1


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!