XSL Biçimlendirme Nesneleri - XSL Formatting Objects

XSL Biçimlendirme Nesneleri
Dosya adı uzantısı
.xml, .fo
İnternet medya türü application/xml,
text/xml (kullanımdan kaldırıldı)
Tekdüzen Tip Tanımlayıcısı (UTI) public.xml
Tarafından geliştirilmiş World Wide Web Konsorsiyumu (W3C)
En son sürüm
1.1
(5 Aralık 2006 ; 14 yıl önce ) ( 2006-12-05 )
Biçim türü İşaretleme dili
İçeriği: XML
Açık biçim ? Evet
İnternet sitesi www .w3 .org /TR /xsl11 /

XSL-FO ( XSL Biçimlendirme Nesneleri ) , en sık PDF dosyaları oluşturmak için kullanılan XML belge biçimlendirmesi için bir biçimlendirme dilidir . XSL-FO, XML verilerinin dönüştürülmesi ve biçimlendirilmesi için tasarlanmış bir dizi W3C teknolojisi olan XSL'nin (Genişletilebilir Stil Sayfası Dili) bir parçasıdır . XSL'nin diğer bölümleri XSLT ve XPath'dir . XSL-FO'nun 1.1 sürümü 2006'da yayınlandı.

XSL-FO, W3C tarafından tamamlanmış özellik olarak kabul edilir : Çalışma Taslağı için son güncelleme Ocak 2012'de yapıldı ve Çalışma Grubu Kasım 2013'te kapandı.

Temel bilgiler

HTML ve CSS kombinasyonundan farklı olarak , XSL-FO birleşik bir sunum dilidir. Bu terim HTML'de kullanıldığı için anlamsal bir işaretlemesi yoktur. Ve harici bir XML veya HTML belgesinin varsayılan sunumunu değiştiren CSS'den farklı olarak, belgenin tüm verilerini kendi içinde depolar.

XSL-FO'nun kullanımının ardındaki genel fikir, kullanıcının bir belgeyi FO'da değil, bir XML dilinde yazmasıdır. XHTML , DocBook ve TEI tüm olası örneklerdir. Daha sonra kullanıcı , ya kendisi yazarak ya da söz konusu belge türü için bir tane bularak bir XSLT dönüşümü elde eder . Bu XSLT dönüşümü, XML'i XSL-FO'ya dönüştürür.

XSL-FO belgesi oluşturulduktan sonra, FO işlemcisi adı verilen bir uygulamaya geçirilir. FO işlemcileri, XSL-FO belgesini okunabilir, yazdırılabilir veya her ikisi birden olan bir şeye dönüştürür. XSL-FO'nun en yaygın çıktısı bir PDF dosyası veya PostScript'tir , ancak bazı FO işlemcileri RTF dosyaları gibi diğer formatlara veya hatta sayfaların sırasını ve içeriklerini gösteren kullanıcının GUI'sindeki bir pencereye çıktı verebilir .

XSLT dilinin kendisi başlangıçta yalnızca bu amaç için tasarlanmıştı; artık daha genel XML dönüşümleri için yaygın olarak kullanılmaktadır. Bu dönüşüm adımı, XSL-FO'da o kadar çok kabul görmüştür ki, insanların XML'i XSL-FO'ya dönüştüren XSLT'yi gerçek XSL-FO belgesinin kendisi olarak adlandırması nadir değildir. XSL-FO'daki öğreticiler bile, FO işleme talimatları etrafında XSLT komutlarıyla yazılma eğilimindedir.

XSLT dönüştürme adımı son derece güçlüdür. Bir içindekiler tablosunun, bağlantılı referansların, bir indeksin ve diğer çeşitli olasılıkların otomatik olarak oluşturulmasına izin verir.

Bir XSL-FO belgesi, PDF veya PostScript belgesi gibi değildir. Metnin çeşitli sayfalardaki düzenini kesin olarak tanımlamaz. Bunun yerine, sayfaların nasıl göründüğünü ve çeşitli içeriklerin nereye gittiğini açıklar. Oradan, bir FO işlemcisi, metnin FO belgesi tarafından tanımlanan sınırlar içinde nasıl konumlandırılacağını belirler. XSL-FO özelliği, farklı FO işlemcilerinin sonuçta oluşturulan sayfalara göre değişen yanıtlara sahip olmasına bile izin verir.

