aboutsummaryrefslogtreecommitdiffstats
path: root/docs/xml-docs/xml2pdf.xsl
diff options
context:
space:
mode:
authorfotis <fotis@unknown>2000-06-23 13:16:43 +0000
committerfotis <fotis@unknown>2000-06-23 13:16:43 +0000
commitb15d38da94b6edb8460c824a38ad42ac5fe9a37a (patch)
tree4b61608d7f58f905a4d9cb5ff4dc807cba20dc3b /docs/xml-docs/xml2pdf.xsl
parentd82981702279d9e3cdc419e0a960ef1f8b488000 (diff)
downloadxmlgraphics-fop-b15d38da94b6edb8460c824a38ad42ac5fe9a37a.tar.gz
xmlgraphics-fop-b15d38da94b6edb8460c824a38ad42ac5fe9a37a.zip
add: xml files with the fop documentation (mirrors files from xml-site) and an ant script to write all into one pdf file
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193436 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/xml-docs/xml2pdf.xsl')
-rw-r--r--docs/xml-docs/xml2pdf.xsl290
1 files changed, 290 insertions, 0 deletions
diff --git a/docs/xml-docs/xml2pdf.xsl b/docs/xml-docs/xml2pdf.xsl
new file mode 100644
index 000000000..f67edd58d
--- /dev/null
+++ b/docs/xml-docs/xml2pdf.xsl
@@ -0,0 +1,290 @@
+<?xml version="1.0"?>
+<!-- XSLT stylesheet to convert the Fop documentation collected in one xml file into a fo file
+ for use in FOP
+
+TBD: - The faq doesn't show in the content
+ - check why margin-bottom on the page with properties is too large
+ - check why keep-next not only doesn't work, but leads to repeating already printed lines
+ - make lines containing only code look nicer (smaller line height)
+ - check why in section "FO Formatting" p. 17 the bullets are overwritten
+ - correct the hack replacing nbsp with '-'
+ - handle the links correctly which have been external in the html doc and are now internal
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+>
+
+<xsl:template match ="/">
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+ <!-- defines page layout -->
+ <fo:layout-master-set>
+
+ <fo:simple-page-master page-master-name="first"
+ height="29.7cm"
+ width="21cm"
+ margin-top="1.5cm"
+ margin-bottom="2cm"
+ margin-left="2.5cm"
+ margin-right="2.5cm">
+ <fo:region-before extent="1.5cm"/>
+ <fo:region-body margin-top="3cm"/>
+ <fo:region-after extent="1.5cm"/>
+ </fo:simple-page-master>
+
+ <fo:simple-page-master page-master-name="rest"
+ height="29.7cm"
+ width="21cm"
+ margin-top="1.5cm"
+ margin-bottom="2cm"
+ margin-left="2.5cm"
+ margin-right="2.5cm">
+ <fo:region-before extent="1.5cm"/>
+ <fo:region-body margin-top="2.5cm"/>
+ <fo:region-after extent="1.5cm"/>
+ </fo:simple-page-master>
+
+ </fo:layout-master-set>
+
+ <fo:page-sequence>
+ <fo:sequence-specification>
+ <fo:sequence-specifier-repeating page-master-first="first"
+ page-master-repeating="rest"/>
+ </fo:sequence-specification>
+
+ <fo:static-content flow-name="xsl-before">
+ <fo:block text-align="end"
+ font-size="10pt"
+ font-family="serif"
+ line-height="14pt" >
+ FOP documentation - p. <fo:page-number/>
+ </fo:block>
+ </fo:static-content>
+
+ <fo:flow flow-name="xsl-body">
+
+
+ <fo:block font-size="18pt"
+ font-family="sans-serif"
+ line-height="24pt"
+ space-after.optimum="15pt"
+ background-color="blue"
+ color="white"
+ text-align="centered">
+ FOP - an xsl:fo renderer
+ </fo:block>
+
+
+ <!-- generates table of contents and puts it into a table -->
+
+ <fo:block font-size="14pt"
+ font-family="sans-serif"
+ line-height="18pt"
+ space-after.optimum="10pt"
+ font-weight="bold"
+ start-indent="15pt">
+ Content
+ </fo:block>
+
+ <fo:table>
+ <fo:table-column column-width="1cm"/>
+ <fo:table-column column-width="15cm"/>
+ <fo:table-body font-size="12pt"
+ line-height="16pt"
+ font-family="sans-serif">
+ <xsl:for-each select="//s1"> <!-- An dieser Stelle muesste noch ein "oder finde faqs" stehen -->
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block text-align="end" >
+ <xsl:number value="position()" format="1"/>)
+ </fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block text-align="start" >
+ <fo:simple-link color="blue">
+ <xsl:attribute name="internal-destination">
+ <xsl:value-of select="translate(.,' ),-.(','____')"/>
+ </xsl:attribute>
+ <xsl:value-of select="@title"/>
+ </fo:simple-link>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </xsl:for-each>
+ </fo:table-body>
+ </fo:table>
+
+
+ <xsl:apply-templates select="documentation"/>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+</xsl:template>
+
+<!-- s1 -->
+<xsl:template match ="s1">
+ <fo:block font-size="18pt"
+ font-family="sans-serif"
+ line-height="24pt"
+ space-before.optimum="15pt"
+ space-after.optimum="15pt"
+ background-color="blue"
+ color="white"
+ text-align="centered"
+ >
+ <xsl:attribute name="id">
+ <xsl:value-of select="translate(.,' ),-.(','____')"/>
+ </xsl:attribute>
+ <xsl:value-of select="@title"/>
+ </fo:block>
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- s2 -->
+<xsl:template match ="s2">
+ <fo:block font-size="16pt"
+ font-family="sans-serif"
+ line-height="20pt"
+ space-before.optimum="15pt"
+ space-after.optimum="12pt"
+ text-align="centered"
+ padding-top="3pt"
+ >
+ <xsl:value-of select="@title"/>
+ </fo:block>
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- s3 -->
+<xsl:template match ="s3">
+ <fo:block font-size="14pt"
+ font-family="sans-serif"
+ line-height="18pt"
+ space-before.optimum="10pt"
+ space-after.optimum="9pt"
+ text-align="centered"
+ padding-top="3pt">
+ <xsl:value-of select="@title"/>
+ </fo:block>
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- p [not(code)] -->
+<xsl:template match ="p">
+ <fo:block font-size="11pt"
+ font-family="sans-serif"
+ line-height="13pt"
+ space-after.optimum="3pt"
+ space-before.optimum="3pt"
+ text-align="justified">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- p + code
+<xsl:template match ="p[code]">
+ <fo:block font-size="11pt"
+ font-family="sans-serif"
+ line-height="11pt"
+ space-after.optimum="0pt"
+ space-before.optimum="0pt"
+ text-align="start">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+-->
+
+<!-- faqs -->
+<xsl:template match ="faqs">
+ <fo:block font-size="18pt"
+ font-family="sans-serif"
+ line-height="24pt"
+ space-before.optimum="15pt"
+ space-after.optimum="15pt"
+ background-color="blue"
+ color="white"
+ text-align="centered"
+ >
+ <xsl:attribute name="id">
+ <xsl:value-of select="translate(.,' ),-.(','____')"/>
+ </xsl:attribute>
+ <xsl:value-of select="@title"/>
+ </fo:block>
+ <xsl:apply-templates/>
+</xsl:template>
+
+
+<!-- faq -->
+<xsl:template match ="faq">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- q in faq -->
+<xsl:template match ="q">
+ <fo:block font-size="11pt"
+ font-family="sans-serif"
+ line-height="13pt"
+ space-after.optimum="3pt"
+ space-before.optimum="3pt"
+ text-align="justified">
+ <xsl:apply-templates/>
+ </fo:block>
+</xsl:template>
+
+<!-- a in faq -->
+<xsl:template match ="a">
+ <xsl:apply-templates/>
+</xsl:template>
+
+
+<!-- jump (links) -->
+<xsl:template match ="*/jump">
+ <fo:simple-link color="blue" external-destination="{@href}">
+ <xsl:apply-templates/>
+ </fo:simple-link>
+</xsl:template>
+
+
+<!-- code -->
+<xsl:template match ="*/code">
+ <fo:inline-sequence font-size="10pt"
+ font-family="Courier">
+ <xsl:apply-templates/>
+ </fo:inline-sequence>
+</xsl:template>
+
+
+<!-- ul (unordered list) -->
+<xsl:template match ="ul">
+ <fo:list-block start-indent="1cm"
+ provisional-distance-between-starts="12pt"
+ font-family="sans-serif"
+ font-size="11pt"
+ line-height="11pt">
+ <xsl:apply-templates/>
+ </fo:list-block>
+</xsl:template>
+
+<!-- li (list item) -->
+<xsl:template match ="li">
+ <fo:list-item>
+ <fo:list-item-label>
+ <fo:block><fo:inline-sequence font-family="Symbol">&#183;</fo:inline-sequence></fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body>
+ <fo:block space-after.optimum="4pt"
+ text-align="justified"
+ padding-top="3pt">
+ <xsl:apply-templates/>
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+</xsl:template>
+
+
+<!-- end body -->
+
+</xsl:stylesheet>