Списание за дизайн, визуална култура и Новата медия.
С развитието на Internet технологиите все по-актуален става проблемът с представянето на един и същи документ в различни форми и формати. Ако в обикновения уеб е достатъчно да се напише само един HTML документ, който ще се показва напълно приемливо от водещите браузъри, то ситуацията в мобилния уеб е малко по-сложна.
Популярността на мобилните устройства расте с всеки изминал ден, броят потребители на мобилни устройства се увеличава стремително. В страните, в които броят на потребителите на мобилни устройства достига 80% от населението (Япония, Южна Корея, Тайван, Хонконг, Индонезия), уеб мастърите и уеб разработчиците вече се сблъскаха с този проблем.
Използването на мобилни устройства не е заради модата или престижа, а преди всичко заради удобството. В Европа и Америка потребителите все още са възпирани от цената и сложността при работа с подобни устройства, а също - разнообразието от стандарти и методи за представяне на информация. Именно заради разрешаването ан тези проблеми популярността на мобилните устройства е толкова висока в Азия. Опитът на Азия вече започва да се прилага в Европа и Америка. Следователно скоро и там на уеб мастърите ще се наложи да решават проблемът, който вече стои пред уеб мастърите в Азия.
В мобилния уеб все още няма единен стандарт за представяне на информацията. Практически всеки производител на мобилно устройство, започвайки от мобилен телефон и стигайки до palm-top компютрите, поддържа някакъв свой собствен стандарт за представяне на информацията, например WML (за WAP), MML (J-Phone), HDML (за EZweb), CHTML (за DoCoMo), опростен HTML (за PDA). Почти всички от тези стандарти са несъвместими един с друг - WAP телефон не може да покаже страница, написана на CHTML, а PDA iPAQ не може да покаже страница, написана на WML за WAP телефони. А някои родствени варианти - MML и CHTML - имат неголеми специфични разлики.
Преобразуването на един формат в друг е доста трудоемък процес. А ако се вземе предвид и това, че мобилните устройства използващи една и съща технология за представяне на информацията, освен това могат да се различават по размерите на екраните си, дълбочината на цветовете и формата на графичните файлове, то броя на комбинациите от различни варианти страници, които ще ви се наложи да пишете на ръка ще достигне астрономически величини. Още по-големи трудности възникват при поддръжката на цялата тази камара различни страници. За да промените съдържанието на текста, ще ви се наложи да променяте ВСИЧКИ варианти на страницата, което може да се превърне в кошмар.
Има множество подходи към решаването на този проблем, но един от най-привлекателните е XML/XSL технологията. Тя се състои в това, че данните (съдържанието) се отделят от тяхното визуално представяне (форма и формат).
Схемата на работа на XML/XSL приложение може да изглежда така:
Всичко това работи достатъчно просто: за да се преобразува XML документ чрез XSL стиолове е необходимо да се вземе XSL процесор, към входа му да се подадат два файла и на изхода ще се получи резултат.
Нека сега разгледаме по-подробно целият процес, състоящ се от три стъпки:
Създаване на XML кода. Собственикът на информацията създава разработва XML файлове. Не е нужно да знае как се обработва и представя това съдържание. Именно така се отнасят със съдържанието повечето съвременни издателски системи, но същевременно повечето средства за публикация в Мрежата не работят по този начин. Вместо това собствениците на съдържанието и HTML кодерите често си вършат взаимно работата.
Като правило, тази част от цикъла се изпълнява с помощта на обикновени текстови редактори, но съществуват и специализирани редактори на XML код, в известна степен опростяващи работата.
Създаване на XSL таблици.
Цялата логика на обработка и извеждане на XML документа се съдържа тук. Задачата по създаването на XSL таблицата не е тривиална и затова XSL таблиците се създават от администратор-програмист и веднъж създадени се променят рядко.
Прилагане на XSL стиловете.
След това върху документа, генериран в стъпка 1, се налагат XSL стиловете (стъпка 2). Така се прилагат конкретните правила за форматиране, като в резултат се получава документ, съответстващ на желанията на клиента. Възможните изходни формати включват HTML, PDF, WML и XML.
Последният процес - процесът на преобразуване - може да се изпълнява от страна на клиента: най-новите браузъри разбират XML и стиловете към него, могат да обединяват стиловете с XML документите и да форматират окончателния документ. Принципът на работа е подобен на това, което се случва с HTML файла, когато към него се свърже CSS файл. В настоящия момент XML/XSL преобразувания могат да изпълняват IE5+, Netscape 6, Mozilla.
Вариантът, при който преобразуването става от страна на клиента, е доста привлекателен. Съвременните компютри са достатъчно мощни, за да се справят с такава задача. При това съществено се намалява натоварването на сървъра, а и стиловете се зареждат само веднъж. От друга страна още е рано да се публикуват XML документи в Интернет "просто така" - за уеб си има HTML и значи това трябва да се дава на потребителя. И освен това - какво да правим в случаите, когато потребителите използват браузъри, които не разбират пълноценно HTML и не могат сами да изпълняват XML/XSL преобразувания? В такива случаи прилагането на стилове към XML документа става направо на сървъра.
Това може да стане по два начина: или на ръка, или автоматично.
Можете да съберете колекция от XML файлове и стилове и на ръка да го компилирате, а на сървъра да качите само получените в резултат файлове. Но това може да се направи и автоматично. За това се използва специална система, пример за каквато е Cocoon.
Системата се занимава с това, че работейки на уеб сървъра, тя прави автоматично необходимото преобразуване на XML документа още преди да го "даде" на потребителя. Технически инсталирането на такава система на сървъра не се отличава от инсталацията на SSI или PHP3. При това не се използват ресурси на потребителя и - което е най-важно - не се изисква браузър, който може да изпълнява XSL преобразувания. Освен това, ако ни се прииска да се възползваме от най-новия и най-бърз XML парсер и XSL преобразувател - достатъчно е да го инсталираме на сървъра, без да се притеснявам от това, например, дали собственикът на IE5 е обновил своя парсер, който върви в комплект с браузъра, с най-новата версия, която съответства на W3C стандартите.
При този вариант уеб сървърът се превръща в система за публикуване (Publishing Framework). За разлика от обикновените сървъри, които в отговор на поискване връщат файл, съхраняван на сървъра, този уеб сървър връща "публикувана" версия на файла, която съответсва на браузъра на потребителя, неговите настройки и/или предпочитания. Например, ако поискването е направено от програмата Acrobat Reader, то публикуваната страница ще дойде при посетителя във формат PDF. WAP устройствата ще получат WML страница, обикновеният уеб браузър - HTML страница, по-новият браузър - XHTML страница.
В случая с уеб браузъра можем даже да се съобразяваме с различните варианти и даже версии на програмата и да връщаме различен документ в зависимост от това, дали поискването е от браузъра Lynx (чисто текстов бразуър), от Netscape Navigator 3/4.7/6.2 или от Microsoft Internet Explorer. Посетителят на сайта не вижда изходната версия на файла (съхранявана в XML вид). Тя и не му е нужна. Но в същото време той не указва явно, че XML файлът трябва да се преобразува в някаква друга версия. Всичко това става напълно автоматично.
Разбира се заради това натоварването на сървъра се увеличава, но си има и преимущества. Един и същи XML документ с лекота може да бъде подаден както на супернов браузър (IE), така и на най-простия (Lynx, Netscape 3) или техните микросъбратя - браузърите вградени в мобилните телефони (WAP/i-mode), или в такива екзотични варианти като гласовите браузъри или браузърите за слепи (с брайлов код). Освен това с използването на особени библиотеки и неголеми разхищения може реално да се отдели съдържанието на документа от неговото представяне и да се генерира PDF или Excel файл, gif/png/jpeg/svg - картинки.
Аз не говоря за платформа за публикуване на всякакви видове съдържание за всички браузъри, макар на теория и това да е възможно. Съдържанието за мобилните телефони и пълноценните браузъри трябва да бъде различно. Разликите се състоят в обема на подаваната информация, в последователността и логиката на нейното представяне, в оформлението и навигацията. На създателите на текстове за сайта винаги ще се налага да пишат различни текстове, предназначени за обикновените браузъри и за техните окастрени събратя. Ако някой дойде при вас и ви каже, че "купувайки нашия продукт, ще можете да напишете текста веднъж и той автоматично ще бъде предоставен на всеки известен браузър", знайте че просто ви мамят. Мога да вкарам текста на "Божествена комедия" от Данте в HTML файл, да го кача на сайта и потребителите на IE и Netscape, макар и скърцайки със зъби, ще могат да заредят и прочетат 200 страници текст. А сега си представете как ще изглежда този текст в браузър, чийто прозорец е с размер на кибритена кутия.
Ето защо нашата цел е да подадем еднотипно съдържание за разнотипни браузъри. Или създаваме сайт, който може да дава едно и също съдържание на пълноценните браузъри (IE, Netscape, Mozilla, Opera, Lynx и др.), или сайт, който дава едно и също съдържание за всички "окастрени" браузъри (различни мобилни телефони, PDA, гласови браузиръ и др.).
Осен задачите за визуалното представяне на информацията, XML технологията може с успех да се използва в решението на задача свързани с обмен и съхраняване на данни. XML може да бъде използван, например, за съхраняване на информация за конфигурации. Това се е така, защото функциите на парсер (интерпретатор) XML са вградени в много средства за разработване на приложения. А най-главното е това, че един XML документ може да бъде обработван с помощта и на най-обикновен текстов редактор, т.е. данните съдържащи се в XML документа могат да се предават от програма на програма, запазвайки напълно разбираемия си вид (Human Readable).
Статия в категория Код
Ключови думи: xml, xsl, html, css, cocoon, apache, content management, structure, стандарти
Източник: Использование XML/XSL для публикации в Web
Webmascon, http://www.webmascon.com
Все още не можете да намерите онова, което търсите? Защо не пробвате с това малко поленце отдолу (подсказки: въвеждайте повече думи; пишете на кирилица; използвайте по-конкретни понятия.)