Örneğin, bazı FO işlemcileri, bir satırı keserken boşluğu en aza indirmek için sözcükleri tireleyebilirken, diğerleri bunu yapmamayı tercih edebilir. Farklı işlemciler, önceki veya sonraki satırın da tireli olup olmadığını hesaba katan çok basitten daha karmaşık tireleme algoritmalarına kadar değişen farklı tireleme algoritmaları bile kullanabilir. Bunlar, bazı sınır durumlarda, çeşitli sayfaların düzenini oldukça önemli ölçüde değiştirecektir. XSL-FO spesifikasyonunun, FO işlemcilerine yerleşim açısından bir dereceye kadar seçim hakkı tanıdığı başka durumlar da vardır.

FO işlemcileri arasındaki bu farklılaşma, işlemciler arasında tutarsız sonuçlar yaratması çoğu zaman bir endişe kaynağı değildir. Bunun nedeni, XSL-FO'nun arkasındaki genel amacın sayfalanmış, basılı medya oluşturmak olmasıdır. XSL-FO belgelerinin kendileri genellikle aracılar olarak, çoğunlukla dağıtılacak nihai form olarak PDF dosyaları veya basılı bir belge oluşturmak için kullanılır. Bu, HTML'nin nasıl oluşturulup nihai bir form olarak doğrudan kullanıcıya dağıtıldığının aksinedir. Biçimlendirme dili girişi (HTML/CSS veya XSL-FO) yerine son PDF'yi dağıtmak, bir yandan alıcıların biçimlendirme dili yorumlayıcıları arasındaki farklılıklardan kaynaklanan öngörülemezlikten etkilenmediği anlamına gelirken, diğer yandan belge, farklı sayfa boyutu veya tercih edilen yazı tipi boyutu gibi farklı alıcı ihtiyaçlarına kolayca uyum sağlayamaz veya ekranda veya kağıt üzerinde veya sesli sunum için uyarlama yapılamaz.

Dil kavramları

XSL-FO dili, disk belleği medyası için tasarlanmıştır; bu nedenle, sayfa kavramı XSL-FO'nun yapısının ayrılmaz bir parçasıdır.

FO, "içerik odaklı" tasarım olarak adlandırılabilecek tasarım için en iyi sonucu verir. Bu, kitaplar, makaleler, yasal belgeler vb. için standart yerleşim yöntemidir. Bir sayfanın kenar boşluklarına yerleştirilmiş çeşitli yinelenen bilgilerle, oldukça bitişik metnin tek bir akış aralığını içerir. Bu, gazetelerde veya dergilerde kullanılan "düzen odaklı" tasarımın aksine. Bu belgelerdeki içerik gerekli alana sığmazsa, bir kısmı sığana kadar kırpılır. XSL-FO, dergi düzeninin sıkı kısıtlamalarını kolayca ele almaz; aslında, çoğu durumda, söz konusu düzenin bazı biçimlerini ifade etme yeteneğinden yoksundur.

Dil tasarımının temel doğasına rağmen, çok fazla ifade yeteneğine sahiptir. Tablolar, listeler, yan şamandıralar ve çeşitli diğer özellikler mevcuttur. Bu özellikler, CSS'nin yerleşim özellikleriyle karşılaştırılabilir, ancak bu özelliklerden bazılarının XSLT tarafından oluşturulması bekleniyor.

Belge yapısı

XSL-FO belgeleri XML belgeleridir, ancak herhangi bir DTD veya şemaya uymaları gerekmez . Bunun yerine, XSL-FO belirtiminde tanımlanan bir sözdizimine uygundurlar .

XSL-FO belgeleri iki gerekli bölümü içerir. İlk bölüm, adlandırılmış sayfa düzenlerinin bir listesini detaylandırır. İkinci bölüm, içeriğin çeşitli sayfaları nasıl doldurduğunu belirlemek için çeşitli sayfa düzenlerini kullanan, işaretlemeli bir belge verileri listesidir.

