View
19
Download
0
Category
Preview:
Citation preview
xmlprague 2013 Database Publishing
Fully automaticdatabase publishingwith thespeedata Publisher
Patrick Gundlachgundlach@speedata.de
@speedata
speedata Berlin, Germany
xmlprague 2013 Database Publishing
XSL FO++
Patrick Gundlachgundlach@speedata.de
@speedata
speedata Berlin, Germany
xmlprague 2013 Database Publishing
Fully automaticdatabase publishingwith thespeedata Publisher
Patrick Gundlachgundlach@speedata.de
@speedata
speedata Berlin, Germany
xmlprague 2013 Database Publishing
Design rules
4
„if new product group, then page break”
xmlprague 2013 Database Publishing
Design rules
5
“always five products per page”
xmlprague 2013 Database Publishing
Design rules
6
“space for text must take all languages into account”
109
Licht für Büro und Verwaltung
SL 730 Lichtband-Pendelleuchte mit Spiegelraster
Lichtband-Pendelleuchte mit Spiegelraster für direkt/indirekte Beleuchtung für T16 Lampen.
Leuchtengehäuse aus Alu-Strangpressprofil, Kopfstücke aus Aluminiumdruckguß, pulverbe-
schichtet. Spiegelraster aus Reinstaluminium (Al 99,98), vakuumbedampft, hochglänzend.
Vorbereitet für Lichtbandmontage, inkl. Durchgangsverdrahtung mit Steckverbinder (Stecker
bzw. Buchse), montiertem Direktverbinder und einseitiger Y-Stahlseilabhängung. Max.
Gewicht: 4,5 kg
Ausführung RAL 9006 struktur
Ausführung EVG EVG digital dimmbar (DALI) Länge x Breite x Höhe Fassung
T16 1 x 28 / 54 W 730.481.54.3L18 730.481.54.6L18 1200 x 223 x 32 mm G5
T16 1 x 35 / 49 / 80 W 730.481.80.3L18 730.481.80.6L18 1500 x 223 x 32 mm G5
T16 3 x 28 / 54 W 730.483.54.3L18 730.483.54.6L18 1200 x 223 x 32 mm G5
T16 3 x 35 / 49 W 730.483.49.3L18 730.483.49.6L18 1500 x 223 x 32 mm G5
Falls Sie die Leuchte oder weitere Komponenten in weiß (RAL 9016 struktur) wünschen, schreiben Sie den Farbcode „-10“ anstatt „-18“ falls Sie graphit (DB 703 struktur) wünschen, schreiben Sie bitte „-12“.
223
32
1200/1500
1185 /1485
100100100100100150150150150150200200200200200
250 cd/klm
90°90°90°90°90°
120°120°120°120°120°
150°150°150°150°150°150°150°150°150°150°
120°120°120°120°120°
90°90°90°90°90°
Zubehör (bitte extra bestellen!)
Installations-Set für Endeinspeisung (transparente Zuleitung, Y-Seilabhängung 1,5 m, 2 Kopfstücke in RAL 9006 struktur)
730.322.150-18
Installations-Set für Mitteneinspeisung (transparente Zuleitung, Y-Seilabhängung 1,5 m, 2 Kopfstücke in RAL 9006 struktur)
730.323.150-18
Sonderfarbe 730.0090
Deckenauslassdose rund, RAL 9006 struktur 900.001-18
Deckenauslassdose quadratisch, RAL 9006 struktur 900.004-18
T16 3 x 54 W indirekt / direkt 80 / 20 %
UGR 11,3 / 11,6
Grenzausstrahlwinkel/1000 cd/m 65 °
Wirkungsgrad 85 %
SL 730 Lichtband-Pendelleuchte mit Spiegelraster
Lichtband-Pendelleuchte mit Spiegelraster für direkt/indirekte Beleuchtung für T16 Lampen.
Leuchtengehäuse aus Alu-Strangpressprofil, Kopfstücke aus Aluminiumdruckguß, pulver-
beschichtet. Spiegelraster aus Reinstaluminium (Al 99,98), vakuumbedampft, hochglänzend.
Vorbereitet für Lichtbandmontage, inkl. Durchgangsverdrahtung mit Steckverbinder
(Stecker bzw. Buchse), montiertem Direktverbinder und einseitiger Y-Stahlseilabhängung.
Max. Gewicht: 5,0 kg
Ausführung RAL 9006 struktur
Ausführung EVG EVG digital dimmbar (DALI) Länge x Breite x Höhe Fassung
T16 2 x 28 / 54 W 730.482.54.3L18 730.482.54.6L18 1200 x 223 x 32 mm G5
T16 2 x 35 / 49 W 730.482.49.3L18 1500 x 223 x 32 mm G5
T16 2 x 35 / 49 / 80 W 730.482.80.3L18 730.482.80.6L18 1500 x 223 x 32 mm G5
Falls Sie die Leuchte oder weitere Komponenten in weiß (RAL 9016 struktur) wünschen, schreiben Sie den Farbcode „-10“ anstatt „-18“ falls Sie graphit (DB 703 struktur) wünschen, schreiben Sie bitte „-12“.
223
32
1200/1500
1185 /1485
120180180180180180
300 cd/klm
120°120°120°120°120°150°150°150°150°150°150°150°150°150°150°
120°120°120°120°120°
60°60°60°60°60°30°30°30°30°30° 30°30°30°30°30°
60°60°60°60°60°
Zubehör (bitte extra bestellen!)
Installations-Set für Endeinspeisung (transparente Zuleitung, Y-Seilabhängung 1,5 m, 2 Kopfstücke in RAL 9006 struktur)
730.322.150-18
Installations-Set für Mitteneinspeisung (transparente Zuleitung, Y-Seilabhängung 1,5 m, 2 Kopfstücke in RAL 9006 struktur)
730.323.150-18
Sonderfarbe 730.0090
Deckenauslassdose rund, RAL 9006 struktur 900.001-18
Deckenauslassdose quadratisch, RAL 9006 struktur 900.004-18
T16 2 x 54 W indirekt / direkt 55 / 45 %
UGR 14,4 / 15,1
Grenzausstrahlwinkel/1000 cd/m 65 °
Wirkungsgrad 85 %
Lich
tban
d
03_buero_produkte.indd 10903_buero_produkte.indd 109 28.05.2010 16:46:22 Uhr28.05.2010 16:46:22 Uhr
109
223
32
1200/1500
1185 /1485
100100100100100150150150150150200200200200200
250 cd/klm
90°90°90°90°90°
120°120°120°120°120°
150°150°150°150°150°150°150°150°150°150°
120°120°120°120°120°
90°90°90°90°90°
223
32
1200/1500
1185 /1485
120180180180180180
300 cd/klm
120°120°120°120°120°150°150°150°150°150°150°150°150°150°150°
120°120°120°120°120°
60°60°60°60°60°30°30°30°30°30° 30°30°30°30°30°
60°60°60°60°60°
Eclairage pour bureaux et administrations
SL 730 Luminaire suspendu avec grille grand brillant pour montage en ligne
Luminaire suspendu en ligne continue avec grille grand brillant pour éclairage direct/indi-
rect pour lampes T5. Boitier en profilé d‘aluminium, têtes en aluminium coulé sous
pression, peint par poudrage. Grille louvre en aluminium pur (AI 99,98), métallisé,
glacé. Préparé pour le montage en ligne continue, y compris le câblage avec connection
(mâle/femelle), le coupleur direct pré-installé et une suspension par câble acier 2 points.
Poids maximum: 4,5 kg
Version structure RAL 9006
Version Ballast électronique Ballast électronique numérique graduable (DALI) Longueur x largeur x hauteur Type de prise
T5 1 x 28 / 54 W 730.481.54.3L18 730.481.54.6L18 1200 x 223 x 32 mm G5
T5 1 x 35 / 49 / 80 W 730.481.80.3L18 730.481.80.6L18 1500 x 223 x 32 mm G5
T5 3 x 28 / 54 W 730.483.54.3L18 730.483.54.6L18 1200 x 223 x 32 mm G5
T5 3 x 35 / 49 W 730.483.49.3L18 730.483.49.6L18 1500 x 223 x 32 mm G5
Si vous désirez le luminaire ou d‘autres accessoires en blanc (structure RAL 9016), merci d‘indiquer le code couleur „-10“ au lieu de „-18“, si vous désirez du graphite (structure DB 703), indiquer „-12“.
Accessoires (à commander séparément)
Kit d‘installation pour alimentation finale (câble d‘alimentation transparent, 1,5 m de câble de suspension 2 points, 2 têtes en RAL 9006)
730.322.150-18
Kit d‘installation pour alimentation centrale (câble d‘alimentation transparent, 1,5 m de câble de suspension 2 points, 2 têtes en RAL 9006)
730.323.150-18
Couleur spéciale 730.0090
Rosace ronde, structure RAL 9006 900.001-18
Rosace carrée, structure RAL 9006 900.004-18
T5 3 x 54 W indirect / direct 80 / 20 %
UGR 11,3 / 11,6
Angle de radiation critique/1000 cd/m! 65 °
Rendement 85 %
SL 730 Luminaire suspendu avec grille grand brillant pour montage en ligne
Luminaire suspendu en ligne continue avec grille grand brillant pour éclairage direct/indi-
rect pour lampes T5. Boitier en profilé d‘aluminium, têtes en aluminium coulé sous
pression, peint par poudrage. Grille louvre en aluminium pur (AI 99,98), métallisé, glacé.
Préparé pour le montage en ligne continue, y compris le câblage avec connection
(mâle/femelle), le coupleur direct pré-installé et une suspension par câble acier 2 points.
Poids maximum: 5,0 kg
Version structure RAL 9006
Version Ballast électronique Ballast électronique numérique graduable (DALI) Longueur x largeur x hauteur Type de prise
T5 2 x 28 / 54 W 730.482.54.3L18 730.482.54.6L18 1200 x 223 x 32 mm G5
T5 2 x 35 / 49 W 730.482.49.3L18 1500 x 223 x 32 mm G5
T5 2 x 35 / 49 / 80 W 730.482.80.3L18 730.482.80.6L18 1500 x 223 x 32 mm G5
Si vous désirez le luminaire ou d‘autres accessoires en blanc (structure RAL 9016), merci d‘indiquer le code couleur „-10“ au lieu de „-18“, si vous désirez du graphite (structure DB 703), indiquer „-12“.
Accessoires (à commander séparément)
Kit d‘installation pour alimentation finale (câble d‘alimentation transparent, 1,5 m de câble de suspension 2 points, 2 têtes en RAL 9006)
730.322.150-18
Kit d‘installation pour alimentation centrale (câble d‘alimentation transparent, 1,5 m de câble de suspension 2 points, 2 têtes en RAL 9006)
730.323.150-18
Couleur spéciale 730.0090
Rosace ronde, structure RAL 9006 900.001-18
Rosace carrée, structure RAL 9006 900.004-18
T5 2 x 54 W indirect / direct 55 / 45 %
UGR 14,4 / 15,1
Angle de radiation critique/1000 cd/m! 65 °
Rendement 85 %
Mo
nta
ge
en li
gn
e co
nti
nu
e
03_buero_produkte.indd 10903_buero_produkte.indd 109 28.10.2010 9:43:22 Uhr28.10.2010 9:43:22 Uhr
xmlprague 2013 Database Publishing
Design rules
7
“maximize page usage”
Einstieg | Bekleidung | Schuhe & Socken | Kinder | Fahrrad | Brillen | Rucksäcke &
Taschen | Schlafsäcke | Outdoorm
öbel | Zelte | Bergsport W
assersport Zubehör | M
esser | Service
575Schwimmwesten
Marinepool Ocean Pro SoftAuftrieb: 100 N (70+ kg). Prüfzeichen: CE. Durch den geteiltenPVC-Softschaum passt sich diese Weste perfekt der jeweiligenAnatomie an. Dank des Sicherheitskragens werden ohnmächtigePersonen im Wasser sofort in die stabile Rückenlage gebracht. Zu-sätzlich ist die Weste mit Reflektorstreifen, Schrittgurt und einer Sig -nalpfeife ausgestattet. Gewicht: 540 g/40 - 60 kgorange10.49.61 10 - 20 kg, 20 - 30 kg, 30 - 40 kg,
40 - 60 kg, 60 - 70 kg w 34,9570 - 90 kg w 39,95ab 90 kg w 44,95
Marinepool Europe BabyAuftriebsklasse: 100 N (für Binnengewässer) Prüfzeichen:CE. Vollwertige Rettungsweste für Babys/Kleinkinder. MitKragen, RV, Schnellverschluss, Höschen, Signalpfeife und3M-Reflexstreifen. Material: Nylon & PE-Schaum. Gewicht: 490 gbunt10.49.67 5 - 10 kg w 34,9510.49.68 10 - 15 kg w 34,95
Frauengrößen: XS, S, M, L, XLschwarz/ hellblau17.96.26 w 99,95
Camaro Sea Kayak VestEng anliegend, aber keineswegs beengend! Durch große Aussparungen an den Ärmellöchernund einen kurzen Schnitt wird viel Bewegungsspielraum beim Paddeln geboten. Die Kajakwes -te passt sich dem Körper ergonomisch an und das sehr leichte, extrem elastische PU/Elas-than-Material ist weich und angenehm zu tragen. Mit Front-RV. Im Brust-, Seiten- und Rü-ckenbereich sind Marine-Schaum Auftriebskörper integriert. Die Kajakweste fungiert alsSchwimmhilfe, nicht als Rettungsweste! Material: 100% Elasthan, PU-beschichtet. Gewicht: 500 g/MMännergrößen: XS, S, M, L, XL, XXLschwarz/ rot17.96.25 w 99,95
Sea Kayak Vest Männer Sea Kayak Vest Frauen
Austauschset Inshore Automatik
MarinepoolAutomatic Life Jacket KidsAuftrieb: 150 N (15 - 40 kg). Prüfzeichen:CE. Leichte, automatische Rettungsweste fürKinder mit 15 bis 40 kg Körpergewicht.Durch Zug an der Reißleine oder Kontaktzum Wasser bläst sich die Rettungswesteautomatisch auf. Rücken- und Bauchgurtsind längenverstellbar; ein massiver Metall-D-Ring ermöglicht die Befestigung einer Life -line. Material: 100% Nylon. Inkl. Signalpfeifeund 24 g CO2-Patrone. Gewicht: 900 grot17.76.73 w 89,95AustauschsetAutomatic Kids lifejacketMarinepool 24 g CO2-Ersatzpatrone für dieInshore Automatik Rettungsweste.18.22.10 w 19,95
Spree hinter Spremberg. Foto: MIchael von Einem
Marinepool Inshore ManuellAuftrieb: 150 N (40+ kg). Prüfzeichen: CE. Kurzgeschnittene, manuelle Rettungsweste - geeig-net für Personen von 45 - 120 kg. Konzipiertfür den Einsatz auf See, bläst sie sich nach Zugan der Reißleine automatisch auf. ZusätzlichesMundventil. 100% Polyester, inkl. Signalpfeifeund 33 g CO2-Patrone. Gewicht: 675 gmarine11.71.63 w 72,9511.83.77 33 g CO2-Patrone w 14,95
Marinepool Inshore AutomatikAuftrieb: 150 N (40+ kg). Prüfzeichen: CE. Automatische Rettungsweste, die sich entweder ma-nuell durch Zug an der Reißleine oder automatisch bei Kontakt mit Wasser aufbläst. Sie trägt sichsehr angenehm und scheuert nicht im Nacken. Der Rückengurt ist verstellbar, auf dem Auftriebs-körper sind Reflektorstreifen angebracht. Am Bauchgurt befindet sich ein massiver Metall-D-Ringzur Befestigung einer Lifeline, mit der man sich am Segelboot sichern kann. Der Auftriebskörperlässt sich auch durch einen Mundschlauch mit Rückschlagventil aufblasen. Hergestellt aus Nylon(100%) in Einheitsgröße für Personen von 45 - 120 kg, inkl. Signalpfeife und 33 g CO2-Patrone. Gewicht: 750 grot12.23.54 w 89,95Marinepool Austauschset Inshore AutomatikMarinepool 33 g CO2-Ersatzpatrone für die Inshore Automatik Rettungsweste.12.23.55 w 19,95
473Mumienschlafsäcke | Daune
* gemäß EN Norm 13537
Temperatur*Material außen
Material innen
Füllmaterial
FüllmengePackbeutelmaßPackvolumenKörperlängeSchulterbreiteKniebreiteFußbreiteGewicht
Mountain Equipment Classic 500Allround-Schlafsack. Die Daunen sind in ei-ne Trapez-Kammer-Konstruktion gefüllt.Anatomisch geformtes Fußteil. Details: 2-Wege- RV mit Abdeckleiste, regulierbarerWärmekragen, Konturkapuze mit Kordelzug.Inkl. Pack- und Aufbewahrungs-Netzbeutel.Koppelbar.ocean dark ink
Classic 500 SMbis 175 cm Körperlänge13.58.71 RV Links oder Rechts w 219,95Classic 500 STDbis 185 cm Körperlänge13.58.71 RV Links oder Rechts w 219,95Classic 500 XLbis 200 cm Körperlänge13.58.71 RV Links oder Rechts w 239,95
Yeti Sunrizer 600 WomenSpezieller Frauenschlafsack. H-Kammer-Kon-struktion, befüllt mit hochwertiger CrystalDown. Das Innenmaterial ist angenehm wei-ches ID Emboss Soft Cell (100% Nylon).Komfort bieten das Kopfkissenfach mit inte-grierter Füllung und ein Fleece-Einschub imFußbereich für warme Füße. Der umlaufende2-Wege-RV mit Abdeckleiste ermöglicht einÖffnen zur Decke. Konturkapuze mit Kordel-zug, Wärmekragen, Innentasche. Inkl. Pack-und Aufbewahrungsbeutel. Koppelbar.zinfandel/black
Sunrizer 600 Women Sbis 165 cm Körperlänge13.28.83 RV Links oder Rechts w 229,95Sunrizer 600 Women Mbis 175 cm Körperlänge13.28.83 RV Links oder Rechts w 239,95
The North Face Gold KazooSuperleichter und komfortabel geschnittener Daunenschlafsack. H-Kammer-Konstruktion mit zusätzlichen trapezförmig ge-schnittenen Kammern im seitlichen Bereich. Ergonomisch geformte Kunstfasereinsätze im Rücken-, Gesäß- und Kopfbereichverhindern einen Wärmeverlust in diesen besonders druckintensiven Bereichen. Wärmewulst über dem Brustbereich. Kleine In-nentasche, nachleuchtender RV-Anhänger. Inkl. Netzaufbewahrungs- und Kompressions-Packbeutel. Koppelbar.sunshine yellow
Gold Kazoo regularbis 183 cm Körperlänge17.25.22 RV Links oder Rechts w 189,95Gold Kazoo longbis 198 cm Körperlänge17.25.22 RV Links oder Rechts w 199,95
SchlafsäckeThe North FaceGold Kazoo3 °C / -2 °C / -18 °CButtery Soft Fabrics100% NylonSupersoft100% Nylon90/10 Gänsedaune, +650 cuin 90% Daune/10% Federn380 g / 402 g43 cm x 14,5 cm ø6,2 l / 6,5 l183 cm / 198 cm78 cm / 82 cm72 cm / 73 cm47 cm / 47 cm994 cm / 1004 g
Mountain EquipmentClassic 5002 °C / -4 °C / -20 °CDWR100% Nylon (Ripstop)Ultrasoft 4040's100% Nylon90/10 Daune, 675+ cuin90% Daune/10% Federn500 g / 500 g / 550 g34 cm x 19 cm ø7,4 l / 7,9 l / 8,5 l175 cm / 185 cm / 200 cm79 cm / 79 cm / 80 cm56 cm / 56 cm / 58 cm40 cm / 40 cm / 42 cm1080 g / 1100 g / 1180 g
YetiSunrizer 600 Women1 °C / -5 °C / -21 °CID Soft100% NylonID Emboss Soft Cell100% Nylon90/10,600+cuin Crystal Down90% Daune/10% Federn570 g / 600 g15 cm x 15 cm x 32 cm8,0 l / 8,5 l165 cm / 175 cm75 cm / 78 cm53 cm / 56 cm50 cm / 51 cm1064 g / 1145 g
xmlprague 2013 Database Publishing
Design rules
8
„if new product group, then page break”
“always five products per page”
“space for text must take alllanguages into account”
“maximize page usage”
xmlprague 2013 Database Publishing
Design rules
8
„if new product group, then page break”
“always five products per page”
“space for text must take alllanguages into account”
“maximize page usage”
stat
icd
ynam
ic
xmlprague 2013 Database Publishing
The speedata Publisher
9
PDFXML
xmlprague 2013 Database Publishing
The speedata Publisher
9
PDFXML(data)
Layout instructions(XML)
xmlprague 2013 Database Publishing
Difference to XSL-FO
10
XSL-FO
speedata
Data+Layout PDFRenderer
Data PDFRenderer
Layout instructions
xmlprague 2013 Database Publishing
Difference to XSL-FO
10
XSL-FO
speedata
Data+Layout PDFRenderer
Data PDFRenderer
Layout instructions
xmlprague 2013 Database Publishing
Difference to XSL-FO
11
XSL-FO
speedata
Layout is known, before the text is converted to PDF
Layout is interpreted within the renderer
xmlprague 2013 Database Publishing
Hello world
12
<?xml version="1.0"?><data attrib="Hello World!"> ....</data>
data XML
xmlprague 2013 Database Publishing
Hello world
12
<Layout> <Record element="data"> <PlaceObject> <Textblock width="10"> <Paragraph> <Value>Hello world!</Value> </Paragraph> </Textblock> </PlaceObject> </Record></Layout>
<?xml version="1.0"?><data attrib="Hello World!"> ....</data>
data XML
xmlprague 2013 Database Publishing
Hello world
13
<Layout> <Record element="data"> <PlaceObject> <Textblock width="10"> <Paragraph> <Value select="@attrib"/> </Paragraph> </Textblock> </PlaceObject> </Record></Layout>
<?xml version="1.0"?><data attrib="Hello World!"> ....</data>
data XML
xmlprague 2013 Database Publishing
Virtual pages
14
Occupy the minimum space
xmlprague 2013 Database Publishing
Virtual pages
14
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment;
Occupy the minimum space
xmlprague 2013 Database Publishing
Virtual pages
14
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment;
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment;
Occupy the minimum space
xmlprague 2013 Database Publishing
Virtual pages
14
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment;
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment;
and yet I feel that I never was a greater artist than now. When, while the lovely valley teems with vapour around me, and the meridian sun strikes the upper surface of the impenetrable foliage of my trees, and but a few stray gleams steal into the inner sanctuary, I throw myself down among the tall grass by the trickling stream; and, as I lie close to the earth
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment;
Occupy the minimum space
xmlprague 2013 Database Publishing
Page grid
15
xmlprague 2013 Database Publishing
Page grid
15
xmlprague 2013 Database Publishing
Page grid
15
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was a greater artist than now. When, while the lovely valley teems with vapour around me, and the meridian sun strikes the upper surface of the impenetrable foliage of my trees, and but a few stray gleams steal into the inner sanctuary
xmlprague 2013 Database Publishing
16
xmlprague 2013 Database Publishing
Dynamic layout
16
xmlprague 2013 Database Publishing
Dynamic layout
16
‣ Place objects on a virtual page (also named “group”; not visible in the output) which starts with size (0,0) and expands by its contents
xmlprague 2013 Database Publishing
Dynamic layout
16
‣ Place objects on a virtual page (also named “group”; not visible in the output) which starts with size (0,0) and expands by its contents
‣ Check if the virtual page matches the given criteria
xmlprague 2013 Database Publishing
Dynamic layout
16
‣ Place objects on a virtual page (also named “group”; not visible in the output) which starts with size (0,0) and expands by its contents
‣ Check if the virtual page matches the given criteria
‣ Output or discard the virtual page
xmlprague 2013 Database Publishing
Dynamic layout
16
‣ Place objects on a virtual page (also named “group”; not visible in the output) which starts with size (0,0) and expands by its contents
‣ Check if the virtual page matches the given criteria
‣ Output or discard the virtual page
‣ groupheight(‹name of virtual page›)‣ groupwidth(‹name of virtual page›)
We have helper functions (layout)
xmlprague 2013 Database Publishing
Example
17
xmlprague 2013 Database Publishing
Example
17
xmlprague 2013 Database Publishing
Example
17
A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was a greater artist than now. When, while the lovely valley teems with vapour around me, and the meridian sun strikes the upper surface of the impenetrable foliage of my trees, and but a few stray gleams steal into the inner sanctuary
xmlprague 2013 Database Publishing
Dynamic layout
18
xmlprague 2013 Database Publishing
Dynamic layout
18
Example
xmlprague 2013 Database Publishing
Dynamic layout
18
Example‣ Typeset text with 10pt font with width of 3
grid cells
xmlprague 2013 Database Publishing
Dynamic layout
18
Example‣ Typeset text with 10pt font with width of 3
grid cells
‣ Does it fit in a 3x4 grid? I.e. is the height of the virtual page <= 4? (grid cells)
xmlprague 2013 Database Publishing
Dynamic layout
18
Example‣ Typeset text with 10pt font with width of 3
grid cells
‣ Does it fit in a 3x4 grid? I.e. is the height of the virtual page <= 4? (grid cells)
‣ No: recreate the text with 9pt font
xmlprague 2013 Database Publishing
Dynamic layout
18
Example‣ Typeset text with 10pt font with width of 3
grid cells
‣ Does it fit in a 3x4 grid? I.e. is the height of the virtual page <= 4? (grid cells)
‣ No: recreate the text with 9pt font
‣ Output even if it still doesn't fit, but give a warning to the user
xmlprague 2013 Database Publishing
Virtual pages (groups)
19
<Group name="sample text"> <Contents> <PlaceObject> <Textblock fontface="main" width="3"> <Paragraph> <Value select="string(.)"/> </Paragraph> </Textblock> </PlaceObject> </Contents> </Group> <!-- Nothing put in the PDF yet. We do that on the next slide. --> ....
xmlprague 2013 Database Publishing
Virtual pages (groups)
20
<Switch> <Case test="sd:groupheight('sample text') <= 4"> <!-- fine, output --> <PlaceObject groupname="sample text"/> </Case> <Otherwise> <!-- too large, use smaller font --> <PlaceObject> <Textblock width="3" fontface="small"> ... as before ... </Textblock> </PlaceObject> <Message> <Value>The text is too long!</Value> </Message> </Otherwise></Switch>
xmlprague 2013 Database Publishing
Layout instructions
21
xmlprague 2013 Database Publishing
Layout instructions
21
‣ XML based
xmlprague 2013 Database Publishing
Layout instructions
21
‣ XML based
‣ Schema: RelaxNG
xmlprague 2013 Database Publishing
Layout instructions
21
‣ XML based
‣ Schema: RelaxNG
‣ Multilingual: English / German
xmlprague 2013 Database Publishing
Layout instructions
21
‣ XML based
‣ Schema: RelaxNG
‣ Multilingual: English / German
‣ Problem: there is no markup standard for dynamic, paginated layout
xmlprague 2013 Database Publishing
Layout instructions
21
‣ XML based
‣ Schema: RelaxNG
‣ Multilingual: English / German
‣ Problem: there is no markup standard for dynamic, paginated layout
‣ We take parts from XSLT, XPath, CSSHTML (table model), and our own functions
xmlprague 2013 Database Publishing
Layout instructions
21
‣ XML based
‣ Schema: RelaxNG
‣ Multilingual: English / German
‣ Problem: there is no markup standard for dynamic, paginated layout
‣ We take parts from XSLT, XPath, CSSHTML (table model), and our own functions
‣ Complete programming language (variables, loops, conditionals)
xmlprague 2013 Database Publishing
Layout instructions
21
‣ XML based
‣ Schema: RelaxNG
‣ Multilingual: English / German
‣ Problem: there is no markup standard for dynamic, paginated layout
‣ We take parts from XSLT, XPath, CSSHTML (table model), and our own functions
‣ Complete programming language (variables, loops, conditionals)
‣ We support XML standards such as XInclude, XProc
xmlprague 2013 Database Publishing
Technical data
22
xmlprague 2013 Database Publishing
Technical data
22
‣ 100%-automation because of “server application“
xmlprague 2013 Database Publishing
Technical data
22
‣ 100%-automation because of “server application“
‣ Backend: TEX (more exact: LuaTEX),
therefore: full unicode suport, OpenType fonts, excellent typography
xmlprague 2013 Database Publishing
Technical data
22
‣ 100%-automation because of “server application“
‣ Backend: TEX (more exact: LuaTEX),
therefore: full unicode suport, OpenType fonts, excellent typography
‣ High speed, first page within less than 1/3 second, up to 300 pages/sec.
xmlprague 2013 Database Publishing
Technical data
22
‣ 100%-automation because of “server application“
‣ Backend: TEX (more exact: LuaTEX),
therefore: full unicode suport, OpenType fonts, excellent typography
‣ High speed, first page within less than 1/3 second, up to 300 pages/sec.
‣ Automatic generation of cross references, table of contents and other tables
xmlprague 2013 Database Publishing
Technical data
22
‣ 100%-automation because of “server application“
‣ Backend: TEX (more exact: LuaTEX),
therefore: full unicode suport, OpenType fonts, excellent typography
‣ High speed, first page within less than 1/3 second, up to 300 pages/sec.
‣ Automatic generation of cross references, table of contents and other tables
‣ OpenSource license (github, AGPL)
xmlprague 2013 Database Publishing
Technical data
22
‣ 100%-automation because of “server application“
‣ Backend: TEX (more exact: LuaTEX),
therefore: full unicode suport, OpenType fonts, excellent typography
‣ High speed, first page within less than 1/3 second, up to 300 pages/sec.
‣ Automatic generation of cross references, table of contents and other tables
‣ OpenSource license (github, AGPL)
‣ Programming language: backend 99% Lua, frontend 100% XML + XPath
xmlprague 2013 Database Publishing
Technical data
22
‣ 100%-automation because of “server application“
‣ Backend: TEX (more exact: LuaTEX),
therefore: full unicode suport, OpenType fonts, excellent typography
‣ High speed, first page within less than 1/3 second, up to 300 pages/sec.
‣ Automatic generation of cross references, table of contents and other tables
‣ OpenSource license (github, AGPL)
‣ Programming language: backend 99% Lua, frontend 100% XML + XPath
‣ Complete user's manual
xmlprague 2013 Database Publishing
Why this talk?
23
xmlprague 2013 Database Publishing
Why this talk?
23
‣ Start a discussion: how would a “standard” for dynamic layout on paged media look like?
xmlprague 2013 Database Publishing
Why this talk?
23
‣ Start a discussion: how would a “standard” for dynamic layout on paged media look like?
‣ Inspire the audience to come up with alternative implementations
xmlprague 2013 Database Publishing
Why this talk?
23
‣ Start a discussion: how would a “standard” for dynamic layout on paged media look like?
‣ Inspire the audience to come up with alternative implementations
‣ Gain popularity of the speedata Publisher – nice to have: contributions (documentation, code, bug reports)
xmlprague 2013 Database Publishing
More information
24
speedata.github.com/publisher
Mail: gundlach@speedata.de
Source code
Twitter: @speedata
Recommended