XML (eXtensible Markup Language) ⸺ это язык разметки, используемый для хранения и передачи данных. XSL (eXtensible Stylesheet Language) ⸺ это язык таблиц стилей, который может быть использован для трансформации XML-документов в другие форматы, такие как HTML, PDF или текстовые файлы.
Принцип работы XML и XSL
XML предоставляет общий формат для обмена структурированными данными между различными системами. Он состоит из элементов и атрибутов, которые определяют структуру документа. XSL использует язык XPath для выбора и обработки элементов XML и язык XSLT (XSL Transformations) для трансформации XML в другие форматы.
Первым шагом является создание XML-документа с помощью любого текстового редактора или специализированного инструмента. XML-документ может содержать любую информацию, от простого текста до сложных структур данных.
Для того чтобы преобразовать XML-документ в HTML, создается XSL-документ, который определяет правила трансформации данных. XSL-документ содержит шаблоны, которые описывают, как элементы XML должны быть представлены в HTML.
Преимущества использования XML и XSL для публикации в Web
- Отделение данных от представления⁚ Использование XML и XSL позволяет разделить данные и структуру документа от его визуального представления. Это делает процесс разработки и обслуживания веб-сайта более гибким и удобным.
- Легкая модификация данных⁚ XML обеспечивает простоту модификации и обновления данных без изменения структуры документа.
- Многократное использование данных⁚ XML позволяет использовать одни и те же данные в различных контекстах и преобразовывать их в разные форматы (например, HTML, PDF).
- Возможность автоматической генерации содержимого⁚ С помощью XSL можно автоматически генерировать содержимое веб-страниц на основе данных из XML-документов. Это упрощает создание и поддержку больших сайтов с изменяющимся содержимым.
Пример использования XML и XSL для публикации в Web
Ниже приведен пример простого XML-документа, содержащего информацию о книгах⁚
<?xml version="1.0" encoding="UTF-8"?> <books> <book> <title>JavaScript⁚ The Good Parts</title> <author>Douglas Crockford</author> <year>2008</year> </book> <book> <title>HTML and CSS⁚ Design and Build Websites</title> <author>Jon Duckett</author> <year>2011</year> </book> </books>
А вот пример XSL-документа, который преобразует XML-документ в HTML-таблицу⁚
<?xml version="1.0" encoding="UTF-8"?> <xsl⁚stylesheet version="1.0" xmlns⁚xsl="http⁚//www.w3.org/1999/XSL/Transform"> <xsl⁚template match="/"> <html> <body> <h1>Список книг</h1> <table border="1"> <tr> <th>Название</th> <th>Автор</th> <th>Год выпуска</th> </tr> <xsl⁚for-each select="books/book"> <tr> <td><xsl⁚value-of select="title"/></td> <td><xsl⁚value-of select="author"/></td> <td><xsl⁚value-of select="year"/></td> </tr> </xsl⁚for-each> </table> </body> </html> </xsl⁚template> </xsl⁚stylesheet>
Результатом применения XSL-документа к XML-документу будет таблица HTML с данными о книгах.
Использование XML и XSL для публикации в Web предоставляет мощные инструменты для структурирования, представления и обработки данных. Он позволяет разрабатывать гибкие и удобные системы публикации информации, которые могут быть легко изменены и расширены в будущем.
С развитием интернет-технологий вопрос представления одного и того же документа в различных формах и форматах становится все более актуальным. Если для традиционного веба достаточно написать один HTML-документ, который будет отображаться во всех основных браузерах, то для мобильного веба ситуация несколько сложнее.
Мобильные устройства становятся все более популярными с каждым днем, и число пользователей мобильных устройств стремительно растет. В странах, где количество мобильных устройств достигает 80% от 100% населения (Япония, Южная Корея, Тайвань, Гонконг и Индонезия), веб-мастера и веб-разработчики уже столкнулись с этой проблемой.
Использование мобильных устройств — это не дань моде или славе. Это в первую очередь дань удобству. В Европе и США пользователи ограничены только ценой и сложностью этих устройств, а также различиями в стандартах и методах представления информации. Именно благодаря этим проблемам мобильные устройства так популярны в Азии. Азиатский опыт уже начинает применяться в Европе и США. В результате азиатским веб-мастерам вскоре придется решать проблемы, с которыми азиатские веб-мастера уже сталкиваются.
В мобильном интернете пока нет единого стандарта отображения информации. Почти все производители мобильных устройств, от мобильных телефонов до КПК, поддерживают собственные стандарты отображения информации. WML (для WAP), MML (J-Phone), HDML (для EZweb), CHTML (для docomo) и простой HTML (для PDA). Большинство этих форматов взаимно несовместимы —- WAP-телефоны не могут отображать страницы, написанные в CHTML, а КПК iPAQ не могут отображать страницы, написанные в WML для WAP-телефонов. Существуют также некоторые незначительные различия между некоторыми родственными вариантами —MML и CHTML —. Преобразование одного формата в другой — очень трудоемкий процесс. Кроме того, количество комбинаций вариантов страниц, которые приходится писать вручную, астрономическое, учитывая, что мобильные устройства, использующие одну и ту же технологию презентации, могут иметь разные размеры экрана, глубину цвета и форматы файлов изображений. Еще большая проблема возникает, если необходимо поддерживать большое количество вариантов страниц. Изменение текстового содержимого требует изменения всех вариантов страницы, что может превратиться в кошмар.
Существует множество подходов к решению этой проблемы, одним из наиболее привлекательных является технология XML/XSL. Это заключается в отделении данных (содержания) от их визуального представления (формы и очертаний). XML/XSL
Приложения XML/XSL работают следующим образом
Чтобы преобразовать XML-документ с помощью XSL-таблиц, просто передайте два файла в качестве входных данных с помощью XSL-редактора, и на выходе получите результат.
Теперь рассмотрим подробнее весь процесс, который состоит из трех этапов.
1. сгенерируйте XML-код. Владелец контента создает и развертывает XML-файл. Им не нужно ничего знать о том, как редактировать или отображать содержимое. Так работает большинство современных издательских систем, но большинство инструментов веб-публикации работают иначе. Вместо этого владельцы контента и разработчики HTML часто работают друг с другом.
Как правило, эта часть круга выполняется с помощью традиционного текстового редактора, но существуют специализированные XML-процессоры, которые несколько облегчают работу. Некоторые SBD оснащают свои продукты возможностью генерировать XML непосредственно в соответствии с выбранными утверждениями. 2. создать таблицы XSL.
В этом заключается вся логика обработки и завершения XML-документов. Поскольку задача создания XSL-таблиц не является тривиальной, XSL-таблицы создаются Clutch Manager и редко изменяются после создания. 3. покрытие таблицы стилей XSL.
Документ, созданный в шаге 1, имеет дубликаты таблиц стилей XSL (шаг 2). Документ следует определенным правилам форматирования и поэтому подходит для заявителя-клиента. Возможные формы вывода включают HTML, PDF, WML и XML.
Химия XML/XSL
Химия на стороне клиента
Современные процессы — конверсионные процессы — клиенты могут выполнять. Современные браузеры понимают XML и стили и знают, как прикрепить стили к XML-документу и создать конечный документ. Первоначально это похоже на то, что происходит с HTML-файлом и прикрепленным к нему CSS-файлом. В настоящее время преобразование XML/XSL может быть выполнено в IE 5+, Netscape 6 и Mozilla.
Возможность конвертации клиентов очень привлекательна. Современные компьютеры достаточно мощные, чтобы выполнить этот проект. Это значительно снижает нагрузку на сервер, а таблица стилей загружается только один раз. Однако размещать XML-документы в Интернете пока преждевременно. &Quot;#8212; Есть HTML для веба, который нужно доставить пользователям. А как быть с браузерами, которые не понимают полный HTML и не могут создавать свои собственные XMLXSL-преобразования? Поэтому стилизация XML-документа создается на сервере.
Химия на стороне сервера
Это можно сделать вручную или автоматически двумя способами
Вы можете создать коллекцию XML-файлов и таблиц стилей, скомпилировать их вручную и разместить на сервере только получившиеся файлы. Однако это можно сделать автоматически. Для этого используются специальные системы, такие как Cocoon.
Система работает на веб-сервере и автоматически выполняет необходимые преобразования XML-документа, прежде чем предоставить его пользователю. Технически установка такой системы на веб-сервер ничем не отличается от установки процессора SSI или PHP3. Пользователь не отстраняется от пользователя, и, что самое главное, пользователю не нужен браузер, способный выполнять XSL-преобразования. Кроме того, если вы используете новейшие и самые быстрые XML парсеры и XSL конвертеры, вам достаточно установить их на — сервер и не беспокоиться, например, о том, обновил ли владелец IE5 предоставленный парсер до последней версии, соответствующей стандартам W3C.
Веб-сервер в этом варианте становится структурой для публикации. В отличие от обычных серверов, которые отвечают на запросы файлами, хранящимися на сервере, пост-интернет-сервер формирует параметры запроса, браузер посетителя, его предпочтения и/или его «опубликованную» версию файла. предпочтения. Например, если приложение создано Acrobat Reader, то опубликованная страница поступает к посетителю в формате PDF. WAP (Wireless Application Protocol) устройства принимают WML (Wireless Markup Language) страницы и обычные Web — HTML страницы, более продвинутые — XHTML страницы.
Для веб-браузеров вы также можете выбирать между различными вариантами или версиями программ. В зависимости от того, поступает ли запрос от Netscape Navigator 3/4.7/6.2 или от браузера Lynx, который может отображать только текст из Microsoft Internet Explorer, экспортируются разные документы. Посетитель сайта не видит оригинальную версию файла (сохраненную в XML), но в то же время не указано явно, что XML-файл необходимо преобразовать в какую-либо версию. Все это делается полностью автоматически.
Конечно, это увеличивает нагрузку на сервер, но есть и свои преимущества. Один и тот же XML-документ может легко обслуживаться очень сложными браузерами (т.е.), очень простыми версиями (Lynx, Netscape 3), или микробраузерами & #8212- встроенными в мобильные телефоны (WAP/ I-mode), или голосовыми для слепых. браузеры или даже такие экзотические варианты, как браузеры (код Брайля). Кроме того, с помощью специальных библиотек и небольших отсеков содержимое документа фактически отделяется от презентации, PDF или Excel, GIF/PNG/JPEG/SVG — фотографии. Что возвращает нас к рассматриваемому утверждению.
Теоретически это возможно, но мы не говорим о платформе для публикации содержимого браузера. Содержание мобильных телефонов и полноценных браузеров должно быть разным. Различия заключаются в количестве предоставляемой информации, порядке и логике изложения, компоновке и навигации. Авторы текстов для сайта должны всегда писать разнообразные тексты, предназначенные для традиционных листовок и их братьев и сестер. Если кто-то приходит к вам и говорит «купите наш продукт», вы можете написать текст один раз, и он автоматически превратится в браузер, который будет знать, что «они знают, что обманывают вас». Вы можете сохранить его в HTML и разместить в Интернете; пользователи IE и Netscape могут, сжав зубы, скачать и прочитать 200 страниц. Представьте, что вы читаете этот текст в браузере, окно которого размером со спичечный коробок.
Таким образом, наша цель — обеспечить единообразное содержание разных листов в — одной серии. Создайте сайт, который может предоставлять одинаковое содержание для всех подходящих браузеров (т.е. Netscape, Mozilla, Opera, Lynx и т.д.). телефоны, КПК, браузерные голосовые программы и т.д.). Кстати…
Помимо проблемы визуального представления информации, технология XML может быть использована для решения проблем обмена и хранения данных. XML можно использовать, например, для хранения информации о конфигурации. Это обеспечивается тем, что функции анализа XML (интерпретатор) встроены во многие средства разработки приложений. Самое главное, XML-документы можно редактировать с помощью стандартных текстовых процессоров. Это означает, что данные, хранящиеся в одном XML-документе, могут быть переданы из одной программы в другую, но при этом оставаться читаемыми.