Sayfa düzenleri, sayfanın özelliklerini tanımlar. Söz konusu dilin uzlaşımlarını eşleştirmek için metin akışının yönergelerini tanımlayabilirler. Bir sayfanın boyutunu ve o sayfanın kenar boşluklarını tanımlarlar. Daha da önemlisi, tek ve çift sayfaların farklı göründüğü efektlere izin veren sayfa dizileri tanımlayabilirler. Örneğin, yazdırma amacıyla iç kenar boşluklarına fazladan boşluk bırakan bir sayfa düzeni sırası tanımlanabilir; bu, kitabın ciltleneceği kenar boşluğuna daha fazla yer verilmesini sağlar.

Belge verileri bölümü, her akışın bir sayfa düzenine eklendiği bir dizi akışa bölünür. Akışlar, sırayla her biri bir metin verileri listesi, satır içi işaretleme öğeleri veya ikisinin bir kombinasyonunu içeren bir blok listesi içerir. Sayfa numaraları, bölüm başlıkları ve benzerleri için belgenin kenar boşluklarına içerik de eklenebilir.

Bloklar ve satır içi öğeler, CSS ile aynı şekilde çalışır, ancak dolgu ve kenar boşluklarına ilişkin bazı kurallar FO ve CSS arasında farklılık gösterir. Blokların ve satır içi satırların ilerlemesi için sayfa yönüne göre yön tam olarak belirlenebilir, böylece FO belgelerinin İngilizce'den farklı okunan diller altında çalışmasına izin verilir. FO belirtiminin dili, CSS 2.1'den farklı olarak, bu yönleri tanımlarken sol ve sağ yerine başlangıç ​​ve bitiş gibi yönden bağımsız terimler kullanır.

XSL-FO'nun temel içerik işaretlemesi, CSS'den ve onun basamaklı kurallarından türetilmiştir. Bu nedenle, XSL-FO'daki birçok öznitelik, açıkça geçersiz kılınmadıkça alt öğelere yayılır.

XSL-FO v1.0'ın yetenekleri

XSL-FO, çok sayıda metin düzeni işlevine sahiptir. Yukarıda belirtilen bilgilere ek olarak, XSL-FO'nun dili aşağıdakilerin belirtilmesine izin verir.

Birden çok sütun

Bir sayfa birden çok sütuna sahip olacak şekilde tanımlanabilir. Bu durumda, bloklar varsayılan olarak bir sütundan diğerine akar. Tek tek bloklar tüm sütunları kapsayacak şekilde ayarlanabilir, bu da sayfada metinsel bir kesinti oluşturur. Bu aranın üstündeki sütunlar, aranın altındaki sütunlar gibi birbirine akacaktır. Ancak yukarıdaki bölümden aşağıdaki bölüme hiçbir metin akışına izin verilmez.

XSL-FO'nun sayfa belirtiminin doğası gereği, birden çok sayfa aslında farklı sayıda ve sütun genişliğinde olabilir. Bu nedenle, metin 3 sütunlu bir sayfadan 5 sütunlu bir sayfaya, 1 sütunlu bir sayfaya oldukça kolay bir şekilde akabilir.

Tüm FO özellikleri, çok sütunlu bir sayfanın kısıtlamaları dahilinde çalışır.

İki öznitelik belirterek birden çok sütuna yayılabiliriz, yani. yayılma, dolgu-sonrası .

Listeler

Bir XSL-FO listesi, esasen, yan yana yığılmış iki blok kümesidir. Bir giriş, "sol" veya satır içi yöndeki bir bloktan ve "sağ" veya satır içi bitiş yönündeki bir blok dizisinden oluşur. Soldaki blok, kavramsal olarak bir listedeki sayı veya madde işaretinin ne olacağıdır. Ancak, bir sözlük girişinde görülebileceği gibi, kolayca bir metin dizisi de olabilir. Sağdaki blok beklendiği gibi çalışıyor. Bu blokların her ikisi de blok kapsayıcı olabilir veya tek bir liste girişinde birden fazla blok içerebilir.

XSL-FO listelerinin numaralandırılması, numaralandırıldıklarında, XSLT tarafından veya XSL-FO belgesini oluşturan başka herhangi bir işlem tarafından yapılması beklenir. Bu nedenle, numara listeleri XSL-FO'da açıkça numaralandırılacaktır.

Sayfalandırma kontrolleri

