BlueBridge Wiki Extensions: Notes for Using XSLTs when exporting to PDF

Similar documents
How to Develop Stylesheet for XML to XSL-FO Transformation

XSL - Introduction and guided tour

Notes on how to migrate wikis from SharePoint 2007 to SharePoint 2010

metaengine DataConnect For SharePoint 2007 Configuration Guide

Configuring Claims Based FBA with Active Directory store 1

Markup Sprachen und semi-strukturierte Daten

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener

Installation & User Guide

Integrating Business Portal 3.0 with Microsoft Office SharePoint Portal Server 2003: A Natural Fit

F O R U M N O K I A. Implementing Trucking Logistics with Nokia Handsets. Version 1.0; July 18, Java /XML

Marketing Product User s Guide Advanced Internet Technologies, Inc. AIT Center June 1, 2004

SharePoint Wiki Plus Administration Guide

Using Style Sheets for Consistency

Weather Web Part. Enterprise Version with Active Directory Support. AMREIN ENGINEERING AG Version 2.4. June 2015

By Nabil ADOUI, member of the 4D Technical Support team

A SharePoint Developer Introduction

SharePoint Branding 101: It s Not Your GrandDaddy s HTML. Dux Raymond Sy, PMP

Step 2: Headings and Subheadings

WTP-101 Developing Rich Internet Applications with Java Web Frameworks

Quest Web Parts for SharePoint

Xtreeme Search Engine Studio Help Xtreeme

Cascaded Lookup 5.0 User Guide

Creating trouble-free numbering in Microsoft Word

MadCap Software. Import Guide. Flare 11

Installation & User Guide

Word 2007 WOWS of Word Office 2007 brings a whole new basket of bells and whistles for our enjoyment. The whistles turn to wows.

c360 CRM/SharePoint Integration SharePoint Proxy Component Installation Guide

State of Illinois Web Content Management (WCM) Guide For SharePoint 2010 Content Editors. 11/6/2014 State of Illinois Bill Seagle

UOFL SHAREPOINT ADMINISTRATORS GUIDE

Creating Personal Web Sites Using SharePoint Designer 2007

About XML in InDesign

Content Author's Reference and Cookbook

Exercise 1 : Branding with Confidence

JJY s Joomla 1.5 Template Design Tutorial:

LETTERS, LABELS &

Item Audit Log 2.0 User Guide

HOWTO: Installation of Microsoft Office SharePoint Server 2007

Building A Very Simple Website

Terms and Definitions for CMS Administrators, Architects, and Developers

Single Sign-on Configuration for SharePoint Integration

Virtual Exhibit 5.0 requires that you have PastPerfect version 5.0 or higher with the MultiMedia and Virtual Exhibit Upgrades.

Using SMIGRATE to Backup, Restore and Migrate Team Sites in SharePoint Products and Technologies 2003

TIBCO Spotfire Automation Services 6.5. User s Manual

Chapter 3 Installing Foundation 2013 onto Windows Server

How to Use Swiftpage for Microsoft Excel

Basic tutorial for Dreamweaver CS5

How to Use Swiftpage for SageCRM

SPHOL207: Database Snapshots with SharePoint 2013

R i o L i n x s u p p o r r i o l i n x. c o m 1 / 3 0 /

DIRECTORY PASSWORD V1.0 Quick Start Guide

A SharePoint Developer Introduction. Hands-On Lab. Lab Manual SPCHOL306 Using Silverlight with the Client Object Model VB

Sample Table. Columns. Column 1 Column 2 Column 3 Row 1 Cell 1 Cell 2 Cell 3 Row 2 Cell 4 Cell 5 Cell 6 Row 3 Cell 7 Cell 8 Cell 9.

SharePoint Backup Guide

SelectSurvey.NET Developers Manual

Salesforce Customer Portal Implementation Guide

Google Sites. How to create a site using Google Sites

Themes and Templates Manual FOR ADVANCED USERS

Contents 1. Introduction... 2

