Кіріспе

Компьютерлік технологияда екі негізгі стильдік тіл бар: Каскадтық стильдік кестелер (CSS) және кеңейтілетін стильдік тіл (XSL). Екеуі де стильдік тілдер деп аталғанымен, олардың мақсаттары мен жұмыс істеу әдістері мүлдем әртүрлі.

Каскадты стиль парақтары

CSS — HTML және XML (соның ішінде XHTML және SVG) құжаттарында құрылымдалған құжаттарды стильдеуге арналған. Ол осы мақсатта жасалған. CSS коды — стильдеуге арналған құжат элементтерінің стильдік ақпаратын анықтау үшін XML емес синтаксис. Құжатты құрылымдау тілі (белгілеу тілі) CSS үшін негізгі шарт. HTML және XUL сияқты белгілеу тілі құжатты стильдеу үшін қарапайым элементтерді, мысалы, `<emphasis>`-ты қалың етіп көрсетуге мүмкіндік береді. CSS құжатты "экрандық ортаға" немесе "беттік ортаға" сәйкес стильдейді. Экрандық орта — гиперсілтемелермен бірге бір бетке орналастырылған, көлденең ені белгілі, ал тік биіктігі шексіз орта. Экрандық ортаның бөліктерін қарау үшін көбінесе прокрутка қолданылады. Бұл "беттік ортадан" өзгеше, онда әрқайсысы белгілі көлденең және тік өлшемдері бар бірнеше беттер болады. Беттік ортаны стильдеу экрандық ортаға тән емес әр түрлі қиындықтарды қамтиды. CSS бастапқыда экрандық орта үшін жасалғандықтан, беттік форматтау мүмкіндіктері жетілмеген. CSS 3.0 нұсқасы CSS-ке беттік көрсету үшін құжаттарды тиімді стильдеуге мүмкіндік беретін жаңа мүмкіндіктерді ұсынады.

Кеңейтілетін стильдер парағы тілі

XSL бастапқы жобалаудан бері түпкі мақсатынан мүлдем өзгеше нәрсеге айналды. XSL-дің бастапқы идеясы – парақталған дисплейлік медиаға бағытталған, XML-ге негізделген стильдеу тілін жасау болатын. Бұл міндетті орындау үшін олар процесті екі бөлек қадамға бөлді. Біріншіден, XML құжаты аралық формаға түрлендіріледі. Бұл түрлендіру процесі XSL спецификациясында анықталған XSL стильдік парағымен басқарылады. Бұл түрлендірудің нәтижесі XSL FO деп аталатын аралық тілдегі XML құжаты болады (бұл XSL спецификациясында да анықталған). Дегенмен, түрлендіру қадамын жобалау кезінде жалпы XML түрлендіру тілі тек XML құжатының көрінісін жасаудан гөрі көптеген мақсаттарда пайдалы болатыны анықталды. Осылайша, XSL жұмыс тобынан жаңа жұмыс тобы бөлінді және XSL Transformations (XSLT) тілі XSL FO құжатының стильдік ақпаратынан бөлек деп есептелді. Тіпті бұл бөліну XPath жеке спецификацияға айналғанда кеңейтілді, бірақ ол әлі де XSLT-ге тығыз байланысты. XSLT және XSL FO біріктірілгенде CSS-тен әлдеқайда күрделі болса да, қуатты стильдеу тілін құрайды. XSLT – Тьюринг толық тілі, ал CSS – емес; бұл CSS-те кездеспейтін күш пен икемділіктің деңгейін көрсетеді. Сонымен қатар, XSLT мазмұн жасай алады, мысалы, кітаптағы тараулар негізінде автоматты түрде мазмұндама жасауға, немесе мазмұнды жою/таңдауға, мысалы, кітаптан сөздік жасауға болады. XSLT 1.0 нұсқасы EXSLT кеңейтулерімен немесе XSLT 2.0 нұсқасы бірнеше құжатты да жасауға қабілетті, мысалы, кітаптағы тарауларды жеке беттерге бөлуге болады. Ал CSS тек мазмұнды көрсетпеу арқылы оны жоюға мүмкіндік береді. XSL FO CSS-тен өзгешелігі – XSL FO құжаты дербес болып табылады. CSS оған қоса берілген құжатты өзгертеді, ал XSL FO құжаты (әдетте бастапқы құжатты XSLT арқылы түрлендіру нәтижесі) таза көрініс форматында ұсынылатын барлық мазмұнды қамтиды. Ол парақталған форматтау және жоғары сапалы жинақтау бойынша кең ауқымды мүмкіндіктерге ие. Бірақ ол парақтардың өзін нақты анықтамайды. XSL FO құжаты соңғы парақталған медианы жасау үшін XSL FO процессорлық құралы арқылы өтуі керек, дәл сияқты HTML+CSS веб-браузер арқылы форматталған күйде көрсетілуі тиіс. XSL FO-ның күрделілігі – мәселе, себебі FO процессорларын жүзеге асыру өте қиын. Веб-браузерлердегі CSS жүзеге асырулары әлі де толық үйлесімді емес, және CSS процессорын FO процессорынан жазу әлдеқайда оңай. Дегенмен, бай мазмұнды парақталған медиа үшін әртүрлі жинақтау мәселелерін шешу үшін осындай күрделілік қажет.