Kullanıcı, bloklar veya akışın kendisi için Widow ve Orphan'ı belirleyebilir ve özniteliklerin alt bloklara basamaklanmasına izin verebilir. Ek olarak, bloklar tek bir sayfada bir arada tutulacak şekilde belirtilebilir. Örneğin, bir görüntü bloğu ve o görüntünün açıklaması asla ayrılmayacak şekilde ayarlanabilir. FO işlemcisi, bir sayfada çok fazla boş alan oluşturulmasını gerektirse bile, bu komutlara uymak için elinden gelenin en iyisini yapacaktır.

Dipnotlar

Kullanıcı, bir sayfanın altında görünen dipnotlar oluşturabilir. Dipnot, FO belgesinde, referans alındığı noktada metnin normal akışında yazılır. Referans, gerekli olmasa da satır içi tanım olarak gösterilir. Gövde, FO işlemcisi tarafından sayfanın altına yerleştirilen bir veya daha fazla bloktur. FO işlemcisi, referans nerede olursa olsun, o referans tarafından atıfta bulunulan dipnotun aynı sayfada başlayacağını garanti eder. Bu, bir sayfada fazladan boş alan yaratmak anlamına gelse bile böyle olacaktır.

Tablolar

Bir FO tablosu, bir HTML/CSS tablosu gibi çalışır. Kullanıcı, her bir hücre için veri satırlarını belirtir. Kullanıcı ayrıca her sütun için arka plan rengi gibi bazı stil bilgileri belirtebilir. Ek olarak, kullanıcı kendi ayrı stil bilgileriyle ilk satırı bir tablo başlığı satırı olarak belirleyebilir.

FO işlemcisine her bir sütuna tam olarak ne kadar boşluk vereceği veya metni tabloya otomatik olarak sığdırması söylenebilir.

Metin yönlendirme kontrolleri

FO, metin bloklarını yönlendirmek için kapsamlı kontrollere sahiptir. Bir sayfanın ortasında, farklı bir yönde yönlendirilecek bir metin bloğu belirlenebilir. Bu yönlendirilmiş bloklar, belgenin geri kalanından farklı bir yöndeki diller için veya basitçe metnin mizanpaj amacıyla yönlendirilmesi gerekiyorsa kullanılabilir. Bu bloklar, tablolardan listelere ve hatta diğer yeniden yönlendirilmiş metin bloklarına kadar hemen hemen her tür içeriği içerebilir.

Çeşitli

  • Sayfa numarası alıntıları. Özel bir etiket içeren bir sayfaya metin olarak atıfta bulunulabilir ve FO işlemcisi bu etiketin göründüğü gerçek sayfa numarasını dolduracaktır.
  • Sınırları bir dizi stilde engelleyin.
  • Arka plan renkleri ve görüntüleri.
  • CSS'de olduğu gibi yazı tipi kontrolleri ve ağırlıklandırma.
  • Yan yüzer.
  • Çeşitli Satır İçi Öğeler.

XSL-FO v1.1'in yetenekleri

XSL-FO'nun 1.1 Sürümü, 1.0 sürümüne bir dizi yeni özellik ekler.

Çoklu akışlar ve akış eşleme

XSL-FO 1.0, bir sayfanın hangi alanlarına hangi metnin gitmesine izin verildiği konusunda oldukça kısıtlayıcıydı. Sürüm 1.1, bu kısıtlamaları önemli ölçüde gevşeterek, akan metnin bir sayfada birden çok açık bölgeye eşlenmesine olanak tanır. Bu, daha fazla gazete benzeri dizgiye izin verir.

Yer imleri

XSL-FO işlemciler için birçok çıktı formatı, özellikle PDF, yer imi özelliklerine sahiptir. Bunlar, formatın, kullanıcı tarafından seçilebilen ayrı bir pencerede bir metin dizisi belirtmesine izin verir. Seçildiğinde, belge penceresi hemen belgenin belirli bir bölgesine kaydırılır.

XSL-FO v1.1 artık XSL-FO'da adlandırılmış yer imleri oluşturma yeteneği sağlar, böylece işlemcinin bunu destekleyen bir çıktı biçimine iletmesine olanak tanır.

indeksleme

XSL-FO 1.1, bir kitabın arkasında bulunabilecek bir dizin oluşturulmasını destekleyen özelliklere sahiptir. Bu, FO belgesinde uygun şekilde işaretlenmiş öğelere atıfta bulunularak yapılır.

