]> granicus.if.org Git - docbook-dsssl/commitdiff
A first draft of an FO version
authorNorman Walsh <ndw@nwalsh.com>
Mon, 9 Apr 2001 11:26:41 +0000 (11:26 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Mon, 9 Apr 2001 11:26:41 +0000 (11:26 +0000)
slides/xsl/fo-plain.xsl [new file with mode: 0644]
slides/xsl/titlepage-fo-plain.xml [new file with mode: 0644]

diff --git a/slides/xsl/fo-plain.xsl b/slides/xsl/fo-plain.xsl
new file mode 100644 (file)
index 0000000..57fe9c4
--- /dev/null
@@ -0,0 +1,148 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version="1.0">
+
+<xsl:import href="/sourceforge/docbook/xsl/fo/docbook.xsl"/>
+<xsl:include href="slides-fo-titlepage.xsl"/>
+
+<xsl:param name="page.orientation" select="'landscape'"/>
+
+<xsl:param name="slide.title.font.family" select="'Helvetica'"/>
+<xsl:param name="slide.font.family" select="'Helvetica'"/>
+
+<xsl:attribute-set name="slides.properties">
+  <xsl:attribute name="font-family">
+    <xsl:value-of select="$slide.font.family"/>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.properties">
+  <xsl:attribute name="font-family">
+    <xsl:value-of select="$slide.font.family"/>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="foil.properties">
+  <xsl:attribute name="font-family">
+    <xsl:value-of select="$slide.font.family"/>
+  </xsl:attribute>
+  <xsl:attribute name="font-size">18pt</xsl:attribute>
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="speakernote.properties">
+  <xsl:attribute name="font-family">Times Roman</xsl:attribute>
+  <xsl:attribute name="font-style">italic</xsl:attribute>
+  <xsl:attribute name="font-size">12pt</xsl:attribute>
+  <xsl:attribute name="font-weight">normal</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="slides.titlepage.recto.style"/>
+<xsl:attribute-set name="slides.titlepage.verso.style"/>
+<xsl:attribute-set name="section.titlepage.recto.style"/>
+<xsl:attribute-set name="section.titlepage.verso.style"/>
+<xsl:attribute-set name="foil.titlepage.recto.style"/>
+<xsl:attribute-set name="foil.titlepage.verso.style"/>
+
+<!-- ============================================================ -->
+
+<xsl:template match="slides">
+  <xsl:variable name="master-name">
+    <xsl:call-template name="select.pagemaster"/>
+  </xsl:variable>
+
+  <fo:page-sequence hyphenate="{$hyphenate}"
+                    master-name="{$master-name}">
+    <xsl:attribute name="language">
+      <xsl:call-template name="l10n.language"/>
+    </xsl:attribute>
+    <xsl:if test="$double.sided != 0">
+      <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
+    </xsl:if>
+
+    <xsl:apply-templates select="." mode="running.head.mode">
+      <xsl:with-param name="master-name" select="$master-name"/>
+    </xsl:apply-templates>
+    <xsl:apply-templates select="." mode="running.foot.mode">
+      <xsl:with-param name="master-name" select="$master-name"/>
+    </xsl:apply-templates>
+    <fo:flow flow-name="xsl-region-body"
+             xsl:use-attribute-sets="slides.properties">
+      <xsl:call-template name="slides.titlepage"/>
+      <xsl:apply-templates select="speakernotes"/>
+      <xsl:apply-templates select="section|foil"/>
+    </fo:flow>
+  </fo:page-sequence>
+</xsl:template>
+
+<xsl:template match="slidesinfo"/>
+
+<xsl:template match="slides" mode="title.markup">
+  <xsl:param name="allow-anchors" select="'0'"/>
+  <xsl:apply-templates select="(slidesinfo/title|title)[1]"
+                       mode="title.markup">
+    <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+  </xsl:apply-templates>
+</xsl:template>
+
+<!-- ============================================================ -->
+
+<xsl:template match="section">
+  <fo:block break-before="page"
+            xsl:use-attribute-sets="section.properties">
+    <xsl:call-template name="section.titlepage"/>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.mode">
+  <fo:block>
+    <xsl:text>.</xsl:text>
+    <fo:block space-before="2in">
+      <xsl:apply-templates select="." mode="titlepage.mode"/>
+    </fo:block>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="sectioninfo"/>
+
+<!-- ============================================================ -->
+
+<xsl:template match="foil">
+  <fo:block break-before="page"
+            xsl:use-attribute-sets="section.properties">
+    <xsl:call-template name="foil.titlepage"/>
+
+    <fo:block text-align="center">
+      <fo:leader leader-length="2in"
+                 alignment-baseline="middle" 
+                 rule-thickness="0.5pt" color="black"/>
+      <fo:inline font="16pt ZapfDingbats"
+                 color="#E00000">&#x274B;</fo:inline> 
+      <fo:leader leader-length="2in"
+                 alignment-baseline="middle"
+                 rule-thickness="0.5pt" color="black"/>
+    </fo:block>
+
+    <fo:block xsl:use-attribute-sets="foil.properties">
+      <xsl:apply-templates/>
+    </fo:block>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="foilinfo"/>
+<xsl:template match="foil/title"/>
+<xsl:template match="foil/titleabbrev"/>
+
+<!-- ============================================================ -->
+
+<xsl:template match="speakernotes">
+  <fo:block xsl:use-attribute-sets="speakernote.properties">
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<!-- ============================================================ -->
+
+</xsl:stylesheet>
diff --git a/slides/xsl/titlepage-fo-plain.xml b/slides/xsl/titlepage-fo-plain.xml
new file mode 100644 (file)
index 0000000..d7df863
--- /dev/null
@@ -0,0 +1,151 @@
+<!DOCTYPE t:templates [
+<!ENTITY hsize0 "10pt">
+<!ENTITY hsize1 "12pt">
+<!ENTITY hsize2 "14.4pt">
+<!ENTITY hsize3 "17.28pt">
+<!ENTITY hsize4 "20.736pt">
+<!ENTITY hsize5 "24.8832pt">
+<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 -->
+<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 -->
+<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 -->
+<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 -->
+<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 -->
+<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 -->
+]>
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+            xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:fo="http://www.w3.org/1999/XSL/Format"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ==================================================================== -->
+
+<t:titlepage element="slides" wrapper="fo:block">
+  <t:titlepage-content side="recto">
+      <title predicate="[1]"
+            named-template="component.title"
+            param:node="ancestor-or-self::slides[1]"
+            fo:text-align="center"
+            fo:space-after="1em"
+            fo:keep-with-next="always"
+            fo:font-size="&hsize5;"
+            fo:font-weight="bold"
+            fo:font-family="{$slide.title.font.family}"/>
+
+    <subtitle predicate="[1]"
+             fo:text-align="center"
+             fo:font-family="{$slide.title.font.family}"/>
+
+    <corpauthor fo:font-size="&hsize4;"
+               fo:text-align="center"
+               fo:space-after="1em"/>
+    <authorgroup/>
+    <author fo:font-size="&hsize4;"
+           fo:text-align="center"
+           fo:space-after="1em"/>
+
+    <pubdate fo:font-size="&hsize3;"
+            fo:text-align="center"
+            fo:space-after="1em"/>
+
+    <confgroup fo:font-size="&hsize3;"
+              fo:text-align="center"
+              fo:space-after="1em"/>
+
+    <releaseinfo fo:font-size="&hsize3;"
+                fo:text-align="center"
+                fo:space-after="1em"/>
+
+    <copyright fo:font-size="&hsize3;"
+              fo:text-align="center"/>
+
+    <revision fo:text-align="center"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage element="section" wrapper="fo:block">
+  <t:titlepage-content side="recto">
+    <title predicate="[1]"
+          fo:font-size="&hsize5;"
+          fo:text-align="center"
+          fo:font-weight="bold"
+          fo:font-family="{$slide.title.font.family}"/>
+    <subtitle predicate="[1]"
+             fo:font-family="{$slide.title.font.family}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage element="foil" wrapper="fo:block">
+  <t:titlepage-content side="recto">
+    <title predicate="[1]"
+          fo:font-size="&hsize4;"
+          fo:font-weight="bold"
+          fo:text-align="center"
+          fo:font-family="{$slide.title.font.family}"/>
+    <subtitle predicate="[1]"
+             fo:font-family="{$slide.title.font.family}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>