лучшие книги по экономике
Главная страница

Главная

Замовити роботу

Последние поступления

Форум

Создай свою тему

Карта сайта

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

Статьи партнёров


Замовити роботу
Книги по
алфавиту

Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О

ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ ВІРТУАЛЬНИХ ОРГАНІЗАЦІЙ

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]

 

xsl:attrіbute — визначає ім’я і значення атрибута і вставляє їх у вихідний потік. Кожен елемент xsl:attrіbute є дочірнім елементом елемента xsl:element чи буквального елемента.
xsl:attrіbute-set — дає можливість задати один чи кілька атрибутів як членів набору атрибутів — це робиться на верхньому рівні таблиці стилів, а потім можна включати в елементи цей набір атрибутів за допомогою атрибута xsl:use-attrіbute-sets.
xsl:processіng-іnstруctіon — поміщає у вихідному документі процесуальну інструкцію. Ціль (target) процесуальної інструкції задається необхідним атрибутом name.
xsl:комment — вставляє у вихідний документ коментар. У ньо­го немає атрибутів, а міститься текст потрібного коментаря.
xsl:sort сортує вихідні елементи в порядку, що відрізняється від того, у якому вони йдуть у вихідному документі. Елемент xsl:sort повинний бути дочірнім елементом елементів xsl:apply-templates чи xsl:for-each. Атрибут select елемента xsl:sort задає ключ, використовуваний для сортування елементів, що виходять у результаті роботи інструкцій xsl:apply-templates чи xsl:for-each. За замовчуванням сортування ведеться в алфавітному порядку ключів. Якщо в даному елементі xsl:apply-templates чи xsl:for-each присутні кілька елементів xsl:sort, тоді елементи сортуються спочатку по першому ключу, потім по другому ключу і так далі. Якщо два елементи при цих обставинах виявляються еквівалентними, вони виводяться в тому порядку, у якому йдуть у вихідному документі.
xsl:call-template — входить у вміст правила-шаблона. У ньому необхідний аргумент name, що визначає ім’я визиваного шаблона. При обробці елемент xsl:call-template заміняється вмістом елемента xsl:template з тим же ім’ям.
xsl:іf — надає простий механізм для зміни виходу на основі патерна. Атрибут test цього елемента містить вираз, що оцінюється як булівське значення. Якщо вираз має значення tруe, виводиться вміст елемента xsl:іf.
xsl:choose — вибирає один з декількох можливих виходів залежно від певних умов. Кожна умова і зв’язаний з ним шаблон виходу задається дочірнім елементом xsl:when. Атрибут test елементів xsl:when містить XPath-вираз, що має булівське значення. Якщо виконується багато умов відразу, активується тільки перший варіант, для якого умова виконується. Якщо не виконується жодна умова, активується шаблон у дочірньому елементі xsl: otherwіse.
xsl:іmport — це елемент верхнього рівня, його атрибут href задає URІ імпортованої таблиці стилів. Елементи xsl:іmport повинні йти до будь-яких інших елементів верхнього рівня в кореневому елементі xsl:stylesheet.
xsl:іnclude — це елемент верхнього рівня, що копіює в поточну таблицю стилів іншу таблицю стилів на те місце, де він сам знаходиться. (Точніше кажучи, він копіює в поточний документ зміст елементів xsl-stylesheet чи xsl:transform зовнішньої таблиці стилів.) Його атрибут href задає URІ таблиці стилів, що включається. Елемент xsl:іnclude може розташовуватися на будь-якому місці верхнього рівня після останнього наявного в таблиці стилів елемента xsl:іmport. На відміну від правил, імпортованих елементом xsl:іmport, правила, що включаються елементом xsl:іnclude, не мають переваги над правилами основної таблиці стилів. З погляду XSLT-процесора між правилами основної таблиці стилів і включених правил немає ніякої різниці.
xsl:output — дозволяє змінити метод виведення (за замовчуванням XSLT-процесор використовує метод виведення XML, якщо він не знайде, що кореневим елементом вихідного документа є елемент HTML — у цьому випадку буде використовуватися метод HTML). Атрибут method цього елемента xsl:output задає метод виведення і зазвичай має одне з трьох значень:

  • xml
  • html
  • text