Son sayfa alıntısı

Son sayfa, FO belgesindeki belirli bir bağlantıya açık bir belge içi başvuru sağlanmadan oluşturulabilir. "Son sayfa" tanımı, belirli bir sayfa grubuyla veya tüm belgeyi kapsayacak şekilde sınırlandırılabilir. Bu, kullanıcının "Sayfa 2 / 15" gibi bir şey belirtmesine olanak tanır; burada sayfa 15, son sayfa tanımının sayfa numarasıdır.

Tablo işaretleri

Tablo işaretçileri, kullanıcının bir tablonun her sayfasının altındaki çalışan toplamlar veya "tablo devamı" göstergeleri gibi tablo üstbilgileri ve altbilgileri içinde dinamik içerik oluşturmasına olanak tanır.

İç/dış yüzer

XSL-FO 1.1, yan yüzerler için "iç" ve "dış" anahtar sözcüklerini ekler; bu, sayfaların dış veya iç kenarlarında konumlandırılmış kenar boşluklarıyla sayfa düzenleri elde etmeyi mümkün kılar. İç kısım, sayfanın kitap ciltleme tarafına, dış kısım ise sayfanın kitap ciltlemeden uzak tarafına işaret eder.

Rafine grafik boyutlandırma

XSL-FO 1.1, sığdırmak için küçültme (ancak sığdırmak için büyütmeme) yeteneğinin yanı sıra belirli ölçeklendirme adımlarını tanımlama yeteneği ile grafiklerin sığacak şekilde boyutlandırılması için işlevselliği iyileştirir. Ek olarak, sonuçta ortaya çıkan ölçeklendirme faktörü, görüntüleme için referans alınabilir (örneğin, bir şekil başlığında "gösterilen resim %50 gerçek boyuttur" demek için).

Avantajlar

  • XML dili – Bir XML dili olduğundan, herhangi bir XML dilinden XSL-FO kodu oluşturmak için yalnızca bir XSLT dönüşümü (ve bir XSLT işlemcisi) gerekir. TEI veya DocBook'a kolayca bir belge yazılabilir ve web görüntüleme için HTML'ye veya yazdırma için PDF'ye (FO işlemcisi aracılığıyla) dönüştürülebilir. Aslında, bu iki amaç için önceden var olan birçok TEI ve DocBook XSLT vardır.
  • Kullanım kolaylığı – XSL-FO'nun bir başka avantajı da göreceli kullanım kolaylığıdır. Dilin işlevselliğinin çoğu, CSS'den yapılan çalışmalara dayanmaktadır, bu nedenle bir CSS kullanıcısı, biçimlendirme niteliklerinin temellerine aşina olacaktır. Bir FO belgesinin belirli bir bölümünün nasıl görüneceğini anlamak genellikle oldukça kolaydır.
  • Düşük maliyet – Ticari dizgi ve sayfa düzeni ürünleriyle karşılaştırıldığında, XSL-FO, tipografik ve düzen gereksinimlerini karşıladığı takdirde çok daha düşük maliyetli bir çözüm sunabilir (aşağıya bakın). İlk sahip olma maliyeti düşüktür ( Apache FOP ve xmlroff gibi ücretsiz uygulamalar gereksinimlerinizi karşılıyorsa sıfır ), özellikle ticari kompozisyon araçlarının maliyetiyle karşılaştırıldığında. Gerekli beceriler (öncelikle XSLT programlama) yaygın olarak mevcuttur. XSL-FO hakkında çok sayıda iyi kitap, çevrimiçi kaynaklar ve aktif bir kullanıcı topluluğu bulunmaktadır.
  • Çok dilli – XSL-FO, tüm yazılı insan dilleri için çalışmak üzere tasarlanmıştır ve uygulamalar bu amaca büyük ölçüde ulaşmıştır. Bu, XSL-FO'yu özellikle belgelerin tüm dil sürümlerini oluşturabilen tek bir araç setine sahip olmanın gerekli olduğu çok sayıda ulusal dilde yerelleştirilmiş belgeler oluşturmak için çok uygun hale getirir. Bu, Asya ve Orta Doğu dillerinin önemli olduğu tüketici elektroniği gibi şeyler için teknik belgeler için özellikle değerlidir, çünkü dünyanın bu bölgeleri cep telefonları ve bilgisayar çevre birimleri gibi şeyler için büyük pazarları temsil eder.
  • Olgun standart – XSL-FO 1.1'in yayınlanmasıyla birlikte, XSL-FO, bir dizi sağlam ticari ve ticari olmayan uygulama ile olgun bir standart olduğunu kanıtlıyor. Sayfa kompozisyonu için karşılaştırılabilir başka bir standart yoktur.

