XSL formatlash ob'ektlari - XSL Formatting Objects

XSL formatlash ob'ektlari
Fayl nomi kengaytmasi
.xml, .fo
Internet-media turiilova / xml,
matn / xml (eskirgan)
Bir xil turdagi identifikator (UTI)public.xml
Tomonidan ishlab chiqilganButunjahon Internet tarmog'idagi konsortsium (W3C)
Oxirgi nashr
1.1
(2006 yil 5-dekabr); 13 yil oldin (2006-12-05))
Format turiBelgilash tili
TarkibidaXML
Ochiq format ?Ha
Veb-saytwww.w3.org/ TR/ xsl11/

XSL-FO (XSL formatlash ob'ektlari) a belgilash tili uchun XML ko'pincha yaratish uchun ishlatiladigan hujjat formatlash PDF fayllar. XSL-FO qismidir XSL (Kengaytiriladigan uslublar jadvali tili), to'plami W3C XML ma'lumotlarini o'zgartirish va formatlash uchun mo'ljallangan texnologiyalar. XSL ning boshqa qismlari XSLT va XPath. XSL-FO ning 1.1-versiyasi 2006 yilda nashr etilgan.

XSL-FO ko'rib chiqiladi xususiyati to'liq W3C tomonidan:[1] Ishchi loyiha uchun so'nggi yangilanish 2012 yil yanvar oyida bo'lib, uning Ishchi guruhi 2013 yil noyabr oyida yopilgan.[2]

Asoslari

Ning kombinatsiyasidan farqli o'laroq HTML va CSS, XSL-FO birlashtirilgan taqdimot tili. Unda semantik belgi yo'q, chunki bu atama HTML tilida ishlatiladi. Va tashqi XML yoki HTML hujjatning standart taqdimotini o'zgartiradigan CSS-dan farqli o'laroq, u hujjatning barcha ma'lumotlarini o'zida saqlaydi.

XSL-FO-dan foydalanishning asosiy g'oyasi shundaki, foydalanuvchi hujjatni FO-da emas, balki XML tilida yozadi. XHTML, DocBook va TEI barcha mumkin bo'lgan misollar. Keyin foydalanuvchi an XSLT o'zlarini yozish orqali yoki ushbu hujjat turi uchun birini topish orqali o'zgartirish. Ushbu XSLT konvertatsiyasi XMLni XSL-FO ga o'zgartiradi.

XSL-FO hujjati yaratilgandan so'ng, u FO protsessori deb nomlangan dasturga uzatiladi. FO protsessorlari XSL-FO hujjatini o'qilishi mumkin bo'lgan, bosib chiqariladigan yoki ikkalasiga aylantiradi. XSL-FO ning eng keng tarqalgan chiqishi a PDF fayl yoki kabi PostScript, lekin ba'zi bir FO protsessorlari boshqa formatlarga chiqishi mumkin RTF fayllar yoki hatto foydalanuvchi GUI-dagi sahifalar ketma-ketligi va ularning tarkibini aks ettiradigan oyna.

XSLT tilining o'zi dastlab faqat shu maqsadda o'ylab topilgan; u endi umumiy XML formatida o'zgartirishlar uchun keng qo'llanilmoqda. Ushbu o'zgartirish bosqichi XSL-FOda shunchaki qabul qilinganki, odamlar XMLni XSL-FO ga aylantiradigan XSLTni haqiqiy XSL-FO hujjatining o'zi deb atashlari odatiy hol emas. XSL-FO bo'yicha qo'llanmalar ham FO ishlov berish ko'rsatmalarining atrofida XSLT buyruqlari bilan yoziladi.

XSLT o'zgartirish bosqichi juda kuchli. Bu tarkibni, bog'langan ma'lumotnomalarni, indeksni va boshqa turli xil imkoniyatlarni avtomatik ravishda yaratishga imkon beradi.

XSL-FO hujjati PDF yoki PostScript hujjatiga o'xshamaydi. Bu turli xil sahifalardagi matnning joylashishini aniq ta'riflamaydi. Buning o'rniga, sahifalar qanday ko'rinishini va turli xil narsalar qaerga ketishini tasvirlaydi. U erdan FO protsessori matnni FO hujjati bilan tavsiflangan chegaralar ichida qanday joylashtirishni belgilaydi. XSL-FO spetsifikatsiyasi hatto turli xil FO protsessorlariga, natijada yaratilgan sahifalarga nisbatan har xil javob berishga imkon beradi.

Masalan, ba'zi FO protsessorlari chiziqni kesishda bo'sh joyni kamaytirish uchun so'zlarni tire bilan yozishlari mumkin, boshqalari esa yo'q. Turli xil protsessorlar hattoki oldingi va keyingi qatorlarning ham tirelanganligini hisobga oladigan juda oddiydan murakkabroq tire algoritmlariga qadar turli xil defis algoritmlaridan foydalanishlari mumkin. Ular o'zgaradi, ba'zi chegaraviy holatlarda, turli xil sahifalarning joylashuvi sezilarli darajada o'zgaradi. XSL-FO spetsifikatsiyasi FO protsessorlariga maketga nisbatan ma'lum darajada tanlov qilishga imkon beradigan boshqa holatlar mavjud.

FO protsessorlari o'rtasidagi farq, protsessorlar o'rtasida bir-biriga mos kelmaydigan natijalarni yaratish ko'pincha tashvishlanmaydi. Buning sababi, XSL-FO-ning asosiy maqsadi sahifali, bosma ommaviy axborot vositalarini yaratishdir. XSL-FO hujjatlarining o'zi odatda vositachilar sifatida, asosan ularni yaratish uchun ishlatiladi PDF tarqatiladigan yakuniy shakl sifatida fayllar yoki bosma hujjat. Bu HTML qanday yaratilishi va to'g'ridan-to'g'ri foydalanuvchiga yakuniy shakl sifatida tarqatilishidan farq qiladi. Formatlash tili kiritishidan ko'ra (PDF / CSS yoki XSL-FO) yakuniy PDF-ni tarqatish, bir tomondan, qabul qiluvchilarga formatlash tili tarjimonlari o'rtasidagi farqlar natijasida kelib chiqadigan oldindan aytib bo'lmaydigan ta'sir ko'rsatmasligini anglatadi, boshqa tomondan hujjat turli xil qabul qiluvchilar ehtiyojlariga osonlikcha moslasha olmaydi, masalan har xil sahifa hajmi yoki afzal qilingan shrift hajmi yoki ekrandagi qog'ozga qarshi audio taqdimotga moslashtirish.

Til tushunchalari

XSL-FO tili sahifalangan ommaviy axborot vositalari uchun mo'ljallangan; Shunday qilib, sahifalar tushunchasi XSL-FO tuzilishining ajralmas qismidir.

"Kontentga asoslangan" dizayn deb atash mumkin bo'lgan FO eng yaxshi ishlaydi. Bu kitoblar, maqolalar, yuridik hujjatlar va boshqalarni joylashtirishning standart usuli. Bu sahifaning chetiga turli xil takrorlanadigan ma'lumotlar joylashtirilgan, bir-biriga juda yaqin matnning bitta oqim oralig'ini o'z ichiga oladi. Bu gazeta yoki jurnallarda ishlatiladigan "maketga asoslangan" dizayndan farqli o'laroq. Agar ushbu hujjatlardagi tarkib kerakli maydonga to'g'ri kelmasa, ularning bir qismi mos kelguniga qadar qisqartiriladi. XSL-FO jurnallar maketining qat'iy cheklovlarini osonlikcha bajara olmaydi; haqiqatan ham, ko'p holatlarda, ushbu tartibning ba'zi shakllarini ifodalash qobiliyatiga ega emas.

Til dizaynining asosiy xususiyatiga qaramay, u juda ko'p ekspresivlikka qodir. Jadvallar, ro'yxatlar, yon tomonlar va boshqa turli xil xususiyatlar mavjud. Ushbu funktsiyalarni CSS-ning joylashuv xususiyatlari bilan taqqoslash mumkin, ammo ba'zi funktsiyalar XSLT tomonidan yaratilishi kutilmoqda.

Hujjat tarkibi

XSL-FO hujjatlari - bu XML hujjatlari, ammo ular hech biriga mos kelishi shart emas DTD yoki sxema. Buning o'rniga, ular ichida belgilangan sintaksisga mos keladi XSL-FO spetsifikatsiyasi.

XSL-FO hujjatlari ikkita zarur bo'limni o'z ichiga oladi. Birinchi bo'limda nomlangan sahifalar maketlari ro'yxati batafsil bayon etilgan. Ikkinchi bo'lim - tarkibidagi ma'lumotlar turli xil sahifalarni qanday to'ldirishini aniqlash uchun har xil sahifa sxemalarini ishlatadigan, belgilanishi bilan hujjat ma'lumotlari ro'yxati.

Sahifa maketlari sahifaning xususiyatlarini belgilaydi. Ular ko'rib chiqilayotgan til uchun konvensiyalarga mos keladigan tarzda matn oqimining yo'nalishlarini belgilashlari mumkin. Ular sahifaning o'lchamlarini, shuningdek, ushbu sahifaning chekkalarini belgilaydilar. Eng muhimi, ular toq va juft sahifalar turlicha ko'rinadigan effektlarni yaratishga imkon beradigan sahifalar ketma-ketligini belgilashi mumkin. Masalan, bosib chiqarish uchun ichki chekkalarga qo'shimcha joy ajratadigan sahifa tartibini belgilash mumkin; bu kitobni bog'laydigan chekkaga ko'proq joy ajratish imkonini beradi.

Hujjatning ma'lumotlar qismi oqimlarning ketma-ketligiga bo'linadi, bu erda har bir oqim sahifa tartibiga biriktiriladi. Oqimlar bloklar ro'yxatini o'z ichiga oladi, ular o'z navbatida har birida matnli ma'lumotlar ro'yxati, satrlarni belgilash elementlari yoki ikkalasining kombinatsiyasini o'z ichiga oladi. Tarkib, shuningdek, sahifa raqamlari, bob sarlavhalari va shunga o'xshash narsalar uchun hujjat chetiga qo'shilishi mumkin.

Bloklar va ichki elementlar CSS bilan bir xil ishlaydi, ammo to'ldirish va chekka uchun ba'zi qoidalar FO va CSS o'rtasida farq qiladi. Bloklar va qatorlarning harakatlanishi uchun sahifa yo'nalishiga nisbatan yo'nalish to'liq belgilanishi mumkin, shu bilan FO hujjatlari ingliz tilidan farqli o'qiladigan tillar ostida ishlashga imkon beradi. FO spetsifikatsiyasi tili, CSS 2.1-dan farqli o'laroq, ushbu yo'nalishlarni tavsiflashda chapga va o'ngga emas, balki boshlanish va tugatish kabi yo'nalishga asoslangan neytral atamalardan foydalanadi.

XSL-FO ning asosiy tarkibi CSS va uning kaskad qoidalaridan kelib chiqqan. Shunday qilib, XSL-FO-dagi ko'plab atributlar aniq belgilanmagan bo'lsa, asosiy elementlarga tarqaladi.

XSL-FO v1.0 imkoniyatlari

XSL-FO juda ko'p matnli joylashuv funktsiyalariga qodir. Yuqorida ko'rsatilgan ma'lumotlarga qo'shimcha ravishda XSL-FO tili quyidagilarni ko'rsatishga imkon beradi.

Bir nechta ustunlar

Sahifada bir nechta ustunlar bo'lishi mumkin. Bunday holatda bloklar sukut bo'yicha bir ustundan ikkinchisiga oqadi. Shaxsiy bloklar barcha ustunlar oralig'ida o'rnatilishi mumkin, bu sahifada matnli tanaffus hosil qiladi. Ushbu tanaffus ustidagi ustunlar, tanaffus ostidagi ustunlar kabi, bir-biriga oqadi. Ammo yuqoridagi bo'limdan quyi qismga hech qanday matn oqishiga yo'l qo'yilmaydi.

XSL-FO sahifasining spetsifikatsiyasi xususiyati sababli, bir nechta sahifalar ustunlarning kengligi va kengligi har xil bo'lishi mumkin. Shunday qilib, matn 3 ustunli sahifadan 5 ustunli sahifaga va 1 ustunli sahifaga osonlikcha oqishi mumkin.

Barcha FO xususiyatlari ko'p ustunli sahifaning cheklovlari doirasida ishlaydi.

Ikkita atributni ko'rsatib, bir nechta ustunlarni yoyishimiz mumkin, ya'ni. oraliq, to'ldirishdan keyin.

Ro'yxatlar

XSL-FO ro'yxati, asosan, yonma-yon joylashtirilgan ikkita blok to'plamidir. Kirish "chapda" blokdan yoki chiziq yo'nalishi bo'yicha boshlanishdan va "o'ng tomonda" yoki ketma-ket yo'nalish bo'yicha blok ketma-ketligidan iborat. Chapdagi blok kontseptual ravishda ro'yxatdagi raqam yoki o'q qanday bo'lishi kerak. Ammo, bu xuddi osonlikcha matn qatori bo'lishi mumkin, chunki uni lug'at yozuvida ko'rish mumkin. O'ng tarafdagi blok kutilganidek ishlaydi. Ushbu ikkala blok ham blok konteynerlari bo'lishi mumkin yoki bitta ro'yxat yozuvida bir nechta bloklarga ega bo'lishi mumkin.

XSL-FO ro'yxatlarini raqamlash paytida ularni raqamlash XSLT tomonidan yoki XSL-FO hujjatini yaratgan boshqa har qanday jarayon tomonidan amalga oshirilishi kutilmoqda. Shunday qilib, raqamlar ro'yxati XSL-FO-da aniq raqamlangan bo'lishi kerak.

Paginatsiyani boshqarish

Foydalanuvchi ko'rsatishi mumkin Beva va Etim bloklar uchun yoki oqimning o'zi uchun va atributlarning bolalar bloklariga aylanishiga imkon bering. Bundan tashqari, bloklarni bitta sahifada birga saqlash uchun belgilash mumkin. Masalan, rasm bloki va ushbu tasvirning tavsifi hech qachon ajratilmasligi uchun o'rnatilishi mumkin. FO protsessori, agar bu sahifada juda ko'p bo'sh joy yaratishni talab qilsa ham, ushbu buyruqlarga rioya qilish uchun qo'lidan kelganicha harakat qiladi.

Izohlar

Foydalanuvchi sahifaning pastki qismida ko'rinadigan izohlarni yaratishi mumkin. Izoh FO hujjatida, matnning muntazam oqimida havola qilingan joyda yoziladi. Malumot kerak emas bo'lsa ham, inline ta'rifi sifatida ifodalanadi. Kuzov - bu FO protsessori tomonidan sahifaning pastki qismiga joylashtirilgan bir yoki bir nechta blok. FO protsessori, ma'lumotnoma qaerda bo'lmasin, ushbu havolada keltirilgan izoh xuddi shu sahifada boshlanishiga kafolat beradi. Bu sahifada qo'shimcha bo'sh joy yaratishni anglatsa ham shunday bo'ladi.

Jadvallar

FO jadvali xuddi HTML / CSS jadvali kabi ishlaydi. Foydalanuvchi har bir alohida katak uchun ma'lumotlar qatorlarini belgilaydi. Foydalanuvchi, shuningdek, har bir ustun uchun ba'zi bir uslub ma'lumotlarini, masalan, fon rangini belgilashi mumkin. Bundan tashqari, foydalanuvchi birinchi qatorni jadvalning sarlavhasi qatori sifatida, o'ziga xos uslub ma'lumotlari bilan belgilashi mumkin.

FO protsessoriga har bir ustunga qancha joy ajratish kerakligini aniq aytish mumkin yoki matnni jadvalga avtomatik moslashtirishni aytish mumkin.

Matn yo'nalishini boshqarish

FO matn bloklarini yo'naltirish bo'yicha keng ko'lamli boshqaruvga ega. Biror kishi, sahifaning o'rtasida, boshqa yo'nalishda yo'naltirilgan matn blokini belgilashi mumkin. Ushbu yo'naltirilgan bloklardan hujjatlar uchun boshqa yo'nalishdagi tillar uchun yoki oddiygina matnni maketga yo'naltirish kerak bo'lsa foydalanish mumkin. Ushbu bloklar deyarli har qanday tarkibni o'z ichiga olishi mumkin, jadvallardan ro'yxatlarga yoki hatto boshqa yo'naltirilgan matnning boshqa bloklariga.

Turli xil

  • Sahifa raqamiga havolalar. Matnda maxsus yorliqni o'z ichiga olgan sahifani ko'rsatish mumkin va FO protsessori ushbu yorliq paydo bo'lgan haqiqiy sahifa raqamini to'ldiradi.
  • Chegaralarni bir qator uslublarda bloklash.
  • Fon ranglari va rasmlari.
  • Shriftni boshqarish va CSS-da bo'lgani kabi vaznni o'lchash.
  • Yon suzadi.
  • Turli qatorli elementlar.

XSL-FO v1.1 imkoniyatlari

XSL-FO ning 1.1 versiyasi 1.0 versiyasiga bir qator yangi xususiyatlarni qo'shadi.

Bir nechta oqim va xaritalarni xaritalash

XSL-FO 1.0 sahifaning qaysi sohalarida qaysi matnga ruxsat berilganligi haqida juda cheklovli edi. 1.1-versiya ushbu cheklovlarni sezilarli darajada yumshatadi, shu bilan oqimli matnni sahifadagi bir nechta aniq mintaqalarga xaritalashga imkon beradi. Bu ko'proq gazetalarga o'xshash matn terish imkonini beradi.

Xatcho'plar

XSL-FO protsessorlari uchun ko'plab chiqish formatlari, xususan PDF, xatcho'plash xususiyatlariga ega. Ular formatga foydalanuvchi tomonidan tanlanishi mumkin bo'lgan alohida oynada matn satrini belgilashga imkon beradi. Tanlanganida, hujjat oynasi darhol hujjatning ma'lum bir mintaqasiga o'tadi.

XSL-FO v1.1 endi XSL-FO-da nomlangan xatcho'plarni yaratish imkoniyatini beradi va shu bilan protsessor buni qo'llab-quvvatlaydigan chiqish formatiga o'tkazishga imkon beradi.

Indekslash

XSL-FO 1.1 kitobning orqa qismida joylashgan indeksni yaratishni qo'llab-quvvatlovchi xususiyatlarga ega. Bu FO hujjatidagi to'g'ri belgilangan elementlarga havola orqali amalga oshiriladi.

Oxirgi sahifaga havola

Oxirgi sahifani FO hujjatidagi ma'lum bir langarga aniq hujjat havolasi bermasdan yaratish mumkin. "Oxirgi sahifa" ta'rifi ma'lum bir sahifalar to'plamida yoki butun hujjatni qamrab olishi bilan cheklanishi mumkin. Bu foydalanuvchiga "15-sahifadan 2-bet" kabi narsani belgilashga imkon beradi, bu erda 15-sahifa oxirgi sahifa ta'rifining sahifa raqami.

Jadval markerlari

Jadval markerlari foydalanuvchiga jadvalning sarlavhalari va altbilgilarida dinamik tarkibni yaratishga imkon beradi, masalan jadvalning har bir sahifasining pastki qismida jami ishlash yoki "jadval davomi" ko'rsatkichlari.

Ichkarida / tashqarida suzadi

XSL-FO 1.1 yon suzgichlar uchun "ichkarida" va "tashqarida" kalit so'zlarni qo'shadi, bu esa sahifalarning tashqi yoki ichki qirralarida marginaliya bilan sahifa joylashishiga erishishga imkon beradi. Ichkarida sahifaning kitobni majburiy tomoniga, tashqi tomonida esa kitobning majburiy bo'lmagan tomoniga ishora qilinadi.

Nozik grafik o'lchamlari

XSL-FO 1.1 grafika sig'adigan o'lchamlarini moslashtirish uchun (lekin sig'adigan darajada o'smaydi), shuningdek, aniq o'lchov bosqichlarini belgilash qobiliyatiga ega. Bundan tashqari, natijada ko'lam koeffitsienti ko'rsatilishi mumkin (masalan, rasm sarlavhasida "ko'rsatilgan rasm 50% haqiqiy hajmda").

Afzalliklari

  • XML tili - Bu XML tili bo'lgani uchun har qanday XML tilidan XSL-FO kodini yaratish uchun faqat XSLT konvertatsiyasi (va XSLT protsessori) talab qilinadi. Hujjatni osongina yozish mumkin TEI yoki DocBook va uni veb-ko'rish uchun HTML-ga yoki chop etish uchun PDF-ga (FO protsessori orqali) o'zgartiring. Darhaqiqat, ushbu ikkala maqsad uchun oldindan mavjud bo'lgan ko'plab TEI va DocBook XSLTlar mavjud.
  • Foydalanish qulayligi - XSL-FO ning yana bir afzalligi - bu foydalanishning nisbatan qulayligi. Tilning ko'pgina funktsiyalari CSS-ning ishiga asoslangan, shuning uchun CSS foydalanuvchisi belgilash atributlari asoslari bilan tanishib chiqadi. FO hujjatining ma'lum bir qismi qanday ko'rinishini tushunish odatda juda oson.
  • Arzon - Tijorat matn terish va sahifalarni joylashtirish mahsulotlari bilan taqqoslaganda, XSL-FO, aks holda tipografik va joylashuv talablariga javob berganda ancha past narx echimini taklif qilishi mumkin (quyida ko'rib chiqing). Mulkning boshlang'ich qiymati past (agar bepul dasturlar bo'lsa, nolga teng) Apache FOP va xmlroff, sizning talablaringizga javob bering), ayniqsa tijorat kompozitsiyasi vositalarining narxiga nisbatan. Kerakli ko'nikmalar (birinchi navbatda XSLT dasturlash) keng tarqalgan. XSL-FO bo'yicha bir qator yaxshi kitoblar, shuningdek onlayn manbalar va faol foydalanuvchilar hamjamiyati mavjud.
  • Ko'p tilli - XSL-FO insonning barcha yozma tillari uchun ishlashga mo'ljallangan va dasturlar asosan ushbu maqsadga erishdi. Bu XSL-FO-ni juda ko'p milliy tillarda lokalizatsiya qilingan hujjatlarni tuzish uchun juda moslashtiradi, bu erda hujjatlarning barcha til versiyalarini tuzadigan bitta vositalar to'plami bo'lishi kerak. Bu, ayniqsa, Osiyo va O'rta Sharq tillari muhim bo'lgan maishiy elektronika kabi texnik hujjatlar uchun juda muhimdir, chunki dunyoning bu qismlari mobil telefonlar va kompyuter tashqi qurilmalari kabi ulkan bozorlarni namoyish etadi.
  • Etuk standart - XSL-FO 1.1 nashr etilishi bilan XSL-FO bir qator qat'iy tijorat va notijorat dasturlari bilan etuk standart ekanligini isbotlamoqda. Sahifa tarkibi uchun boshqa taqqoslanadigan standart yo'q.

Kamchiliklari

  • Cheklangan imkoniyatlar - XSL-FO texnik qo'llanmalar, ishbilarmonlik hujjatlari, hisob-fakturalar va boshqalar bilan tipiklashtirilgan "engil dizaynlashtirilgan" hujjatlar talablariga javob beradigan tarzda ishlab chiqilgan. U yanada murakkab dizaynlar uchun ishlatilishi mumkin va ishlatilishi mumkin bo'lsa-da, u maket va tipografik nuqtai nazardan nima qilishi mumkinligi bilan cheklangan. Xususan, XSL-FO formatlash effektlarini olishning to'g'ridan-to'g'ri yo'lini ta'minlamaydi, bu ikki formatlash ob'ektining sahifa pozitsiyasi munosabatlarini bilishga bog'liq. Masalan, "agar bu narsa shu narsa bilan bitta sahifada bo'lsa, u holda X ni bajaring, aks holda Y ni bajaring" deyishning to'g'ridan-to'g'ri usuli yo'q. Bu XSL-FO tomonidan ishlatiladigan ikki bosqichli, transformatsiyaga asoslangan mavhum ishlov berish modelini aks ettiradigan aniq dizayn qarori. Ushbu cheklovni ko'p o'tish jarayonini amalga oshirish orqali hal qilish mumkin. Afsuski, hozirgi vaqtda birinchi o'tish natijasi ikkinchi pasga qanday etkazilishini standarti yo'q. Ko'pgina dasturlar, agar barchasi hammasi bo'lmasa ham, buning uchun ishlatilishi mumkin bo'lgan ba'zi bir qayta ishlanadigan oraliq natija formatini taqdim etadi, ammo bugungi kunda amalga oshirilayotgan har qanday bunday jarayon, zarurat tug'ilganda, amalga oshirishga xosdir.
  • Xuddi shu asosda, muhim narsalar mavjud maket shunchaki XSL-FO-da bo'lmagan xususiyatlar, chunki ular etarlicha ustuvor bo'lmaganligi sababli yoki ularni loyihalashtirish 1.1-versiyaga kiritilishiga yo'l qo'ymaslik uchun juda qiyin bo'lganligi yoki ularni W3C qoidalari bo'yicha yakuniy spetsifikatsiyaga kiritishga ruxsat berish uchun etarli bo'lmaganligi sababli .
  • Ushbu me'moriy cheklovlarga qo'shimcha ravishda, hozirgi XSL-FO dasturlari, ham tijorat, ham ochiq manba, bir xil darajada ta'minlanmaydi. tipografik nafosat kabi yuqori darajadagi tartib vositalari bilan ta'minlangan QuarkXPress yoki InDesign yoki shunga o'xshash dasturlashtiriladigan matn terish tizimlari bo'yicha LaTeX. Masalan, joriy dasturlarning hech biri qarama-qarshi sahifalardagi matn satrlarini vertikal ravishda tizilishini ta'minlash uchun xususiyatlarni ta'minlamaydi. XSL-FO spetsifikatsiyasida bunga to'sqinlik qiladigan hech narsa yo'q, lekin uni talab qiladigan narsa yo'q. To'liq avtomatlashtirilgan kompozitsion echim etarli bo'lgan ko'pgina hujjatlar uchun tipografik nafosat darajasi talab qilinmaydi. Biroq, yuqori darajadagi nashrlar va ommaviy bozor kitoblari uchun bu odatda; ba'zi hollarda buni X hosil qilish uchun XSLT yordamida amalga oshirish mumkin LaTeX o'rniga hujjat.
  • Kengaytma qaramligi - XSL-FO ning ma'lum bir hujjat yoki hujjat dizayni uchun qo'llanilishini ko'rib chiqayotganda, turli xil XSL-FO dasturlari tomonidan taqdim etilgan mulkiy kengaytmalarni ko'rib chiqish kerak. Ushbu kengaytmalar yadro spetsifikatsiyasiga kirmaydigan xususiyatlarni qo'shadi. Masalan, bitta mahsulot Yaponiyaning XSL-FO spetsifikatsiyasiga murojaat qilmagan tipografik konventsiyalarni qo'llab-quvvatlaydi. Biroq, ushbu xususiyatlardan foydalanish bunday XSL-FO tizimini ma'lum bir dastur bilan biroz ko'proq bog'laydi (lekin umuman mulkiy kompozitsiya tizimidan foydalanishda bo'lgani kabi to'liq bog'lanmagan).
  • Amaliy bo'lmagan qo'lda tahrirlash - XSL-FO nusxalarini qo'lda tahrirlash umuman maqsadga muvofiq emas (XSL-FO tahrirlash qulayligi uchun emas, balki aniqlik va to'liqlik uchun yaratilgan). XFDesigner kabi vizual tahrirlash vositalari vazifani engillashtirishi mumkin, ammo barcha XSL-FO teglariga kirish imkoniyati mavjud emas (ayniqsa markerlar va izohlar). XF Designer endi Ecrion Software tomonidan qo'llab-quvvatlanadigan mahsulot emas.

XSL-FO ushbu hujjat uchun ishlashini yoki ishlamasligini hal qilishga urinayotganda, quyidagi tipografik va joylashuv talablari odatda XSL-FO ishlamasligini ko'rsatadi (garchi ularning ba'zilari mulkiy kengaytmalar bilan qondirilishi mumkin bo'lsa):

  • Har bir yangi sahifada izoh raqamlarini yoki belgi ketma-ketligini qayta boshlash kerak (ammo ba'zi ilovalar izohlarni avtomatik raqamlashni qo'llab-quvvatlash uchun kengaytmalarni taqdim etadi.)
  • Matnni suzuvchi ob'ektning ikkala tomoni atrofida ishlash kerak (XSL-FO matnni bir tomoni va yuqori va / yoki pastki atrofida harakatlantirishi mumkin, lekin ikkala tomon ham emas; ammo ba'zi ilovalar xususiy kengaytmalar orqali bunday murakkab sxemalarni qo'llab-quvvatlaydi.)
  • Bitta sahifada o'zgaruvchan sonli ustunlar bo'lishi kerak (ammo kamida ikkita tijorat dasturlari sahifada ko'p ustunli bloklarni yaratish uchun kengaytmalarni taqdim etadi.)
  • Ustun bo'ylab izohlar bo'lishi kerak (bir nechta dastur ustun izoh kengaytmalarini taqdim etadi).
  • Boshqa marginaliyalarga nisbatan dinamik ravishda joylashtirilgan marginaliya bo'lishi kerak (masalan, sahifada vertikal ravishda bir tekis joylashtirilgan marginal yozuvlar). XSL-FO marginaliyani vertikal ravishda o'z langariga to'g'ri kelishi uchun joylashtirish funktsiyalarini taqdim etadi.
  • Ikki sahifada float yoki "line out" ob'ekti sifatida tarqaladigan tarkib yaratish kerak, aks holda bir hil sahifa ustalarini takrorlash ketma-ketligida (bu XSL-FO 1.1 da bir nechta tanadagi mintaqalar va oqim xaritalari yordamida amalga oshirilishi mumkin, ammo buning uchun ushbu sahifalar uchun ishlatilgan sahifa ustalarini boshqarishga qodir.)
  • Xuddi shu sahifada pastki suzuvchi tarkib va ​​izohlar kerak.
  • Matnni o'zboshimchalik bilan egri chiziqqa qarshi ishlashga qodir bo'lishi kerak (garchi ba'zi dasturlarni qo'llab-quvvatlasa ham SVG, ushbu cheklovdan o'tish uchun foydalanish mumkin).
  • Muayyan boshlang'ich tarmoqlarga chiziqlarni cheklash imkoniyatiga ega bo'lish kerak (masalan, qarama-qarshi sahifalarda chiziqlarni aniq ro'yxatdan o'tkazishga erishish uchun).
  • Sahifani biladigan tartibni talab qiladigan har qanday narsa, masalan, sahifada har doim raqamni uning bog'lash joyiga qarab turishini ta'minlash.

O'zgartirish

XML va HTML standartlari, bilan CSS standart, chunki CSS2 (sahifalangan ommaviy axborot vositalari modul) bosilgan ommaviy axborot vositalariga asosiy xususiyatlarni etkazib berishni boshlaydi. Bilan CSS-sahifali media moduli 3-daraja, W3C hujjatlarni formatlash va PDF-fayllarni yaratish bo'yicha yaxlit standartni ishlab chiqishni yakunlamoqda. Shunday qilib, 2013 yildan beri,[2] CSS3-paged - bu XSL-FO almashtirish uchun W3C taklifi.

Kabi dasturiy mahsulotlar Shahzoda va Antenna uylarini formatlashtiruvchi PDF ishlab chiqarishda XSL-FO (lekin CSS dan foydalangan holda) solishtirish mumkin bo'lgan sifatini namoyish etdi.

XSL formatlash ob'ektlarining 2.0 versiyasi uchun dizayn yozuvlari birinchi marta 2009 yilda nashr etilgan va oxirgi marta 2012 yilda yangilangan.[3]

Shuningdek qarang

  • XHTML
  • Apache FOP - XSL-FO-ning ochiq manbali va bepul foydalanishi
  • Altsoft Xml2PDF - XSL formatlashtiruvchisi
  • XEP - tijorat va mulkiy ko'rsatuvchi vosita
  • Antenna uylarini formatlashtiruvchi - XSL-FO va CSS formatlash dasturlari - Tijorat va mulkiy ko'rsatuvchi vosita
  • XFDesigner - Visual XSL-FO muharriri va shablonlar dizayneri. XF Designer endi Ecrion Software Inc tomonidan qo'llab-quvvatlanadigan mahsulot emas.

Adabiyotlar

  1. ^ "XSL-FO ning hozirgi holati - W3C". www.w3.org. Olingan 2016-08-05.
  2. ^ a b Kvin, Liam (2013 yil 2-noyabr). "Re: [xsl] xsl 2.0?". XSL-List - XSL-da ochiq forum (Pochta ro'yxati). Tashqi havola pochta ro'yxati = (Yordam bering)
  3. ^ "XSL-FO 2.0 dizayn eslatmalari nashr etildi - W3C". www.w3.org. Olingan 2018-11-09.

Tashqi havolalar