Building A Very Simple Web Site

The Essential Guide to HTML Design

HarePoint Password Change Manual

Umbraco v4 Editors Manual

JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA

How to Use Swiftpage for Microsoft Outlook

Document Builder. Thien Tran Department of Computer Science San Jose State University

FOR SHAREPOINT. Quick Start Guide

ORACLE BUSINESS INTELLIGENCE WORKSHOP

Google Sites: Site Creation and Home Page Design

Cvent Attendee Management

Getting Started Guide

SharePoint 2007 & 2010 (and Office 365!) Customization for Site Owners End User / Dev (100/200)

INTEROPERABILITY BETWEEN VISUAL UML DESIGN APPLICATIONS AND AUTHORING TOOLS FOR LEARNING DESIGN

Chapter 19: XML. Working with XML. About XML

ImageNow Interact for Microsoft SharePoint Installation, Setup, and User Guide

SECTION 5: Finalizing Your Workbook

Working with sections in Word

Jive Connects for Microsoft SharePoint: Troubleshooting Tips

Setting up FBA Claims in SharePoint 2010 with Active Directory Membership Provider

Site Configuration Mobile Entrée 4

Recreate your Newsletter Content and Layout within Informz (Workshop) Monica Capogna and Dan Reade. Exercise: Creating two types of Story Layouts

Communication Manager Template Library

Saving work in the CMS Edit an existing page Create a new page Create a side bar section... 4

XSL Elements. xsl:copy-of

Page Formatting In Microsoft Word XP

BT CONTENT SHOWCASE. JOOMLA EXTENSION User guide Version 2.1. Copyright 2013 Bowthemes Inc.

Where do I start? DIGICATION E-PORTFOLIO HELP GUIDE. Log in to Digication

Frog VLE Update. Latest Features and Enhancements. September 2014

Microsoft Project Server Integration with SharePoint 2010

Custom Reporting System User Guide

Cache Configuration Reference

Use the Microsoft Office Word Add-In to Create a Source Document Template for Microsoft Dynamics AX 2012 WHITEPAPER

Installation & User Guide

Connector for Microsoft Office SharePoint Server. ados.com Therefore Corporation, all rights reserved.

Editing the Web Template Files

Contents. Launching FrontPage Working with the FrontPage Interface... 3 View Options... 4 The Folders List... 5 The Page View Frame...

Lesson Review Answers

2/24/2010 ClassApps.com

Creating Online Surveys with Qualtrics Survey Tool

HarePoint Active Directory Self Service Manual

This document will describe how you can create your own, fully responsive. drag and drop template to use in the creator.

Transcription:

BlueBridge Wiki Extensions: Notes for Using XSLTs when exporting to PDF This document describes how to use XSLTs to define the format of PDF exports. Important Note This documentation is designed to help you modify basic elements of the PDF export for yourself. It is not possible to document every single function, and our maintenance and support agreement does not include support for creating and modifying XSLTs. If you would like to modify anything beyond the scope of this document, please contact us to discuss how we can help you in the form of a small project. Table of Contents 1. General Information... 2 2. Applying XSLTs... 3 3. Creating XSLTs... 5 4. Closing Remarks... 16 Page 1 of 16

