"fop -xml -xsl -foout" - XSLT Transformations

This section provides a tutorial on how to run the 'fop -xml -xsl -foout' command to convert an XML file to another XML or text file using a XSLT file with XSLT transformation templates.

Apache™ FOP can also be used to perform generic XSLT transformations using the "fop -xml ... -xsl ... -foout ..." command option.

Here is the full syntax of the "fop -xml ... -foout" command:

fop -fo old.xml -xsl xxx.xsl -foout new.xml
   Transform old.xml to an XML file, new.xml, using xxx.xsl
   
fop -fo old.xml -xsl xxx.xsl -foout new.txt
   Transform old.xml to a text file, new.txt, using xxx.xsl

To test the "fop -xml ... -xsl ... -foout ..." command option, let's create the following XML file, hello.xml, that contains only data content:

<?xml version="1.1"?>
<p>Hello world!</p>

Then create an XSLT file, hello-xml.xsl, that contains a transformation template to convert hello.xml into another data XML file:

<?xml version="1.1"?>
<xsl:stylesheet version="1.1"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
  <p><xsl:value-of select="p"/> - Transformed</p>
 </xsl:template>
</xsl:stylesheet>

Next, run following commands:

C:\herong>\fop\fop -xml hello.xml -xsl hello-xml.xsl 
   -foout hello-out.xml

C:\herong>type hello-out.xml
<?xml version="1.0" encoding="UTF-8"?>
<p>Hello world! - Transformed</p>

As you can see from the output, FOP successfully transformed an XML file to another XML file. And it is not related to formatting objects at all.

Last update: 2016.

Table of Contents

 About This XSL-FO Tutorial Book

 Introduction of XSL-FO

Apache™ FOP (Formatting Objects Processor)

 What Is Apache™ FOP?

 FOP Download and Installation

 FOP Installation Verification

 "fop" Command and Options

 "fop -fo" - Formatting XSL-FO Files

 "fop -xml -xsl" - Transformation and Formatting

"fop -xml -xsl -foout" - XSLT Transformations

 RenderX XEP as an XSL-FO Tool

 Introduction of Area Model

 XSL-FO Document Basics and Examples

 Page Layout Masters

 Block-Level Formatting Objects

 Inline-Level Formatting Objects

 Including Graphics in XSL-FO document

 Table of Rows and Columns

 List, Item, Label, and Body

 Floating Blocks - "float" and "footnote"

 Hyperlinks, Table of Contents and Indexes

 Headers and Footers using "static-content"

 Font Attributes and Font Families

 Apache FOP Font Configurations

 RenderX XEP Font Configurations

 References

 PDF Printing Version