aboutsummaryrefslogtreecommitdiffstats
path: root/docs/xml2pdf.xsl
diff options
context:
space:
mode:
authorjtauber <jtauber@unknown>1999-11-26 05:18:06 +0000
committerjtauber <jtauber@unknown>1999-11-26 05:18:06 +0000
commit41a580e7a635f9eb8e31cdbc509f48f640425b53 (patch)
treef0933061b6f98d5faa79d29c4e7e00c4074b0fac /docs/xml2pdf.xsl
parenta476ff2b906f937cdead665a3b30472c4dc21f1d (diff)
downloadxmlgraphics-fop-41a580e7a635f9eb8e31cdbc509f48f640425b53.tar.gz
xmlgraphics-fop-41a580e7a635f9eb8e31cdbc509f48f640425b53.zip
added docs directory with readme and faq marked up in qaml and xslt for producing ascii, html and pdf. Contributed by Fotis Jannidis
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193245 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/xml2pdf.xsl')
-rw-r--r--docs/xml2pdf.xsl193
1 files changed, 193 insertions, 0 deletions
diff --git a/docs/xml2pdf.xsl b/docs/xml2pdf.xsl
new file mode 100644
index 000000000..2389546ee
--- /dev/null
+++ b/docs/xml2pdf.xsl
@@ -0,0 +1,193 @@
+<?xml version="1.0"?>
+<!-- XSLT stylesheet: QAML -> FO (QAML = FAQ Markup Language)
+ version: 1.00ß
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ result-ns="fo" indent-result="yes">
+
+ <xsl:output indent="yes"/>
+
+<xsl:template match ="/">
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+<!-- definiert die Druckseiten -->
+<fo:layout-master-set>
+
+<fo:simple-page-master page-master-name="first"
+height="29.7cm" width="21cm"
+margin-top="1cm" margin-bottom="2cm"
+margin-left="2.5cm" margin-right="2.5cm">
+<fo:region-before extent="3cm"/>
+<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="1cm" margin-bottom="2cm"
+margin-left="2.5cm" margin-right="2.5cm">
+<fo:region-before extent="2.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 - p. <fo:page-number/>
+</fo:block>
+ </fo:static-content>
+
+<fo:flow flow-name="xsl-body">
+<xsl:apply-templates select="faq"/>
+</fo:flow>
+
+</fo:page-sequence>
+ </fo:root>
+ </xsl:template>
+
+<!-- don't output head -->
+<xsl:template match ="head">
+</xsl:template>
+
+
+<!-- body -->
+<xsl:template match ="body">
+<!-- defines text title -->
+<fo:block font-size="24pt"
+font-family="serif"
+line-height="24pt"
+space-after.optimum="15pt">
+<xsl:value-of select="//head/title"/>
+</fo:block>
+
+<!-- processing of the rest -->
+<xsl:apply-templates/>
+</xsl:template>
+
+
+
+<!-- title level1, numbering is generated -->
+<xsl:template match ="section[@class='level1']/title">
+<fo:block font-size="18pt"
+font-family="serif"
+line-height="20pt"
+space-before.optimum="20pt"
+space-after.optimum="14pt"
+keep-with-next="true">
+<xsl:number count="section[@class='level1']"/>)
+<xsl:apply-templates/>
+</fo:block>
+</xsl:template>
+
+<!-- title level2 -->
+<xsl:template match ="section[@class='level2']/title">
+<fo:block font-size="16pt"
+font-family="serif"
+line-height="18pt"
+space-before.optimum="8pt"
+space-after.optimum="8pt"
+keep-with-next="true">
+<xsl:apply-templates/>
+</fo:block>
+</xsl:template>
+
+<!-- title level3 -->
+<xsl:template match ="section[@class='level3']/title">
+<fo:block font-size="14pt"
+font-family="serif"
+line-height="16pt"
+space-before.optimum="8pt"
+space-after.optimum="4pt"
+keep-with-next="true">
+<xsl:apply-templates/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match ="section">
+<xsl:apply-templates/>
+</xsl:template>
+
+<!-- question group -->
+<xsl:template match ="qna">
+<xsl:apply-templates/>
+</xsl:template>
+
+<!-- question -->
+<xsl:template match ="q">
+<fo:block start-indent="0.7cm"
+space-before.optimum="12pt">
+<xsl:value-of select="."/>
+</fo:block>
+</xsl:template>
+
+<!-- para in answer -->
+<xsl:template match ="a/p">
+<fo:block start-indent="0.7cm">
+<xsl:apply-templates/>
+</fo:block>
+</xsl:template>
+
+<!-- list -->
+<xsl:template match ="div[@class='list']">
+<fo:list-block start-indent="1cm"
+provisional-label-separation="3pt"
+provisional-distance-between-starts="6pt">
+<xsl:apply-templates/>
+</fo:list-block>
+</xsl:template>
+
+<!-- list items -->
+<xsl:template match ="div/p[@class='li']">
+<fo:list-item>
+<fo:list-item-label><fo:block>*</fo:block></fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<xsl:apply-templates/>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+</xsl:template>
+
+
+<!-- code fragments, marked by attribute pre -->
+<xsl:template match ="section/p[@class='pre']">
+<fo:block font-size="10pt"
+font-family="monospace"
+line-height="12pt"
+space-before.optimum="3pt"
+space-after.optimum="3pt">
+<xsl:apply-templates/>
+</fo:block>
+</xsl:template>
+
+<!-- normal paras without class attribute -->
+<xsl:template match ="section/p[not(@class)]">
+<fo:block space-after.optimum="3pt">
+<xsl:apply-templates/>
+</fo:block>
+</xsl:template>
+
+<!-- link -->
+<xsl:template match ="link">
+<fo:inline-sequence font-style="italic"
+ font-family="sans-serif">
+<xsl:apply-templates/>
+</fo:inline-sequence>
+(<xsl:value-of select="@href"/>)
+</xsl:template>
+
+</xsl:stylesheet>