1. General Information What are XSLTs? XSLT stands for Extensible Stylesheet Language Transformation, meaning that it defines the transformation rules for XML documents. This programming language can be found often in Microsoft SharePoint and can be used e.g. to format web parts. The BlueBridge Wiki Extensions use this technology as well, and XSLTs are used to create XSL-FOs (Formatting Objects). These are, in turn, used to define the format of the exported PDF. The main purpose of doing this is to ensure that your exported documents all conform to your Corporate Design guidelines. Essentially, this technology "reads" the HTML code of a wiki page converts it into a PDF according to a number of pre-defined rules. For example, you can set the default font and define things like margins, headers and footers. The Wiki Extensions already include an invisible XSLT, which defines the default format for exported documents. Please note that since this is part of the Wiki Extensions' source code, it will not be made available to customers or partners. However, it has been built in such a way that you can complement these default settings with your own. That is to say, you do not need to define everything in your XSLT file since your changes are applied in addition to the standard settings. In the case of a conflict, your changes have higher priority. You can find more information about these technologies under the following links: XSLT: http://en.wikipedia.org/wiki/xslt XSL FO: http://en.wikipedia.org/wiki/xsl_formatting_objects http://www.xmlpdf.com/builds/ibex.pdf Please note that BlueBridge cannot be held responsible for the content or accuracy of external sites, nor can we confirm whether the information is up-to-date. Modifications Since XSLTs can be very complicated, we recommend that you only make changes to these if you already have experience with the technology. Please note that we do not offer any support for the creation or modification of XSLTs as part of our Maintenance & Support Programme. We would of course be happy to provide you with a quote if you would like us to help you create an XSLT. Page 2 of 16

2. Applying XSLTs Where to save the XSLT file After you have finished creating the XSLT Stylesheet, you will need to save it so that the Wiki Extensions can access it. The easiest way to do this is to rename your file as pdf.xslt and then copy it into the following directory: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\template\layouts\bluebridge.wiki\export (SharePoint 2007) Or C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\template\layouts\bluebridge.wiki\export (SharePoint 2010) Using several XSLT files for different scenarios If you want to use several XSLT files on the same server (e.g. if different wiki libraries require different export formats), then you will need to make a change to the web.config. In most simple configurations, this will be located here: C:\Inetpub\wwwroot\wss\VirtualDirectories\Default80 Important: Before making any changes to the web.config, you should make a backup copy of the web.config file!! Please only perform this following step if you have experience with the web.config, as this file is critical for the running of SharePoint. You should define the following in the header: <configuration> <configsections> <sectiongroup name="bluebridge.wiki"> <section name="wikitemplates" type="bluebridge.sharepointextensions.galleries.galleryconfigurationsection, BlueBridge.Spex.Utils, Version=2.1.0.0, Culture=Neutral, PublicKeyToken=8ad6826c1afbd920" /> <section name="export.pdfstylesheets" type="system.configuration.namevaluesectionhandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectiongroup> </configsections> Page 3 of 16

You will then have to define the following in the body: <BlueBridge.Wiki> <Export.PdfStyleSheets> <add key="./pdf.xslt" value="./pdf.xslt" /> <add key="./pdf_test1.xslt" value="./pdf_test1.xslt" /> <add key="./pdf_category.xslt" value="./pdf_category.xslt" /> </Export.PdfStyleSheets> </BlueBridge.Wiki> In this case, we have defined three XSLT files, which should all be saved in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\template\layouts\bluebridge.wiki\export (SharePoint 2007) Or C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\template\layouts\bluebridge.wiki\export (SharePoint 2010) These files are called pdf, pdf_test1 und pdf_category. Of course you can change these names to something that will make more sense in your environment. Assigning the XSLT file After doing this, you can assign these XSLT files to the relevant libraries. Open the Wiki Settings and then click on PDF Export Default Settings. Use the drop-down box to select the relevant XSLT (note that you may need to reset the application pool or run an IISreset before the entries are displayed). Page 4 of 16

