Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
XSL FO (XSL Formatting Objects) – PDF файлдарын жасау үшін ең көп қолданылатын XML құжаттарын форматтауға арналған таңбалау тілі. XSL FO – XML деректерін түрлендіру және форматтауға арналған W3C технологиялары жиынтығының бір бөлігі, XSL (Extensible Stylesheet Language) құрамына кіреді. XSL-дің басқа да бөліктері – XSLT және XPath. XSL FO-ның 1.1 нұсқасы 2006 жылы жарияланды. W3C XSL FO-ны толыққанды деп санайды: жұмыс үлгісіне соңғы жаңарту 2012 жылдың қаңтарында жасалды, ал жұмыс тобы 2013 жылдың қарашасында таратылды.
XSL FO (XSL Formatting Objects) is a markup language for XML document formatting that is most often used to generate PDF files. XSL FO is part of XSL (Extensible Stylesheet Language), a set of W3C technologies designed for the transformation and formatting of XML data. The other parts of XSL are XSLT and XPath. Version 1.1 of XSL FO was published in 2006. XSL FO is considered feature complete by W3C: the last update for the Working Draft was in January 2012, and its Working Group closed in November 2013.
Негізгі білім
HTML және CSS-тің комбинациясынан өзгеше, XSL FO – бірыңғай форматтау тілі. Бұл термин HTML-де қолданылатын семантикалық белгілеуге ие емес. CSS сыртқы XML немесе HTML құжатының бастапқы форматтауын өзгертетін болса, XSL FO құжаттың барлық деректерін өзінде сақтайды. XSL FO-ны қолданудың басты идеясы – пайдаланушы құжатты FO емес, XML тілінде жазады. XHTML, DocBook және TEI – осыған мысалдар келтіруге болады. Содан кейін пайдаланушы XSLT түрлендіргішін алады, оны өзі жазады немесе сұранысқа сай құжат түрі үшін табады. Бұл XSLT түрлендіргіш XML-ді XSL FO форматына ауыстырады. XSL FO құжаты жасалғаннан кейін, ол FO процессор деп аталатын бағдарламаға жіберіледі. FO процессорлары XSL FO құжатын оқуға, басып шығаруға немесе осы екеуіне де жарамды форматқа түрлендіреді. XSL FO-ның ең көп таралған нәтижесі – PDF файлы немесе PostScript, бірақ кейбір FO процессорлары RTF файлдары сияқты басқа форматтарға немесе тіпті пайдаланушы интерфейсінде беттердің тізбегі мен олардың мазмұнын көрсететін терезеге шығара алады. XSLT тілі бастапқыда осы мақсат үшін ғана ойластырылған, бірақ қазір XML түрлендірулері үшін кеңінен қолданылады. XSL FO-да осы түрлендіру қадамы соншалықты қалыпты саналады, кейде адамдар XML-ді XSL FO-ға айналдыратын XSLT-ді нақты XSL FO құжаты деп атайды. Тіпті XSL FO бойынша оқулықтар да FO өңдеу нұсқауларымен бірге XSLT командаларын қолданады. XSLT түрлендіру кезеңі өте қуатты. Ол мазмұн көрсеткішін, сілтемелерді, кіріспелерді және басқа да мүмкіндіктерді автоматты түрде жасауға мүмкіндік береді. XSL FO құжаты PDF немесе PostScript құжаты сияқты емес. Ол мәтіннің әртүрлі беттердегі орналасуын нақты сипаттамайды. Оның орнына, ол беттердің қалай көрінетінін және мазмұнның қайда орналасатынын сипаттайды. Содан кейін FO процессорлары мәтінді FO құжатында сипатталған шекаралар ішінде қалай орналастыруды анықтайды. XSL FO спецификациясы әртүрлі FO процессорларына нәтижедегі беттерге қатысты әртүрлі жауап беруге мүмкіндік береді. Мысалы, кейбір FO процессорлары жолдың ұзындығын қысқарту үшін сөздерді бөліп жаза алады, ал басқалары бұлай жасамайды. Әртүрлі процессорлар тіпті әртүрлі сөздерді бөлу алгоритмдерін қолдануы мүмкін, қарапайым алгоритмдерден бастап, алдыңғы немесе келесі жолда да сөздер бөлінгенін ескеретін күрделі алгоритмдерге дейін. Бұл кейбір жағдайларда әртүрлі беттердің орналасуын айтарлықтай өзгерте алады. XSL FO спецификациясы FO процессорларына орналасуға қатысты белгілі бір дәрежеде таңдау жасауға рұқсат беретін басқа да жағдайлар бар. FO процессорлары арасындағы осы айырмашылық, процессорлар арасында сәйкес келмейтін нәтижелерге әкелуі мүмкін, бірақ бұл көбінесе алаңдату тудырмайды. Себебі XSL FO-ның басты мақсаты – беттелген, басып шығарылатын материалдарды жасау. XSL FO құжаттары көбінесе аралық құрал ретінде қолданылады, әдетте PDF файлдарын немесе таратылатын түпкілікті басылым құжатын жасау үшін. Бұл HTML-дің пайда болуымен және пайдаланушыға тікелей соңғы түрінде таратылуынан өзгеше. Форматтау тілінің кіріс (HTML/CSS немесе XSL FO) орнына түпкілікті PDF-ті тарату, бір жағынан, алушыларға форматтау тілінің интерпретаторлары арасындағы айырмашылықтардан туындайтын болжау мүмкін еместіктен зардап шекпеуін қамтамасыз етеді, ал екінші жағынан, құжатты алушының қажеттіліктеріне оңай бейімдеуге болмайды, мысалы, әртүрлі бет өлшемдеріне немесе таңдалған қаріп өлшеміне, немесе экранға, қағазға немесе дыбысқа арналған форматқа сәйкес етуге.
Unlike the combination of HTML and CSS, XSL FO is a unified presentational language. It has no semantic markup as this term is used in HTML. And, unlike CSS which modifies the default presentation of an external XML or HTML document, it stores all of the document's data within itself. The general idea behind XSL FO's use is that the user writes a document, not in FO, but in an XML language. XHTML, DocBook, and TEI are all possible examples. Then, the user obtains an XSLT transform, either by writing one themselves or by finding one for the document type in question. This XSLT transform converts the XML into XSL FO. Once the XSL FO document is generated, it is then passed to an application called an FO processor. FO processors convert the XSL FO document into something that is readable, printable or both. The most common output of XSL FO is a PDF file or as PostScript, but some FO processors can output to other formats like RTF files or even just a window in the user's GUI displaying the sequence of pages and their contents. The XSLT language itself was originally conceived only for this purpose; it is now in widespread use for more general XML transformations. This transformation step is taken so much for granted in XSL FO that it is not uncommon for people to call the XSLT that turns XML into XSL FO the actual XSL FO document itself. Even tutorials on XSL FO tend to be written with XSLT commands around the FO processing instructions. The XSLT transformation step is exceptionally powerful. It allows for the automatic generation of a table of contents, linked references, an index, and various other possibilities. An XSL FO document is not like a PDF or a PostScript document. It does not definitively describe the layout of the text on various pages. Instead, it describes what the pages look like and where the various contents go. From there, an FO processor determines how to position the text within the boundaries described by the FO document. The XSL FO specification even allows different FO processors to have varying responses with regard to the resultant generated pages. For example, some FO processors can hyphenate words to minimize space when breaking a line, while others choose not to. Different processors may even use different hyphenation algorithms, ranging from very simple to more complex hyphenation algorithms that take into account whether the previous or next line also is hyphenated. These will change, in some borderline cases quite substantially, the layout of the various pages. There are other cases where the XSL FO specification explicitly allows FO processors some degree of choice with regard to layout. This differentiation between FO processors, creating inconsistent results between processors is often not a concern. This is because the general purpose behind XSL FO is to generate paged, printed media. XSL FO documents themselves are usually used as intermediaries, mostly to generate either PDF files or a printed document as the final form to be distributed. This is as opposed to how HTML is generated and distributed as a final form directly to the user. Distributing the final PDF rather than the formatting language input (whether HTML/CSS or XSL FO) means on the one hand that recipients aren't affected by the unpredictability resulting from differences among formatting language interpreters, while on the other hand means that the document cannot easily adapt to different recipient needs, such as different page size or preferred font size, or tailoring for on screen versus on paper versus audio presentation.
Тілдік ұғымдар
XSL FO тілі беттік медиа үшін жасалған; осылайша, беттер ұғымы XSL FO құрылымының ажырамас бөлігі болып табылады. FO «мазмұнға бағытталған» дизайн үшін ең жақсы жұмыс істейді. Бұл кітаптар, мақалалар, құқықтық құжаттар және т.б. үшін стандартты макет әдісі. Ол бір беттің жиектеріне енгізілген әртүрлі қайталамалы ақпаратпен біріктірілген, үзіліссіз мәтін ағынынан тұрады. Бұл газеттер мен журналдарда қолданылатын «макетқа бағытталған» дизайннан өзгеше. Егер аталған құжаттардағы мазмұн қажетті кеңістікке сыймаса, онда сыйымдылыққа дейін оның бір бөлігі қысқартылады. XSL FO журнал макеттерінің қатаң шектеулерін оңай басқара алмайды; шындығында, көп жағдайларда ол мұндай макеттердің кейбір түрлерін бейнелеу мүмкіндігінен құралмайды. Тілдің қарапайым дизайнына қарамастан, ол өте кең мүмкіндіктерге ие. Кестелер, тізімдер, қапталдағы элементтер және басқа да көптеген мүмкіндіктер қолжетімді. Бұл мүмкіндіктер CSS макеттерімен салыстыруға болады, бірақ олардың кейбіреулері XSLT арқылы құрастырылуы тиіс.
The XSL FO language was designed for paged media; as such, the concept of pages is an integral part of XSL FO's structure. FO works best for what could be called "content driven" design. This is the standard method of layout for books, articles, legal documents, and so forth. It involves a single flowing span of fairly contiguous text, with various repeating information built into the margins of a page. This is as opposed to "layout driven" design, which is used in newspapers or magazines. If content in those documents does not fit in the required space, some of it is trimmed away until it does fit. XSL FO does not easily handle the tight restrictions of magazine layout; indeed, in many cases, it lacks the ability to express some forms of said layout. Despite the basic nature of the language's design, it is capable of a great deal of expressiveness. Tables, lists, side floats, and a variety of other features are available. These features are comparable to CSS's layout features, though some of those features are expected to be built by the XSLT.
Құжаттың құрылымы
XSL FO құжаттары XML құжаттары болып табылады, бірақ олар кез келген DTD немесе схемаға сәйкес болуы міндетті емес. Керісінше, олар XSL FO спецификациясында анықталған синтаксиске сәйкес келеді. XSL FO құжаттарында екі қажетті бөлім бар. Бірінші бөлімде атаулы беттік макеттердің тізімі егжей-тегжейлі сипатталады. Екінші бөлім – әртүрлі беттік макеттерді пайдаланып, құжат деректерінің мазмұны әртүрлі беттерді қалай толтыруды анықтайтын, белгілермен бірге құжат деректерінің тізімі. Беттік макеттер беттің қасиеттерін анықтайды. Олар мәтін ағынының бағытын белгілей алады, осылайша тілдің конвенцияларына сәйкес келеді. Олар беттің мөлшерін, сондай-ақ оның жиектерін анықтайды. Ең маңыздысы, олар жұп және тақ беттер әртүрлі көрінетін эффекттерді жасауға мүмкіндік беретін беттер тізбегін анықтай алады. Мысалы, кітапты тіркеу үшін жиекке көбірек орын беруге мүмкіндік беретін, баспаға арналған ішкі жиектерге қосымша кеңістік беретін беттік макет тізбегін анықтауға болады. Құжат деректері бөлігі ағындар тізбегіне бөлінеді, әрбір ағын беттік макетке тіркеледі. Ағындарда мәтіндік деректердің, жолға орналасқан белгілер элементтерінің немесе олардың комбинациясы бар блоктардың тізімі болады. Бет нөмірлері, тарау тақырыптары сияқты мазмұнды құжаттың жиектеріне қосуға болады. Блоктар мен жолға орналасқан элементтер CSS-тегідей жұмыс істейді, бірақ FO мен CSS арасында толтыру мен жиектерге қатысты кейбір ережелер өзгеше. Блоктар мен жолға орналасқан элементтердің беттік бағытқа қатысты бағытын толыққанды анықтауға болады, осылайша FO құжаттары ағылшын тілінен өзге тілдерде де жұмыс істей алады. FO спецификациясының тілі, CSS 2.1 тілінен айырмашылығы, осы бағыттарды сипаттағанда сол және оң сияқты бағытты бейтарап емес терминдерді пайдаланудың орнына бастау және соң сияқты бағытты бейтарап терминдерді қолданады. XSL FO негізгі мазмұн белгілері CSS-тен және оның каскадтық ережелерінен алынған. Сондықтан, XSL FO-дағы көптеген атрибуттар, егер олар нақты түрде жаңартылмаса, бағынышты элементтерге таралады.
XSL FO documents are XML documents, but they do not have to conform to any DTD or schema. Instead, they conform to a syntax defined in the XSL FO specification. XSL FO documents contain two required sections. The first section details a list of named page layouts. The second section is a list of document data, with markup, that uses the various page layouts to determine how the content fills the various pages. Page layouts define the properties of the page. They can define the directions for the flow of text, so as to match the conventions for the language in question. They define the size of a page as well as the margins of that page. More importantly, they can define sequences of pages that allow for effects where the odd and even pages look different. For example, one can define a page layout sequence that gives extra space to the inner margins for printing purposes; this allows more space to be given to the margin where the book will be bound. The document data portion is broken up into a sequence of flows, where each flow is attached to a page layout. The flows contain a list of blocks which, in turn, each contain a list of text data, inline markup elements, or a combination of the two. Content may also be added to the margins of the document, for page numbers, chapter headings and the like. Blocks and inline elements function in much the same way as for CSS, though some of the rules for padding and margins differ between FO and CSS. The direction, relative to the page orientation, for the progression of blocks and inlines can be fully specified, thus allowing FO documents to function under languages that are read different from English. The language of the FO specification, unlike that of CSS 2.1, uses direction neutral terms like start and end rather than left and right when describing these directions. XSL FO's basic content markup is derived from CSS and its cascading rules. As such, many attributes in XSL FO propagate into the child elements unless explicitly overridden.
XSL-FO v1.0 мүмкіндіктері
XSL FO мәтіндік ресімдеудің кең мүмкіндіктерін ұсынады. Жоғарыда айтылғаннан басқа, XSL FO тілі келесілерді белгілеуге рұқсат береді.
XSL FO is capable of a great deal of textual layout functionality. In addition to the information as specified above, XSL FO's language allows for the specification of the following.
Бірнеше баған
Бір беттің бірнеше бағаны болуы мүмкін. Мұндай жағдайда, блоктар әдепкі бойынша бір бағаннан келесі бағанға ағылады. Жеке блоктарды барлық бағандарды қамтуға орнатуға болады, бұл бетте мәтіндік үзіліс жасайды. Бұл үзілістің жоғарысындағы бағандар бір-бірімен бірігіп ағылады, ал үзілістің төменіндегі бағандар да солай. Бірақ жоғарыдағы бөлімнен төменгі бөлімге мәтін ағуына рұқсат етілмейді. XSL FO бет спецификациясының ерекшелігіне байланысты, бірнеше бетте бағандардың саны мен ені әртүрлі болуы мүмкін. Сондықтан мәтін 3 бағандық беттен 5 бағандық, содан кейін 1 бағандық бетке оңай ағып өтуі мүмкін. Барлық FO мүмкіндіктері көп бағанды беттің шектеулерінде жұмыс істейді. Біз екі атрибутты, яғни span және padding-after арқылы бірнеше бағанды қамтуға боламыз.
A page can be defined to have multiple columns. When this is the case, blocks flow from one column into the next by default. Individual blocks can be set to span all columns, creating a textual break in the page. The columns above this break will flow into each other, as will the columns below the break. But no text is allowed to flow from the above section to the below section. Because of the nature of XSL FO's page specification, multiple pages may actually have different numbers and widths of columns. As such, text can flow from a 3 column page to a 5 column page to a 1 column page quite easily. All FO features work within the restrictions of a multi column page. We can span multiple columns by specifying two attributes i. e.,. span, padding after .
Тізімдер
XSL FO тізімі, негізінен, қатар қойылған екі блоктан тұрады. Кіріс – "сол жақтағы", яғни бастапқы қатар бағытындағы блоктан, және "оң жақтағы", яғни соңғы қатар бағытындағы блок тізбегінен құралады. Сол жақтағы блок түсіндірілуінше, тізімдегі сан немесе белгіше болады. Дегенмен, ол сөздікте кездесетіндей, мәтін жолынан да тұруы мүмкін. Оң жақтағы блок күтілгендей жұмыс істейді. Бұл екі блок та блок контейнерлері болуы мүмкін, немесе бір тізімде бірнеше блоктан тұруы мүмкін. XSL FO тізімдерін нөмірлеу, егер нөмірленген болса, XSL FO құжатын жасаған XSLT немесе басқа да процесс арқылы жүзеге асырылуы керек. Сондықтан, XSL FO-да нөмірленген тізімдер нақты түрде нөмірленуі тиіс.
An XSL FO list is, essentially, two sets of blocks stacked side by side. An entry consists of a block on the "left", or start inline direction, and a block sequence on the "right", or end inline direction. The block on the left is conceptually what would be the number or bullet in a list. However, it could just as easily be a string of text, as one might see in a glossary entry. The block on the right works as expected. Both of these blocks can be block containers, or have multiple blocks in a single list entry. Numbering of XSL FO lists, when they are numbered, is expected to be done by the XSLT, or whatever other process, that generated the XSL FO document. As such, number lists are to be explicitly numbered in XSL FO.
Беттеуді басқару
Пайдаланушы блоктар үшін немесе ағынның өзі үшін "жесір" және "жетім" опцияларын қоса алады, сондай-ақ атрибуттардың бағынышты блоктарға таралуына мүмкіндік береді. Бұдан өзге, блоктарды бір бетте бірге ұстауға болады. Мысалы, кескін блогы мен оның сипаттамасы ешқашан бөлінбеуі мүмкін. FO процессоры осы талаптарды орындауға бар күшін салады, тіпті бұл үшін бетте көп бос орын қалдыру қажет болса да.
The user can specify Widow and Orphan for blocks or for the flow itself, and allow the attributes to cascade into child blocks. Additionally, blocks can be specified to be kept together on a single page. For example, an image block and the description of that image can be set to never be separated. The FO processor will do its best to adhere to these commands, even if it requires creating a great deal of empty space on a page.
Түсініктемелер
Пайдаланушы беттің төменгі жағында пайда болатын түсіндірмелерді (footnote) құра алады. Түсіндірме FO құжатында, оған сілтеме жасалған жерде, қалыпты мәтін ағынында жазылады. Сілтеме желілік анықтама түрінде көрсетілуі мүмкін, бірақ бұл міндетті емес. Түсіндірменің мәтіні – FO процессорымен беттің төменгі бөлігіне орналастырылатын бір немесе бірнеше блоктан тұрады. FO процессоры сілтеме қай жерде болса да, сол сілтеме арқылы шақырылған түсіндірме сол беттен басталатынын кепілдік береді. Бұл үшін қажет болса, бетке қосымша бос орын да жасалуы мүмкін.
The user can create footnotes that appear at the bottom of a page. The footnote is written, in the FO document, in the regular flow of text at the point where it is referenced. The reference is represented as an inline definition, though it is not required. The body is one or more blocks that are placed by the FO processor to the bottom of the page. The FO processor guarantees that wherever the reference is, the footnote cited by that reference will begin on the same page. This will be so even if it means creating extra empty space on a page.
Кестелер
FO кестесі HTML/CSS кестесі сияқты жұмыс істейді. Пайдаланушы әрбір жеке ұяшық үшін деректер қатарын көрсетеді. Пайдаланушы сондай-ақ әр баған үшін стильдік ақпаратты, мысалы, фон түсін анықтай алады. Бұдан өзге, пайдаланушы бірінші қатарды кесте тақырыбы ретінде, оған арнайы стильдік форматтауды қолданып белгілей алады. FO процессорына әр бағанға қанша кеңістік беру керектігін нақты көрсетуге болады, немесе кестедегі мәтінді автоматты түрде сыйдыруға рұқсат етуге болады.
An FO table functions much like an HTML/CSS table. The user specifies rows of data for each individual cell. The user can, also, specify some styling information for each column, such as background color. Additionally, the user can specify the first row as a table header row, with its own separate styling information. The FO processor can be told exactly how much space to give each column, or it can be told to auto fit the text in the table.
Мәтін бағдарлауды басқару
FO мәтін блоктарын бағдарлау үшін кең мүмкіндіктерге ие. Бір беттің ортасында мәтін блогын басқа бағытта орналастыруға болады. Мұндай бағытталған блоктар құжаттағы басқа мәтіннен өзгеше бағытта жазылған тілдер үшін немесе жай ғана макеттік талаптарға сәйкес мәтінді бағыттау үшін қолданылады. Бұл блоктарға кестелерден, тізімдерден бастап, тіпті басқа бағытталған мәтін блоктарына дейін кез келген мазмұн енгізілуі мүмкін.
FO has extensive controls for orienting blocks of text. One can, in the middle of a page, designate a block of text to be oriented in a different orientation. These oriented blocks can be used for languages in a different orientation from the rest of the document, or simply if one needs to orient the text for layout purposes. These blocks can contain virtually any kind of content, from tables to lists or even other blocks of reoriented text.
Әр түрлі
Бет нөміріне сілтемелер. Арнайы белгісі бар бет мәтінде көрсетілуі мүмкін, ал FO процессоры осы белгі пайда болған нақты бет нөмірін автоматты түрде қояды. Блок шекаралары, түрлі стильдерде. Фондық түстер мен суреттер. CSS-тегідей қаріптерді басқару және қалыңдық. Ептің жанында орналасқан элементтер. Әртүрлі кірістірілген элементтер.
Page number citations. A page that contains a special tag can be cited in text, and the FO processor will fill in the actual page number where this tag appears. Block borders, in a number of styles. Background colors and images. Font controls and weighting, as in CSS. Side floats. Miscellaneous Inline Elements.
XSL-FO v1.1 мүмкіндіктері
XSL FO 1.1 нұсқасы 1.0 нұсқасына көптеген жаңа мүмкіндіктерді қосады.
Version 1.1 of XSL FO adds a number of new features to version 1.0.
Көптік ағымдар және ағымды карталау
XSL FO 1.0 бір беттің қай аймақтарына қандай мәтін орналастырылуына қатысты тым қатаң шектеулер қойды. 1.1 нұсқасы бұл шектеулерді едәуір жеңілдетеді, нәтижесінде ағын мәтінді бір беттің бірнеше нақты аймақтарына орналастыруға болады. Бұл газеттерге ұқсас мәтін жинауға мүмкіндік береді.
XSL FO 1.0 was fairly restrictive about what text was allowed to go in what areas of a page. Version 1.1 loosens these restrictions significantly, allowing flowing text to be mapped into multiple explicit regions on a page. This allows for more newspaper like typesetting.
Бетбелгілер
XSL FO процессорлары үшін көптеген шығыс форматтары, әсіресе PDF, кітапшалар мүмкіндігіне ие. Бұл мүмкіндік форматқа пайдаланушы таңдауына болатын жеке терезеде мәтіндік жол көрсетуге мүмкіндік береді. Таңдалғанда, құжат терезесі дереу құжаттың белгілі бір бөліміне жылжиды. XSL FO v1.1 енді XSL FO ішінде аталатын кітапшаларды жасау мүмкіндігін ұсынады, осылайша процессор оны қолдайтын шығыс форматына жіберуге болады.
Many output formats for XSL FO processors, specifically PDF, have bookmarking features. These allow the format to specify a string of text in a separate window that can be selected by the user. When selected, the document window scrolls immediately to a specific region of the document. XSL FO v1.1 now provides the ability to create named bookmarks in XSL FO, thus allowing the processor to pass this on to an output format that supports it.
Индекстеу
XSL FO 1.1 кітаптың соңында болатын анықтамалық тізімді жасауға мүмкіндік беретін мүмкіндіктерге ие. Бұл FO құжатында дұрыс белгіленген элементтерге сілтеме беру арқылы іске асырылады.
XSL FO 1.1 has features that support the generation of an index that might be found at the back of a book. This is done through referencing of properly marked up elements in the FO document.
Соңғы беттің сілтемесі
Соңғы бетті құжат ішінде нақты тірекке тікелей сілтеме бермей-ақ жасауға болады. "Соңғы бет" анықтамасы белгілі бір беттер топтамасымен немесе бүкіл құжатпен шектелуі мүмкін. Бұл пайдаланушыға, мысалы, "15 беттің 2-сі" деп көрсетуге мүмкіндік береді, онда 15-ші бет – соңғы бет анықтамасының нөмірі болып табылады.
The last page can be generated without providing an explicit in document reference to a specific anchor in the FO document. The definition of "last page" can be restricted to within a specific set of pages or to cover the entire document. This allows the user to specify something like, "Page 2 out of 15", where page 15 is the page number of a last page definition.
Кестелік белгілер
Кесте белгілері пайдаланушыға кесте тақырыптары мен қорытындыларында динамикалық мазмұн жасауға мүмкіндік береді, мысалы, кестедегі әрбір беттің төменгі жағында жиынды қосындыларды көрсету немесе "кесте жалғасып келеді" деген белгілерді орнату.
Table markers allow the user to create dynamic content within table headers and footers, such as running totals at the bottom of each page of a table or "table continued" indicators.
Ішкі/сыртқы жүзу
XSL FO 1.1 жаңғыртылған "ішкі" және "сыртқы" кілт сөздерін қосады, осы арқылы беттердің сыртқы немесе ішкі жиектерінде орналасқан маргиналиялармен беттерді құру мүмкін болады. "Ішкі" дегеніміз – кітаптың мұқабасына қараған бет жағы, ал "сыртқы" – кітаптың мұқабасынан алыс жатқан бет жағы.
XSL FO 1.1 adds the keywords "inside" and "outside" for side floats, which makes it possible to achieve page layouts with marginalia positioned on the outside or inside edges of pages. Inside refers to the side of the page towards the book binding, and outside refers to the side of a page away from the book binding.
Графикалық өлшемін өзгерту
XSL FO 1.1 графиктің көлемін реттеу функционалдығын жетілдіреді, оның ішінде кішірейте беруге (бірақ үлкейте беруге емес) және нақты масштабтау сатыларын анықтау мүмкіндігі бар. Бұдан өзге, алынған масштабтау коэффициентін көрсету үшін пайдалануға болады (мысалы, суреттің түсіндірмесінде "сурет нақты көлемінің 50% мөлшерінде көрсетілген" деп жазу үшін).
XSL FO 1.1 refines the functionality for sizing of graphics to fit, with the ability to shrink to fit (but not grow to fit), as well as the ability to define specific scaling steps. In addition, the resulting scaling factor can be referenced for display (for example, to say in a figure caption, "image shown is 50% actual size").
Артықшылықтар
XML тілі – XML тілі болғандықтан, кез келген XML тілінен XSL FO кодын жасау үшін тек XSLT түрлендіруі (және XSLT процессоры) қажет. TEI немесе DocBook форматында құжатты оңай жазып, оны вебте көру үшін HTML немесе басып шығару үшін PDF (FO процессоры арқылы) форматына түрлендіруге болады. Шындығында, осы екі мақсатқа арналған көптеген TEI және DocBook XSLT түрлендіргіштері бар. Қолданудың қарапайымдығы – XSL FO-ның тағы бір артықшылығы – қолданудың салыстырмалы қарапайымдығы. Тілдің көптеген мүмкіндіктері CSS негізінде құрылған, сондықтан CSS-ті білетін адам таңбалау атрибуттарының негіздерімен таныс болады. FO құжатының нақты бір бөлімі қалай көрінетінін түсіну әдетте өте оңай. Төмен құн – Коммерциялық беттік жинақ және макеттік өнімдермен салыстырғанда, XSL FO типографиялық және макеттік талаптарға сай келген жағдайда әлдеқайда арзан шешім ұсына алады (төменде қараңыз). Бастапқы құны төмен (Apache FOP және xmlroff сияқты тегін нұсқалары сіздің талаптарыңызға сай келсе, тіпті нөлдік), әсіресе коммерциялық жинақ құралдарымен салыстырғанда. Қажетті біліктер (негізінен XSLT бағдарламалау) кеңінен қол жетімді. XSL FO туралы көптеген жақсы кітаптар, онлайн ресурстар және белсенді пайдаланушылар қауымдастығы бар. Көп тілділік – XSL FO барлық жазбаша адам тілдерінде жұмыс істеу үшін жасалған және нұсқалары негізінен осы мақсатқа жеткен. Бұл XSL FO-ны көптеген ұлттық тілдерге аударылған құжаттарды құрастыру үшін өте ыңғайлы етеді, онда құжаттардың барлық тілдік нұсқаларын құрастыра алатын бір құрал жиынтығы қажет. Бұл тұтынушылық электроника сияқты техникалық құжаттама үшін ерекше маңызды, онда Азия және Таяу Шығыс тілдері маңызды, өйткені әлемнің осы бөліктері ұялы телефондар мен компьютерлік перифериялық құрылғылар сияқты үлкен нарықтарды білдіреді. Дамыған стандарт – XSL FO 1.1 нұсқасының жариялануымен XSL FO көптеген коммерциялық және коммерциялық емес нұсқалары бар дамыған стандарт екенін дәлелдеді. Беттік жинаққа қатысты басқа даComparable стандарт жоқ.
XML language – Because it is an XML language, only an XSLT transform (and an XSLT processor) is required to generate XSL FO code from any XML language. One can easily write a document in TEI or DocBook, and transform it into HTML for web viewing or PDF (through an FO processor) for printing. In fact, there are many pre existing TEI and DocBook XSLTs for both of these purposes. Ease of use – Another advantage of XSL FO is the relative ease of use. Much of the functionality of the language is based on work from CSS, so a CSS user will be familiar with the basics of the markup attributes. Understanding what a specific section of an FO document will look like is usually quite easy. Low cost – Compared with commercial typesetting and page layout products, XSL FO can offer a much lower cost solution when it otherwise meets the typographic and layout requirements (see below). The initial cost of ownership is low (zero if the free implementations, such as Apache FOP and xmlroff, meet your requirements), especially compared to the cost of commercial composition tools. The skills required (primarily XSLT programming) are widely available. There are a number of good books on XSL FO as well as online resources and an active user community. Multi lingual – XSL FO has been designed to work for all written human languages and the implementations have largely achieved that goal. This makes XSL FO particularly well suited for composing documents localized into a large number of national languages where the requirement is to have a single tool set that can compose all the language versions of documents. This is especially valuable for technical documentation for things like consumer electronics, where Asian and Middle Eastern languages are important because those parts of world represent huge markets for things like mobile phones and computer peripherals. Mature standard – With the publication of XSL FO 1.1, XSL FO is proving to be a mature standard with a number of solid commercial and non commercial implementations. There is no other comparable standard for page composition.
Ауыстыру
XML және HTML стандарттары, CSS стандартымен бірге, CSS2 (беттік медиа модулі) баспаға арналған медиаға негізгі мүмкіндіктерді ұсына бастағаннан бері. CSS Беттік Медиа Модулі 3-де W3C құжат пішімдеу және PDF файлдарын жасау үшін біріктірілген стандартты дамытуты аяқтап жатыр. Осылайша, 2013 жылдан бері,
XML and HTML standards, with the CSS standard, since CSS2 (paged media module) starts to supply basic features to printed media. With the CSS Paged Media Module Level 3, W3C is completing the formulation of an integrated standard for document formatting and to generate PDFs. So, since 2013,