Dezavantajları

  • Sınırlı yetenekler – XSL-FO, teknik kılavuzlar, iş belgeleri, faturalar vb. ile belirtilen "hafif tasarlanmış" belgelerin gereksinimlerini karşılamak için özel olarak tasarlanmıştır. Daha sofistike tasarımlar için kullanılabilir ve kullanılabilir olsa da, düzen ve tipografik perspektiften yapabilecekleri doğası gereği sınırlıdır. Özellikle, XSL-FO, iki biçimlendirme nesnesinin sayfa konumu ilişkisini bilmeye bağlı biçimlendirme efektleri elde etmek için doğrudan bir yol sağlamaz. Örneğin, "bu şey o şeyle aynı sayfadaysa X yap, yoksa Y yap" demenin doğrudan bir yolu yoktur. Bu, XSL-FO tarafından kullanılan iki aşamalı, dönüşüm tabanlı soyut işleme modelini yansıtan açık bir tasarım kararıdır. Bu sınırlama, çok geçişli bir süreç uygulanarak ele alınabilir. Ne yazık ki, şu anda ilk geçişin sonucunun ikinci geçişe nasıl iletileceğine dair bir standart yok. Uygulamaların tümü olmasa da çoğu, bunun için kullanılabilecek bir tür işlenebilir ara sonuç formatı sağlar, ancak bugün uygulanan bu tür herhangi bir işlem, zorunlu olarak uygulamaya özel olacaktır.
  • Aynı şekilde, XSL-FO'da olmayan önemli düzen özellikleri vardır, çünkü bunlar ya yeterince yüksek önceliğe sahip değildirler ya da onları tasarlamak sürüm 1.1'e dahil edilmek için çok zordu ya da izin vermek için yetersiz uygulamalar vardı. W3C kurallarına göre nihai spesifikasyona dahil edilmeleri.
  • Bu mimari sınırlamalara ek olarak, hem ticari hem de açık kaynak olan mevcut XSL-FO uygulamaları, QuarkXPress veya InDesign gibi üst düzey yerleşim araçları veya LaTeX gibi programlanabilir dizgi sistemleri tarafından sağlanan aynı düzeyde tipografik karmaşıklığı sağlamaz . Örneğin, mevcut hiçbir uygulama, karşılıklı sayfalardaki metin satırlarının dikey olarak sıralanmasını sağlayacak özellikler sağlamaz. XSL-FO belirtiminde bunu engelleyen hiçbir şey yoktur, ancak bunu gerektiren hiçbir şey de yoktur. Tamamen otomatikleştirilmiş bir kompozisyon çözümünün yeterli olduğu çoğu belge için bu seviyede tipografik bilgi gerekli değildir. Ancak, yüksek kaliteli yayınlar ve kitlesel pazar kitapları için genellikle; bazı durumlarda bu, bunun yerine bir LaTeX belgesi oluşturmak için XSLT kullanılarak karşılanabilir .
  • Uzantı bağımlılığı – XSL-FO'nun belirli bir belge veya belge tasarımına uygulanabilirliği değerlendirilirken, farklı XSL-FO uygulamaları tarafından sağlanan özel uzantılar dikkate alınmalıdır. Bu uzantılar, temel belirtimin parçası olmayan özellikler ekler. Örneğin, bir ürün, XSL-FO belirtiminin ele almadığı Japon tipografik kuralları için destek ekler. Bununla birlikte, bu özelliklerin kullanımı, böyle bir XSL-FO sistemini belirli bir uygulamaya biraz daha bağlı hale getirir (ancak tamamen tescilli bir kompozisyon sistemi kullanıldığında olacağı gibi tamamen bağlı değildir).
  • Pratik olmayan manuel düzenleme – XSL-FO örneklerini elle düzenlemek genellikle pratik değildir (XSL-FO, düzenleme kolaylığı için değil, netlik ve eksiksizlik için tasarlanmıştır.). XFDesigner gibi görsel düzenleme araçları, tüm XSL-FO etiketlerine erişilebilir olmasa da (özellikle işaretçiler ve dipnotlar) görevi hafifletebilir. XF Designer, artık Ecrion Software tarafından desteklenen bir ürün değildir.