3. Creating XSLTs In this section, you will find some examples of XSLT snippets that can be used to make simple modifications to your PDF export formats. As stated above, we recommend that you only do this if you have XSLT experience. We cannot provide support for the creation or modification of XSLTs (unless this is agreed in a separate project) or templates. Please do not forget to save the snippets as an.xslt file and to copy them into the correct directory. Files should be encoded as UTF-8. Example 1: Renaming the Table of Contents In this example, the text "TABLE OF CONTENTS" will be renamed to "**TABLE OF CONTENTS**". The crucial part of the XSLT code is highlighted in bold. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:msdata="urn:schemasmicrosoft-com:xml-msdata" xmlns:fo="http://www.w3.org/1999/xsl/format" xmlns:ibex="http://www.xmlpdf.com/2003/ibex/format" xmlns:bbrequest="http://schemas.bluebridge.de/xslt/request" exclude-resultprefixes="xs msdata bb-request"> <xsl:import href="res://./pdf/wiki2pdf.xslt"/> <xsl:template name="layout.toc"> <!--generate a block of table of contents--> <fo:block id="toc" font-family="arial" font-weight="bold" fontsize="12pt"> <!--generate the title "Table of Contents"--> <fo:block language="de" keep-with-next.within-page="always" fontfamily="arial" font-weight="bold" font-size="12pt"> <fo:leader leader-length="0pt"/> <xsl:text>**table OF CONTENTS**</xsl:text> <xsl:apply-templates select="." mode="toc"/> <xsl:template name="layout.pagefooter.simple"> <xsl:param name="type"/> <xsl:param name="author"> <xsl:call-template name="webparam"> <xsl:with-param name="name">spuser_name</xsl:with-param> </xsl:param> <xsl:param name="date"> Page 5 of 16

<xsl:call-template name="webparam"> <xsl:with-param name="name">spdate_now</xsl:with-param> </xsl:param> <!-- footer start--> <fo:static-content flow-name="{$type}-footer" display-align="after"> <fo:table width="100%"> <xsl:attribute name="font-weight"> <xsl:choose> <xsl:when test="$type = 'front'">bold</xsl:when> <xsl:otherwise>normal</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="font-size"> <xsl:choose> <xsl:when test="$type = 'front'">11pt</xsl:when> <xsl:otherwise>8pt</xsl:otherwise> </xsl:choose> </xsl:attribute> <fo:table-column column-width="80%"/> <fo:table-column column-width="20%"/> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block language="de" font-family="arial" lineheight="1.7205"> <fo:leader leader-length="0pt"/>** Author: <xsl:value-of select="$author"/> <fo:leader leader-length="0pt"/> <fo:block font-family="arial" language="de" lineheight="1.7205"> <fo:leader leader-length="0pt"/>date: <xsl:value-of select="$date"/> </fo:table-cell> <fo:table-cell> <xsl:if test="$type = 'simple'"> <fo:block language="de" font-family="arial" lineheight="1.7205"> <fo:inline font-size="10pt"> <fo:leader leader-length="0pt"/>page <fo:page-number/> </xsl:if> Page 6 of 16

</fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:static-content> <!--footer end--> </xsl:stylesheet> Example 2: Formatting the text In this example, the default fonts can be defined. This allows you to set a specific font that should be used for rendering e.g. H1 and H2 tags. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:msdata="urn:schemasmicrosoft-com:xml-msdata" xmlns:fo="http://www.w3.org/1999/xsl/format" xmlns:ibex="http://www.xmlpdf.com/2003/ibex/format" xmlns:bbtidy="http://schemas.bluebridge.de/xslt/htmltidy" xmlns:bbrequest="http://schemas.bluebridge.de/xslt/request" exclude-resultprefixes="xs msdata bb-request bb-tidy"> <xsl:import href="res://./pdf/wiki2pdf.xslt"/> <!-- styles for the block containing the wiki --> <xsl:attribute-set name="wikipage"> <xsl:attribute name="font-size">10pt</xsl:attribute> <xsl:attribute name="font-family">arial</xsl:attribute> <xsl:attribute name="line-height">1.1</xsl:attribute> <xsl:attribute name="text-align">justify</xsl:attribute> <xsl:attribute name="start-indent">0pt</xsl:attribute> <xsl:attribute name="color">green</xsl:attribute> </xsl:attribute-set> <!-- attributes of H1/H2 --> <xsl:attribute-set name="h1"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="font-weight">bold</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="h2"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="font-weight">bold</xsl:attribute> </xsl:attribute-set> <!-- override the wiki node generation --> <xsl:template name="layout.wikinodes"> <xsl:param name="nodes"/> <fo:block xsl:use-attribute-sets="wikipage"> Page 7 of 16