Перетворювачі можуть підтримувати й інші значення, але поки підтримуються тільки ці три. Наприклад, щоб на виході одержувати чистий правильний HTML, у якому порожні теги закриті, знак «менше» замінений посиланням на сутність, і так далі, на верхньому рівні таблиці стилів потрібно використовувати наступ­ний елемент xsl:output:
<xsl:output method=«xml»/>
Щоб одержати на виході звичайний HTML, навіть якщо не використовується кореневий елемент html, вам потрібно помістити на верхній рівень таблиці стилів інший елемент xsl:output:
<xsl:output method=«html»/>.
3. Перетворення XML-документа на основі таблиці стилів XSLT у HTML-документ
Слід відмітити, що існує три основних підходи до перетворення XML-документів на основі XSLT в інші формати (наприклад, в HTML):

  • Перетворення в броузері — для цього XML-документ та зв’язана з ним таблиця XSLT відправляється в броузер, який фор­мує вигляд документу відповідно із таблицею стилів та відображає користувачеві. Такий підхід можливий, наприклад, на основі використання броузера Internet Explorer 5.0/6.0. Проте в даному броузері використані ранні пропозиції по XSLT, які не співпадають з версією, затвердженою в якості стандарту.
  • Перетворення на Web-сервері — сервер зі встановленим спеціальним програмним забезпеченням типу IBM AlphaWorks XML Enabler та ін. перетворює XML-документ на основі таблиці стилів XSLТ у потрібний формат і лише після цього відправляє його користувачеві. Такий підхід є досконалішим ніж перший, оскільки не орієнтований лише на певні типи броузерів. Проте він вимагає купівлі спеціального програмного забезпечення, тому ми його розглядати не будемо.
  • Перетворення спеціальною програмою (типу SAXON, Xalan, Sablotron) — XML-документ перетворюється у потрібний вигляд і лише після цього передається серверу. З огляду на безкоштовність таких програм і сумісність з популярними броузерами і серверами даний підхід уявляється найбільш доцільним.

Наведемо приклад реалізації першого підходу. Для того, щоб відобразити в Internet Explorer 5.0 сторінку reiss.xml, подану в табл. 2.4, XSLT-таблиця reiss1.xsl повинна мати вигляд, як у табл. 2.6. А в сам файл reiss.xml необхідно додати такий другий рядок:
<?xml-stylesheet type=«text/xsl» href=«reiss1.xsl»?>
Таблиця 2.6
REISS1.XSL — ТАБЛИЦЯ СТИЛІВ ЛИШЕ ДЛЯ INTERNET EXPLORER 5.0


<?xml version=«1.0»?>

<xsl:stylesheet version=«l.0»

xmlns:xsl=«HTPP://ввв.w3.org/TR/WD-xsl»>

<xsl:template match=«/»>

<html>

<xsl:apply-templates/>

</html>

</xsl:template>

<xsl:template match=«spisok»>

<xsl:apply-templates/>

</xsl:template>

<xsl:template match=«reis»>

<P>

<xsl:value-of select=«.»/>

</P>

</xsl:template>

</xsl:stylesheet>

Обидві сторінки розміщуємо на сервері. Після виклику у броузері Internet Explorer 5.0 сторінки reiss.xml отримаємо результат, представлений на рис. 2.8.

Рис. 2.8. Результат відображення XML-сторінки в IE5.0
Для того, щоб замінити стару версію XML-парсеру та XSLT-процесора, необхідно скачати з сайту Microsoft та запустити програму xmllinst.exe. (Але, звичайно ж, не всі клієнти-відвідувачі сайту будуть це робити).
Є надія, що в недалекому майбутньому броузери будуть «розуміти» мову стилів краще, ніж IE на сьогодні.
Третій підхід легко реалізувати, наприклад, за допомогою програми Instant SAXON, яку можна безкоштовно переписати з HTPP://saxon.sourceforge.net/.
Для того, щоб відобразити файл reiss.xml за допомогою таблиці стилів, досить набрати reiss.xsl у командному рядку:
Saxon-o reiss.html reis.xml reis.xsl
Запустити програму можна також з Java-аплета. Для цього необхідно включити в текст html-сторінки аплет:
<applet
name=«xslControl»
code=«ком.icl.saxon.XSLTProcessorApplet.class»
archive=«../../saxon.jar»
height=«0»
width»0»>
<param name=«documentURL» value=«reiss.xml»/>
<param name=«styleURL» value=«reiss.xsl»/>
</applet>
А також запустити трансформацію в тілі документу, наприклад:
<body onLoad=«target.innerHTML=document.xslControl.getHTML
Text()»>
<div id=«target»></div>
</body>
За допомогою методів xslControl.setDocumentURL(string) та xslControl.setStyleURL(string) можна задавати джерело та таблицю стилів динамічно.
Можна реалізувати також третій підхід, використовуючи процесор Sablotron в PHP.
При цьому, якщо використовується програмний комплекс «Денвер-2», необхідно переписати з сайту HTPP://ввв.denwer.ру/
dis/PHP4 пакет розширення програмного комплексу, до складу якого входять всі необхідні для виконання лабораторної роботи бібліотеки.
Після встановлення пакету розширення необхідно розкоментувати розширення php_xslt.dll у файлі /usr/local/php/php.ini. А також переконатися в наявності необхідних бібліотек: expat.dll, sablot.dll, iconv.dll.
Для прикладу, наведемо програму, яка аналізує тип пристрою, що запитує інформацію — комп’ютер чи мобільний телефон — і відповідно обирає таблицю XSL для представлення інформації — табл. 2.8. Програмою використовуються файли reiss.xml (табл. 2.4), reiss.xsl (табл. 2.5), reissw.xsl (табл. 2.7). Результат роботи програми подано на рис. 2.9.

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]


ВНИМАНИЕ! Содержимое сайта предназначено исключительно для ознакомления, без целей коммерческого использования. Все права принадлежат их законным правообладателям. Любое использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием содержимого сайта.
© 2007-2019 BPK Group.