Belirli bir belge için XSL-FO'nun çalışıp çalışmayacağına karar vermeye çalışırken, aşağıdaki tipografik ve yerleşim gereksinimleri genellikle XSL-FO'nun çalışmayacağını gösterir (bunlardan bazıları özel uzantılarla karşılansa da):

  • Her yeni sayfada dipnot numaralarını veya sembol dizisini yeniden başlatmanız gerekir (ancak bazı uygulamalar otomatik dipnot numaralandırmayı desteklemek için uzantılar sağlar.)
  • Kayan bir nesnenin her iki tarafında metin çalıştırma ihtiyacı (XSL-FO metni bir tarafta ve üstte ve/veya altta çalıştırabilir, ancak her iki tarafta değil; ancak bazı uygulamalar özel uzantılar aracılığıyla bu tür karmaşık düzenler için destek sağlar.)
  • Tek bir sayfada değişken sayıda sütun olması gerekir (ancak, en az iki ticari uygulama, bir sayfa içinde çok sütunlu bloklar oluşturmak için uzantılar sağlar.)
  • Sütun çapında dipnotlara sahip olmanız gerekir (birkaç uygulama sütun dipnot uzantıları sağlar.)
  • Diğer kenar boşluklarına göre dinamik olarak yerleştirilmiş kenar boşluklarına sahip olmanız gerekir (örneğin, sayfada dikey olarak eşit aralıklarla yerleştirilmiş kenar notları). XSL-FO, yalnızca çapasıyla dikey olarak hizalanacak şekilde kenar boşlukları yerleştirme özellikleri sağlar.
  • Aksi halde homojen bir yinelenen sayfa kalıpları dizisinde bir kayan nokta veya "çizgi dışı" nesne olarak iki sayfaya yayılan içerik oluşturma ihtiyacı (bu, XSL-FO 1.1'de birden çok gövde bölgesi ve akış haritası kullanılarak yapılabilir, ancak bu sayfalar için kullanılan sayfa kalıplarını kontrol edebilir.)
  • Aynı sayfada hem alttan kayan içeriğe hem de dipnotlara ihtiyacınız var.
  • İhtiyaç keyfi bir eğriye karşı metni çalıştırmak edebilmek için (bazı uygulama desteği olsa SVG bu sınırlamayı aşmanın kullanılabilir).
  • Çizgileri belirli taban çizgisi ızgaralarıyla sınırlandırabilmeniz gerekir (örneğin, karşılıklı sayfalarda çizgilerin tam kaydını elde etmek için).
  • Bir şeklin her zaman bağlantı noktasına bakan sayfada olmasını sağlamak gibi, sayfaya duyarlı bir düzen gerektiren herhangi bir şey.

Yenisiyle değiştirme

XML ve HTML standartları, CSS standardı ile birlikte, CSS2 ( sayfalı medya modülü) basılı medyaya temel özellikleri sağlamaya başladığından beri . İle CSS Sayfalanmış Medya Modülü Seviye 3 W3C biçimlendirme belge için entegre bir standardın formülasyonunu üzeredir ve PDF'leri üretmek için. Bu nedenle, 2013'ten bu yana, CSS3 sayfalı, XSL-FO'nun değiştirilmesi için bir W3C teklifidir.

XSL Formatting Objects 2.0 Sürümü için tasarım notları ilk olarak 2009'da yayınlandı ve en son 2012'de güncellendi.

Ayrıca bakınız

  • XHTML
  • Apache FOP - XSL-FO'nun açık kaynak ve telif ücretsiz uygulaması
  • XEP - Ticari ve tescilli işleme motoru
  • Anten Evi Biçimlendirici - XSL-FO ve CSS biçimlendirme yazılımı - Ticari ve tescilli işleme motoru

Referanslar

Dış bağlantılar