<xsl:apply-templates select="$nodes/node()"/> <!-- Page layouts --> <xsl:template name="layout.masterset"> <fo:layout-master-set > <!-- Standard page --> <fo:simple-page-master master-name="simple" pagewidth="8.268055555555555in" page-height="11.693055555555556in" margintop="36pt" margin-bottom="28.35pt" margin-right="70.9pt" marginleft="70.9pt"> <fo:region-body region-name="simple-body" margin-top="32.275pt" margin-bottom="92.55pt"/> <fo:region-before region-name="simple-header" extent="11in"/> <fo:region-after region-name="simple-footer" extent="11in" displayalign="after"/> </fo:simple-page-master> <!-- Front Page --> <fo:simple-page-master master-name="front" pagewidth="8.268055555555555in" page-height="11.693055555555556in" margintop="36pt" margin-bottom="28.35pt" margin-right="40.9pt" marginleft="70.9pt"> <fo:region-body region-name="front-body" margin-top="77.275pt" margin-bottom="42.55pt" margin-right="70pt"/> <!--background-position-horizontal="right" background-repeat="norepeat" background-image="url('../image002.gif')"--> <fo:region-before region-name="front-header" extent="11in"/> <fo:region-after region-name="front-footer" extent="11in" displayalign="after"/> </fo:simple-page-master> <!-- Back Page --> <fo:simple-page-master master-name="back" pagewidth="8.268055555555555in" page-height="11.693055555555556in" margintop="36pt" margin-bottom="28.35pt" margin-right="40.9pt" marginleft="70.9pt"> <fo:region-body region-name="front-body" margin-top="77.275pt" margin-bottom="42.55pt" margin-right="70pt"/> <!--background-position-horizontal="right" background-repeat="norepeat" background-image="url('../image002.gif')"--> <fo:region-before region-name="back-header" extent="11in"/> <fo:region-after region-name="back-footer" extent="11in" displayalign="after"/> </fo:simple-page-master> </fo:layout-master-set> </xsl:stylesheet> Page 8 of 16

Example 3: Header and footer In this example, a header and footer have been defined. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:fo="http://www.w3.org/1999/xsl/format" xmlns:ibex="http://www.xmlpdf.com/2003/ibex/format" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" xmlns:bbtidy="http://schemas.bluebridge.de/xslt/htmltidy" xmlns:bbsp="http://schemas.bluebridge.de/xslt/sharepoint" exclude-resultprefixes="xs msprop msdata bb-tidy bb-sp"> <xsl:import href="res://./pdf/wiki2pdf.xslt"/> <!-- ============================================== PAGE SEQUENCES ============================================== --> <xsl:template match="wikiexport"> <xsl:if test="not($issinglepage) or not($hidefirstpageinsinglepageview)"> <!-- frontpage page sequence --> <fo:page-sequence master-reference="front" initial-page-number="1" format="1"> <xsl:call-template name="layout.pageheader"> <xsl:with-param name="type" select="'front'"/> <xsl:call-template name="layout.pagefooter"> <xsl:with-param name="type" select="'front'"/> <fo:flow flow-name="front-body"> <fo:block font="18pt Arial" space-after="0.5cm" spacebefore="0.5cm" line-height="15" text-align="center" z-index="2"> <fo:inline font-weight="bold"> <xsl:call-template name="document.title"> <fo:block font="10pt Arial" space-after="0.5cm" space-before="1cm" text-align="center" z-index="2"> <xsl:call-template name="document.description"> </fo:flow> </fo:page-sequence> </xsl:if> Page 9 of 16

