Extensible Stylesheet Language (XSL-FO) 2001 4
Table of Contents...4...5 XML...5 XSLT...6 XSLT...7 XSLT...7 XSL-FO XSLT...7 XSL-FO...8 XSL-FO...9...9 XSL-FO...10...10...10...10...11...12...12 Keep Break...13 FO...14...14...14 XSL-FO...15 FO...15 FO...15 FO...16 FO...16 FO...17 FO...17 FO...17 FO...17...18...20 XSL-FO...20...21...21...22...24...24...24...25...26...26...27
FO...29...29...29...30...31...32...33 XSL...33
XML Web XML SGML XML SGML SGML SGMLXML XML Perl MicrosoftWord RTF RTF Word RTF RTF FrameMakerSGML FrameMakerSGML FrameMaker DTP DTP DTP XML XML XML XML XML XML XML XML Extensible Stylesheet Language Web World Wide Web Consortium (W3C) XML XSL XSL XSL-FO (1) InternetExplorer5 XML HTML HTML IE5 XSL-FO (1) XSL - 4 -
XSL-FO XML XML XSL-FO XSL-FO XSLT XSLT XML XSL-FO XSLT XML XSLT XSLT XML XSL-FO XSL-FO XSL-FO XSLT XSL-FO XSL-FO ( ) XSL-FO PDF XML XML XML - 5 -
XML Extensible Stylesheet Language(XSL-FO) XML () <doc> </doc> <head> <title> </title> <author> </author> <date> 2001 2 </date> </head> <body> <section> <title> </title>...()... </section>...()... </body> doc ( head body titleauthordate (wellformed )XML XML XML XML title index note XML XSLT XSLT (1) XSLT XML XSL-FO XML XSLT XML XSL-FO XML HTML (1) - 6 -
XSLT XSLT XSLT XML XSLT ( XSL ) XSLT XML XML XML XSLT XSLT W3C XSLT XSLT XSLT Microsoft MSXML3.DLL MSXML 3.0 2000 11 1 Microsoft Web Internet Explorer5.5 MS Internet Explorer6 MSXML3.DLL ( )Internet Explorer DLL XSLT Microsoft MSXML3.DLL MSXSL.EXE Microsoft XML XSLT MSXML3.DLL DLL MSXML3.DLL PC MSXSL.EXE DOS XSLT XSLT XSLT XSL 1 100 XSLT XSLT XSLT XSLT XML XSLT XSL-FO XSLT XML XSL-FO XSLT XSL-FO <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:fo="http://www.w3.org/1999/xsl/format" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="xml" version="1.0" indent="no" /> <xsl:param name="toc-make" select="true()"/> <!-- Paper Size --> <xsl:param name="paper-width" > 210mm </xsl:param> <xsl:param name="paper-height"> 297mm </xsl:param> Extensible Stylesheet Language(XSL-FO) - 7 -
... <!-- Content Transform--> <xsl:template match="doc"> <fo:root xmlns:fo="http://www.w3.org/1999/xsl/format"> <fo:layout-master-set> <fo:simple-page-master margin-top="5mm" margin-bottom="5mm" margin-right="5mm" margin-left="10mm" master-name="pagemaster">... </fo:simple-page-master>... </fo:layout-master-set>... </fo:root> </xsl:template> </xsl:stylesheet> XSLT xsl: ( ) XSLT fo: XSL-FO XSL-FO XSLT XSLT XSL-FO XSL-FO HTML XSLT XSLT PureSmartDoc XML XSL-FO XSLT DTD XML XSL-FO XSL-FO XSL-FO fo:root wellformed XML XSL-FO XSL-FO <?xml version="1.0" encoding="utf-16"?> <fo:root xmlns:fo="http://www.w3.org/1999/xsl/format"> <fo:layout-master-set> <fo:simple-page-master margin-top="5mm" margin-bottom="5mm" margin-right="5mm" margin-left="10mm" master-name="pagemaster" page-height="297mm" page-width="210mm"> <fo:region-body margin-top="8mm" margin-right="8mm" margin-bottom="8mm" margin-left="8mm"/> <fo:region-before border-after-style="solid" border-width="thin" extent="5mm" - 8 -
display-align="after"/> <fo:region-after border-before-style="solid" border-width="thin" extent="5mm" display-align="before"/> <fo:region-start reference-orientation="270" extent="5mm"/> <fo:region-end reference-orientation="90" extent="5mm"/> </fo:simple-page-master>... </fo:layout-master-set>... </fo:root> XSL-FO XSL-FO XSL-FO XSL-FO Antenna House XSL FormatterV1.1 XSL-FO (GUI) GUI (V1.1J) (V0.1V1.1E ) COM FOP XEP PassiveTeX UFO Web Apache JAVA XSL-FO XSL-FO PDF 2001 1 0.16 RenderX JAVA XSL-FO FO PDF FO TeX TeX Unicorn FO TeX TeX XML XSL-FO Antenna House XSL Formatter - 9 -
XSL-FO XSL-FO 2000 11 21 Candidate Recommendation Candidate Recommendation XSL-FO Proposed Recommendation Recommendation XSL-FO XSL-FO XSL-FO XSL-FO Formatting Objects FO FO FO 56 FO 246 CSS2 FO CSS2 XSL-FO Version 1 XSL-FO ( ) XSL-FO XSL-FO AntennaHouse XSL Formatter XSL-FO Formatter FO FO XSL-FO Extensible Stylesheet Language(XSL-FO) XSL-FO XSL-FO CSS2 CSS2 XSL-FO CSS2 XSL-FO Formatting Object XSL-FO FO XFL-FO FO XSL-FO ( ) ( ) - 10 -
top bottom left right FO reference-orientation reference-orientation 0 90 90 reference-orientation 270 top top 270 FO fo:simple-page-master fo:region-body fo:region-before fo:region-after fo:region-start fo:region-end fo:table - 11 -
fo:block-container fo:inline-container FO writing-mode writing-mode lr-tb( ) rl-tb tb-rl writing-mode tb-rl referenceorientation 0 FO FO FO reference-orientation writing-mode block-progression-direction inline-progression-direction ( ) block-progression-direction inline-progression-direction - 12 -
before after start end Keep Break ( region-body ) ( ) 3 Keep Break Break break-beforebreak-after FO break-beforebreak-after pageeven-pageodd-pagecolumnauto FO break-before page FO FO break-after page FO auto Break Keep keep-with-previouskeep-with-nextkeep-together FO keep-with-previouskeep-with-nextkeep-together within-pagewithin-columnwithin-line - 13 -
always always auto Keep Break Keep Break Keep FO FO FO XSL-FO border CSS page-break-inside CSS CSS XML XSL-FO border border-top border-top-color Extensible Stylesheet Language(XSL-FO) +()-()*()div( )mod( ) RGB(red, green, blue)icc(international Color Consortium) cm mm in pt pc px em 2.54cm 1/72in 12pt 0.28mm(1/90 ) 1/92 1/72 font-size 1em font-size - 14 -
XSL-FO Extensible Stylesheet Language(XSL-FO) FO FO FO 6.4.2 fo:root FO 6.4.3 fo:declarations 6.4.4 fo:color-profile ICC 6.4.5 fo:page-sequence 6.4.6 fo:layout-master-set 6.4.7 fo:page-sequence-master 6.4.8 fo:single-page-master-reference 6.4.9 fo:repeatable-page-master-reference 6.4.10 fo:repeatable-page-master-alternatives 6.4.11 fo:conditional-page-master-reference 6.4.12 fo:simple-page-master 6.4.13 fo:region-body 6.4.14 fo:region-before 6.4.15 fo:region-after 6.4.16 fo:region-start 6.14.17 fo:region-end 6.14.18 fo:flow 6.14.19 fo:static-content 6.14.20 fo:title FO FO 6.5.2 fo:block - 15 -
FO 6.5.3 fo:block-container FO FO 6.6.2 fo:bidi-override Unicode bidi 6.6.3 fo:character 6.6.4 fo:initial-property-set fo:block 6.6.5 fo:external-graphic FO 6.6.6 fo:instream-foreign-object 6.6.7 fo:inline 6.6.8 fo:inline-container 6.6.9 fo:leader 6.6.10 fo:page-number 6.6.11 fo:page-number-citation FO FO FO 6.7.2 fo:table-and-caption 6.7.3 fo:table 6.7.4 fo:table-column 6.7.5 fo:table-caption fo:table-and-caption 6.7.6 fo:table-header 6.7.7 fo:table-footer 6.7.8 fo:table-body 6.7.9 fo:table-row 6.7.10 fo:table-cell - 16 -
FO FO 6.8.2 fo:list-block 6.8.3 fo:list-item 6.8.4 fo:list-item-body 6.8.5 fo:list-item-label FO FO 6.9.2 fo:basic-link 1 6.9.3 fo:multi-switch FO 6.9.4 fo:multi-case FO 6.9.5 fo:multi-toggle multi-case 6.9.6 fo:multi-properties 6.9.7 fo:multi-property-set FO FO FO 6.10.2 fo:float 6.10.3 fo:footnote region-body 6.10.4 fo:footnote-body FO FO 6.11.2 fo:wrapper FO 6.11.3 fo:marker fo: retrieve-marker 6.11.4 fo:retrieve-marker - 17 -
FO CSS2 FO FO FO FO FO FO display-alignrelativealign before-float Keeps and Breaks top - 18 -
Extensible Stylesheet Language(XSL-FO) - 19 -
XSL-FO XSL-FO fo:root 1 fo:layout-master-setfo:declarations( ) fo:page-sequence fo:layout-master-set fo:declarations fo:page-sequance( ) XSL-FO fo:page-sequence fo:page-sequence master-name (cover) (body) XSL-FO <fo:root> <fo:layout-master-set> <fo:simple-pagemaster master-name="cover">...... </fo:simple-pagemaster> <fo:simple-pagemaster master-name="body"> </fo:simple-pagemaster>...... </fo:layout-master-set> <fo:page-sequence master-name="cover">......... </fo:page-sequence> <fo:page-sequence master-name="body">......... </fo:page-sequence> </fo:root> - 20 -
fo:simple-page-master fo:page-sequence-master 2 1 ( fo:simple-page-master( ) fo:page-sequence-master fo: page-sequence-master fo:single-page-master-reference fo:repeatable-page-master-referencefo:repeatable-page-master-alternatives fo:repeatable-page-master-reference fo:repeatable-pagemaster-alternatives fo:repeatable-page-master-alternatives maximum-repeats master-name Extensible Stylesheet Language(XSL-FO) fo:repeatable-page-master-reference fo:simple-page-master fo: page-sequence XSL-FO Version1 fo:simple-page-master XSL- FO fo:simple-page-master master-name fo:simple-page-master fo:region-bodyfo-region-beforefo:region-afterfo-regionstartfo-region-end <fo:layout-master-set> <fo:simple-page-master margin-top="5mm" margin-bottom="5mm" margin-right="5mm" margin-left="10mm" master-name="pagemaster" page-height="297mm" page-width="210mm"> <fo:region-body margin-top="8mm" margin-right="8mm" margin-bottom="8mm" margin-left="8mm"/> <fo:region-before border-after-style="solid" border-width="thin" extent="5mm" display-align="after"/> <fo:region-after border-before-style="solid" border-width="thin" extent="5mm" display-align="before"/> <fo:region-start reference-orientation="270" extent="5mm"/> <fo:region-end reference-orientation="90" extent="5mm"/> </fo:simple-page-master> <fo:simple-page-master master-name="pagemaster-cover"> <fo:region-body margin-top="8mm" margin-right="8mm" margin-bottom="8mm" margin-left="8mm"/> </fo:simple-page-master> </fo:layout-master-set> - 21 -
PageMaster A4 fo:region-before fo:region-after fo:region-start fo:region-end page-width page-height margin-topmargin-bottommargin-leftmargin-right region-body region-beforeregion-afterregion-startregion-end region-body region region-body xsl-region-bodyregion-before xsl-region-beforeregion-after xsl-region-afterregion-start xsl-regionstartregion-end xsl-region-end fo:page-sequence fo:static-content fo:flow fo:static-content fo:flow (fo:region-body) Extensible Stylesheet Language(XSL-FO) (fo:page-number) - 22 -
<fo:page-sequence master-name="pagemaster"> <fo:static-content flow-name="xsl-region-before"> <fo:block text-align="center" font-size="small"> Extensible Stylesheet Language(XSL-FO) </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-after"> <fo:block text-align="center" font-size="small"> - <fo:page-number/> - </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-start"> <fo:block text-align="center" font-size="small"/> </fo:static-content> <fo:static-content flow-name="xsl-region-end"> <fo:block text-align="center" font-size="small"/> </fo:static-content> <fo:flow flow-name="xsl-region-body"> ----- ( )---- </fo:flow> </fo:page-sequence> XSL-FO fo:page-sequence fo:page-sequence master-name fo:page-sequence-master flow-name flow-map XSL-FO Version1 flow-map - 23 -
FO fo:block fo:block-container XSL-FO fo:block fo:block fo:block 14 keep-with-next fo:block <fo:block font-size="14pt" space-before="0.5em" space-before.precedence="1" space-after="0.5em" keep-with-next.within-page=" always" keep-with-next.within-column="always" start-indent="10mm"end-indent="10mm" id="idwfmy1"> -- -- </fo:block> fo:block-container fo:block-container fo:block-container <fo:block-container writing-mode="tb-rl" padding-before="3pt"padding-after="3pt" padding-start="3pt"padding-end="3pt" width="168mm"height="60mm"> <fo:block text-indent="1em" space-before="0.6em"space-after="0.6em" start-indent="10mm"end-indent="10mm" text-align="justify"> -- ()-- </fo:block> </fo:block-container> XML Web XML XML HTML XML SGML SGMLXML Extensible Stylesheet Language(XSL-FO) - 24 -
XSL-FO fo:list-block fo:list-item list-item fo-list-item-label( )list-item-body( ) 1. XSL-FO xsl:number 2. list-item-label list-item-body XSL-FO <fo:list-block> <fo:list-item> <fo:list-item-label start-indent="inherit+ 5mm" end-indent="label-end()"> <fo:block> </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <fo:block>...</fo:block> </fo:list-item-body> </fo:list-item> <fo:list-item> <fo:list-item-label start-indent="inherit+5mm" end-indent="label-end()"> <fo:block> </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <fo:block>...</fo:block> </fo:list-item-body> </fo:list-item> </fo:list-block> - 25 -
XSL-FO fo:table-and-caption fo:table Break XSL-FO <fo:table-and-caption> <fo:table> <fo:table-header> <fo:table-row> <fo:table-cell> <fo:block>...</fo:block> </fo:table-row> <fo:table-row> <fo:table-cell> <fo:block>...</fo:block> </fo:table-row> </fo:table-header> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block>...</fo:block> </fo:table-row> <fo:table-row> <fo:table-cell> <fo:block>...</fo:block> </fo:table-row> </fo:table-body> </fo:table> </fo:table-and-caption> fo:table fo:table-column fo:table-column column-width - 26 -
<fo:table-column column-number="1" /> <fo:table-column column-number="2" column-width="24pt" /> <fo:table-column column-number="3" column-width="6em" /> <fo:table-column column-number="4" column-width="proportional-column-width(4)" /> <fo:table-column column-number="5" column-width="proportional-column-width(2)" /> col1 col2 col3 col4 col5 1-1 1-2 1-3 1-4 1-5 4 (padding) <fo:table-and-caption border-style="solid"> <fo:table border-collapse="separate" border-separation.block-progressiondirection="2pt" border-separation.inline-progression-direction="2pt"> <fo:table-body> <fo:table-row border-style="dotted" border-width="thin"> <fo:table-cell border-style="solid" border-width="thin"> <fo:block>1</fo:block> <fo:table-cell border-style="dotted" border-width="thin"> <fo:block>2</fo:block> <fo:table-cell border-style="dashed" border-width="thin"> <fo:block>3</fo:block> <fo:table-cell border-style="inset" border-width="thin"> <fo:block>4</fo:block> <fo:table-cell border-style="outset" border-width="thin"> <fo:block>5</fo:block> </fo:table-row> <fo:table-row> <fo:table-cell background-color="red"> <fo:block>1-1</fo:block> <fo:table-cell background-color="blue"> <fo:block>1-2</fo:block> <fo:table-cell background-color="green"> <fo:block>1-3</fo:block> <fo:table-cell background-color="yellow"> <fo:block>1-4</fo:block> <fo:table-cell background-color="blue"> <fo:block>1-5</fo:block> </fo:table-row> - 27 -
<fo:table-row > <fo:table-cell background-color="pink" border-style="solid" border-width="thin" padding="5pt"> <fo:block border-style="solid" border-width="thin" background-color="gray" >2-1</fo:block> <fo:table-cell background-color="pink" border-style="solid" border-width="thin" padding="5mm"> <fo:block border-style="solid" border-width="thin" background-color="gray">2-2</ fo:block> <fo:table-cell background-color="pink" border-style="solid" border-width="thin" padding="3em"> <fo:block border-style="solid" border-width="thin" background-color="gray">2-3</ fo:block> <fo:table-cell background-color="pink" border-style="solid" border-width="thin" padding="1cm"> <fo:block border-style="solid" border-width="thin" background-color="gray">2-4</ fo:block> <fo:table-cell background-color="pink" border-style="solid" border-width="thin"> <fo:block border-style="solid" border-width="thin" background-color="gray">2-5</ fo:block> </fo:table-row> </fo:table-body> </fo:table> </fo:table-and-caption> 1 2 3 4 5 1-1 1-2 1-3 1-4 1-5 2-1 2-5 2-2 2-3 2-4 - 28 -
FO FO fo:externat-graphic FO <fo:inline font-style="italic"> </fo:inline> <fo:inline font-weight="bold"> </fo:inline> <fo:inline baseline-shift="super"> </fo:inline> <fo:inline baseline-shift="sub"> </fo:inline> Extensible Stylesheet Language(XSL-FO) fo:inline font-size 1 font-size 81012182430364248 FO <fo:block text-align="center"> <fo:inline font-size="8pt"></fo:inline> <fo:inline font-size="10pt"></fo:inline> <fo:inline font-size="12pt"></fo:inline> <fo:inline font-size="18pt"></fo:inline> <fo:inline font-size="24pt"></fo:inline> <fo:inline font-size="30pt"></fo:inline> <fo:inline font-size="36pt"></fo:inline> <fo:inline font-size="42pt"></fo:inline> <fo:inline font-size="48pt"></fo:inline> </fo:block> - 29 -
Extensible Stylesheet Language(XSL-FO) fo:inline-container <fo:inline-container text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm"> <fo:block font-size="0.5em" text-align="center" line-height="1.3" space-before="-1.3em" space-before.conditionality="retain" wrap-option="no-wrap"> </fo:block> <fo:block text-align="center" line-height="1" wrap-option="no-wrap"> </fo:block> </fo:inline-container> - 30 -
fo:footnote fo:footnote-body fo:footnote fo:footnote-body <fo:block text-indent="1em" space-before="0.6em" space-after="0.6em" start-indent="10mm" end-indent="10mm" text-align=" justify"> <fo:inline font-weight="bold"> Extensible Markup Language(XSL-FO <fo:footnote> <fo:inline baseline-shift=" super" font-size="75%"> (1) </fo:inline> <fo:footnote-body> <fo:block background-color="antiquewhite" start-indent="10mm" end-indent="10mm"> <fo:inline baseline-shift="super" font-size="75%"> (1) </fo:inline> XSL Extensible Stylesheet Language XSLT XPATH 1999 4 XSLTXPATH Internet Explorer XSL XML HTML </fo:block> </fo:footnote-body> </fo:footnote> </fo:inline> </fo:block> Extensible Stylesheet Language(XSL-FO (1) (1) XSL Extensible Stylesheet Language XSLT XPATH 1999 4 XSLTXPATH Internet Explorer XSL XML HTML - 31 -
fo:page-number-citation fo:page-number-citation ref-id ID fo:inline ID fo:leader leader fo:page-number-citation fo:block textalign-lastjustify fo:page-number-citation fo:leader <fo:block space-before="2em" start-indent="10mm" end-indent="10mm" text-align-last="justify"> <fo:leader leader-pattern="dots"/> <fo:page-number-citation ref-id="xyz0211"/> </fo:block> <fo:block space-before="2em" start-indent="10mm" end-indent="10mm"> </fo:block> <fo:block start-indent="10mm" end-indent="10mm"> </fo:block> <fo:block start-indent="10mm" end-indent="10mm"> <fo:inline id="xyz0211"> </fo:inline> </fo:block> <fo:block start-indent="10mm" end-indent="10mm"> </fo:block>...32-32 -
XSL XSL XSL XSL XSL 1997 8 MicrosoftInsoArbortext W3C A Proposal for XSL Extensible Stylesheet Language XSL-FO XSLT XSL-FO XSLT XSL-FO 1999 4 Extensible Stylesheet Language XSL Transformations XSLT Extensible Stylesheet Language XSL-FO 2 XSLT 7 XSLT XML Path Language(XPath XSLTXPath 1999 11 W3C Microsoft InternetExplorer XML XSLT/XPath Microsoft W3C XSLT/XPath MSXML3.DLL InternetExplorer XML XSLT HTML+CSS Web XML XSLT HTML XSL-FO XML Microsoft XSL-FO XSL-FO Arbortext - 33 -