Міністерство освіти і науки України Сумський державний університет



Сторінка7/8
Дата конвертації28.12.2016
Розмір0.94 Mb.
1   2   3   4   5   6   7   8

Book Inventory



select="INVENTORY/BOOK[BINDING='trade paperback']"

order-by="+AUTHOR/LASTNAME; +AUTHOR/FIRSTNAME">

Author:




Title:




Binding type:




Number of pages:




Price:








Розглянемо також приклад еxample_09.xsl:







Book Inventory



order-by="+AUTHOR/LASTNAME; +AUTHOR/FIRSTNAME"/>







Author:




Title:




Binding type:




Number of pages:




Price:






Обидві таблиці стилів розроблено для пов'язування з XML-документом. У них використаний такий фільтр який приписує браузеру відображувати тільки книги, що мають прошиту паперову палітурку (trade paperback):

[BINDING='trade paperback'].
В обох прикладах використовується така установка order-by, яка задає сортування елементів BOOK за зростанням за прізвищами авторів, а потім за іменами авторів:
order-by="+AUTHOR/LASTNAME; +AUTHOR/FIRSTNAME".
Таблиця стилів використовує елемент for-each для відображення багатьох елементів BOOK. У приведеній нижче таблиці стилів для елемента for-each встановлені і фільтр, і атрибут order-by:

select="INVENTORY/BOOK[BINDING='trade paperback']"

order-by="+AUTHOR/LASTNAME; +AUTHOR/FIRSTNAME">

.

Таблиця стилів використовує для відображення багатьох елементів BOOK елемент apply-templates разом з окремими шаблонами, що відповідають елементам "BOOK". У цій таблиці стилів фільтр доданий до шаблону відповідного елементам BOOK:


.
Додавання фільтра до елемента apply-templates матиме той же ефект.

Атрибут order-by може бути доданий до елемента apply-templates таким чином:


order-by="+AUTHOR/LASTNAME; +AUTHOR/FIRSTNAME"/>

Атрибут order-by слід додати до елемента apply-templates, оскільки елемент template не розпізнає цей атрибут. (Ви можете використовувати атрибут order-by тільки для елемента, який указує браузеру здійснити перегляд серед множини елементів, – а саме, for-each і apply-templates.)

ДОСТУП ДО АТРИБУТІВ XML
XSL трактує атрибут, що належить елементу в XML-документі, як дочірній елемент. Проте для посилання на атрибут у зразку XSL ви повинні перед іменем атрибута вставляти символ @, що вказує на те, що ім'я відноситься до атрибута, а не до елемента.

Наприклад, фільтр у наступному початковому тегу виділяє всі елементи BOOK з атрибутом InStock, що має значення "yes". Іншими словами, він вибирає тільки книги, які є в наявності:


.
Ви можете використовувати XSL-елемент value-of для витягування значень атрибута точно так, як і ви це робите для витягування текстового вмісту елемента. Наприклад, такий елемент value-of отримує значення атрибута Born, що належить елементу AUTHOR:
.
Таблиця стилів, подана нижче, демонструє техніку доступу до атрибутів, належних елементів у XML-документі. Ця таблиця стилів відображує книги, що є в наявності, з каталогу.

Кожен елемент BOOK в XML-документі містить атрибут InStock, що має значення "yes" або "no", що вказує на наявність або відсутність книги в сховищі. Кожен елемент AUTHOR має атрибут Born, що містить рік народження автора.

Замість відображення значення атрибута InStock таблиця стилів використовує атрибут в умові фільтрації з метою уникнути відображення елементів BOOK для книг, яких немає в наявності:


.
Таблиця стилів відображує кожен елемент BOOK у вигляді HTML-таблиці, а не через список елементів SPAN, як в попередніх прикладах. Вона відображує значення атрибута Born після значення елемента AUTHOR, використовуючи XSL-елемент value-of. Наступні елементи створюють елемент таблиці для відображення цих значень:

.


Рисунок 16 – Відображення значень атрибутів

ВИКОРИСТАННЯ КАСКАДНИХ ТАБЛИЦЬ СТИЛІВ
Оскільки в XML ви створюєте свої власні елементи, браузер не має вбудованих засобів, що дозволяють визначити, як їх правильно відображувати. Створення каскадних таблиць стилів і зв’язування їх з вашим XML-документом – це один із способів повідомити браузеру, як відображувати кожен з елементів документа. XML-документ із зв'язаною таблицею каскадних стилів може бути відкритий безпосередньо в браузері. Вам немає необхідності використовувати HTML-сторінку для доступу і відображення даних (як це має місце в інших методах відображення XML).

Зберігання інструкцій щодо відображення в таблиці стилів окремо від самого XML-документа підвищує гнучкість XML-документа і полегшує роботу з ним. Ви можете, наприклад, швидко адаптувати один XML-документ до різних умов відображення (різним браузерам, додаткам, контекстним ситуаціям, периферійним пристроям і так далі) простим приєднанням відповідної таблиці стилів, без необхідності реструктурувати сам документ. Ви також можете швидко відновити формат для групи схожих XML-документів за допомогою внесення змін у приєднаній до цих документів таблиці стилів, не відкриваючи і не редагуючи кожен з документів.

Використання таблиці стилів напевно є найпростішим методом відображення XML-документа. Сучасні Web-браузери забезпечують високий рівень підтримки каскадних таблиць стилів, тоді як інші методи відображення XML все ще знаходяться у стадії розвитку, і браузери тільки починають їх підтримувати.

Так, у порівнянні з іншими методами відображення XML, каскадні таблиці стилів мають ряд обмежень. Хоча таблиця каскадних стилів надає достатньо високий рівень керованості способами, якими браузер форматує вміст елементів в XML-документах, вона не дає можливості модифікувати або реорганізовувати його вміст. Вона також не дозволяє вам здійснювати доступ до атрибутів, примітивів, інструкцій з обробки і іншим компонентам XML – а також не дає можливості обробляти інформацію, яку ці компоненти містять.

Далі ви познайомитеся зі складнішими, але і гнучкішими способами відображення XML-документів.




(born )



1   2   3   4   5   6   7   8


База даних захищена авторським правом ©lecture.in.ua 2016
звернутися до адміністрації

    Головна сторінка