<!-- wiki pages start --> <fo:page-sequence master-reference="simple" > <xsl:call-template name="layout.pageheader"> <xsl:with-param name="type" select="'simple'"/> <xsl:call-template name="layout.pagefooter"> <xsl:with-param name="type" select="'simple'"/> <!-- page body start--> <fo:flow flow-name="simple-body"> <xsl:if test="not($issinglepage)"> <xsl:call-template name="layout.toc"/> </xsl:if> <xsl:apply-templates select="." mode="pages"/> </fo:flow> <!-- page body end--> </fo:page-sequence> <!-- wiki pages end --> <!-- ============================================== PAGE HEADERS ============================================== --> <!-- FRONTPAGE --> <xsl:template name="layout.pageheader.front"> <fo:block> <xsl:call-template name="layout.logo"/> <!-- PAGES --> <xsl:template name="layout.pageheader.simple"> <xsl:param name="title"> <xsl:call-template name="document.title"> </xsl:param> <fo:block xsl:use-attribute-sets="font.family"> <fo:inline font-weight="bold"> <fo:leader leader-length="0pt"/> <xsl:value-of select="$title"/> <fo:block border-before-style="solid" border-before-color="black" border-before-width="0.5pt" border-before-width.conditionality="retain" padding-before="1pt" padding-before.conditionality="retain"> <fo:block xsl:use-attribute-sets="font.family" space-before="0pt" space-after="0pt" > <fo:leader/> Page 10 of 16

<!-- ============================================== PAGE FOOTERS ============================================== --> <!-- FRONTPAGE --> <xsl:template name="layout.pagefooter.front"> <!-- PAGES --> <xsl:template name="layout.pagefooter.simple"> <xsl:param name="type"/> <xsl:param name="author"> <xsl:call-template name="webparam"> <xsl:with-param name="name">spuser_name</xsl:with-param> </xsl:param> <xsl:param name="date"> <xsl:call-template name="webparam"> <xsl:with-param name="name">spdate_now</xsl:with-param> </xsl:param> <xsl:param name="doctitle"> <xsl:call-template name="document.title"> </xsl:param> <!-- footer start--> <fo:static-content flow-name="{$type}-footer" display-align="after"> <fo:table width="100%"> <xsl:attribute name="font-weight"> <xsl:choose> <xsl:when test="$type = 'front'">bold</xsl:when> <xsl:otherwise>normal</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="font-size"> <xsl:choose> <xsl:when test="$type = 'front'">11pt</xsl:when> <xsl:otherwise>8pt</xsl:otherwise> </xsl:choose> </xsl:attribute> <fo:table-column column-width="80%"/> <fo:table-column column-width="20%"/> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block > Page 11 of 16

<fo:leader leader-length="0pt"/>author: <xsl:value-of select="$author"/> <fo:leader leader-length="0pt"/> <fo:block > <fo:leader leader-length="0pt"/>date: <xsl:value-of select="$date"/> </fo:table-cell> <fo:table-cell> <xsl:if test="$type = 'simple'"> <fo:block > <fo:inline > <fo:leader leader-length="0pt"/>page <fo:page-number/> </xsl:if> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:static-content> <!--footer end--> </xsl:stylesheet> Example 4: Varying header and footer texts If you would like to display different headers and footers for each wiki article, you can do this by using the standard functions in XSL:FO. The relevant functions are called marker and retrievemarker. You will have to set a marker on each page e.g. within the title area; you can then reference these in the footer. Please note that the following examples do not contain complete XSLT-content but rather snippets of possible content. If you simply copy the text into an empty XSLT file and try to export the file, then the export will fail. Page 12 of 16

<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:msdata="urn:schemasmicrosoft-com:xml-msdata" xmlns:fo="http://www.w3.org/1999/xsl/format" xmlns:ibex="http://www.xmlpdf.com/2003/ibex/format" xmlns:bbrequest="http://schemas.bluebridge.de/xslt/request" exclude-resultprefixes="xs msdata bb-request"> <xsl:import href="res://./pdf/wiki2pdf.xslt"/> <xsl:template name="layout.toc"> <!--generate a block of table of contents--> <fo:block id="toc" font-family="arial" font-weight="bold" fontsize="12pt"> <!--generate the title "Table of Contents"--> <fo:block language="de" keep-with-next.within-page="always" font-family="arial" font-weight="bold" font-size="12pt"> <fo:leader leader-length="0pt"/> <xsl:text>table of Contents</xsl:text> <xsl:apply-templates select="." mode="toc"/> <xsl:template name="layout.wikicaption"> <xsl:param name="caption"/> <fo:block xsl:use-attribute-sets="wiki.caption" > <xsl:attribute name="id"> <xsl:value-of select="generate-id(.)"/> </xsl:attribute> <xsl:value-of select="$caption"/> <fo:marker marker-class-name="wiki-editor"><xsl:value-of select="editor"/></fo:marker> <fo:marker marker-class-name="wiki-chapter"><xsl:value-of select="wikichaptertitle"/></fo:marker> <xsl:template name="layout.pagefooter.simple"> <xsl:param name="type"/> <xsl:param name="author"> <xsl:call-template name="webparam"> <xsl:with-param name="name">spuser_name</xsl:withparam> </xsl:param> <xsl:param name="date"> Page 13 of 16

param> <xsl:call-template name="webparam"> <xsl:with-param name="name">spdate_now</xsl:with- </xsl:param> <!-- footer start--> <fo:static-content flow-name="{$type}-footer" displayalign="after"> <fo:table width="100%"> <xsl:attribute name="font-weight"> <xsl:choose> <xsl:when test="$type = 'front'">bold</xsl:when> <xsl:otherwise>normal</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="font-size"> <xsl:choose> <xsl:when test="$type = 'front'">11pt</xsl:when> <xsl:otherwise>8pt</xsl:otherwise> </xsl:choose> </xsl:attribute> <fo:table-column column-width="80%"/> <fo:table-column column-width="20%"/> <fo:table-body> <fo:table-row border-top-style="solid" bordertop-width="0.5pt"> <fo:table-cell> <fo:block language="de" fontfamily="arial" line-height="1.7205"> <fo:leader leaderlength="0pt"/>editor: <fo:retrieve-marker retrieve-class-name="wiki-editor" retrieve-position="first-includingcarryover"/> <fo:leader leaderlength="0pt"/> <fo:block font-family="arial" language="de" line-height="1.7205"> <fo:leader leaderlength="0pt"/>date: <xsl:value-of select="$date"/> Page 14 of 16

<fo:leader leaderlength="0pt"/> Chapter: <fo:retrieve-marker retrieve-class-name="wiki-chapter" retrieve-position="first-includingcarryover"/> </fo:table-cell> <fo:table-cell> <xsl:if test="$type = 'simple'"> <fo:block language="de" fontfamily="arial" line-height="1.7205"> <fo:inline fontsize="10pt"> <fo:leader leaderlength="0pt"/>page <fo:page-number/> </xsl:if> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:static-content> <!--footer end--> </xsl:stylesheet> In this XSLT snippet you will see the following code: <xsl:value-of select="editor"/> This refers to the column with the internal field name "Editor". This has nothing to do with the Wiki Extensions and is standard SharePoint. Note that Microsoft always using the English terms for this field name and if you want to reference the column by using code, you will need to know the correct field name. In most cases (and especially for custom columns), you can find out these names by opening the list or library settings. Scroll to the bottom where the columns are listed and click on the relevant column. If you now look in the address bar of your browser, you will see the field name at the end of the URL. In this case, it is AssignedTo: Page 15 of 16

The following field names are used most commonly for the footer: Author (The person who created the article) Created (Date when the articled was created) Editor (The person who changed/edited the article most recently) Modified (Date of most recent change) You can also use: WikiChapterTitle (The Chapter Title, as given by the Wiki Fields). Note that these have to be activated for this to work. 4. Closing Remarks In this document, we have given you a few tips on how to create simple XSLT files if you already have experience with the XSLT technology. If you have any questions or other requirements, then we would be happy to discuss the possibilities and provide you with a quote for further assistance. Page 16 of 16