Learn Apache XSL-FO with South Indian percussion

If you don't want to miss any Free Coupon or want to get faster updates kindly join our Telegram Channel 👉 Here 👈.

Learn Apache XSL-FO, Java, JDOM


This course is about Korvai representation using Apache XSL FO.

We are going to see how to represent a Korvai. A Korvai is an essential piece of work in south indian percussion. You can visit my course on Udemy “Learn south indian percussion” to learn Korvais. Our application is going to help students refer the PDF document while learning and memorizing the Korvais.

We will see how we represent the Korvai in an XML structure. The Idea is to arrive at a structure that may suit all korvais broadly.

Korvai has poorvangam and utharangam.

Both have one or many ‘part’

A part may have one-many ‘word’.

A part is something that will be presented in a document together, maybe in the same line or sametable row etc.

A part maybe separated from another part by a line/whitespace/table row etc.

A word is a syllable that needs be practiced. A word may have a Karvai in-between. A Tham is a special word to indicate a Karvai. Words may get repeated.. so we come out with an optimized representation to avoid repetition in the strucure. Also,note that the Korvai representation is something that could be generated from a relational database and also something that could be visualized when trying to edit a korvai in an User Interface.

A Korvai is something to memorize by-heart. We have represented that in an XML structure.

We are going to use Apache FOP. We will represent the Korvai structure in an XML file. The Korvai structure will be independent of the presentation. The presentation would be PDF today, maybe a webpage or a plain text file later. So we will be using XSL transformation technlogy to convert the XML Korvai represenatation using XSL-FO and generate the resulting PDF file.

To getstarted, we go to website xmlgraphics and download the FOP 2.8 zip file.

Course Objectives:

Lecture1: Introduction

-Introduce south Indian percussion music

-Know about XML.

-Understand the Korvai structure

learn a poorvangam/utharangam/part/word/karvai/tham etc

korvai has 2 parts

each part has words

a karvai means a gap

korvai is meant to be memorized by-heart

-Learn a way to represent a Korvai using XML.

-Know how to represent a Korvai independent of the presentation logic.

-Know how students learning Southe Indian percssion will get benefited through this application.

Lecture2: XSL-FO

-Learn about XSL-FO, how to represent an XSL-FO document in n XML structure.

-A quick tutorial on XSL-FO.

-Do a simple XSL-FO trasaform and product a PDFoutput.


-Set-up envIronment: Java,Maven,Intellij IDEA, Spring

download and set-up Java,Spring,Mavenand IntelliJ IDEA

Know about Apache XSL-FO

Write a Java program that does the XSL transform to PDF, that we discussed in Lecture 2.

Learn how to use Java to convert an XML to PDF using Apache XSL-FO.

Learn how to use spring ClassPathResource to read the input xml and xsl.

Lecture4: Presentation logic

Learn how to represent the korvai using n XML -details.

Learn about the presentation logic.

Start writing an XSL-FO stylesheet to process the input Korvai in XML and produce resulting PDF document.

Start with each item from our presentation logic and see how that can be handled using XSL-FO stylesheets to produce the desired PDF document.

a empty line between poorvangam and utharangam

words may be placed on the same line to save lines in the pdf document.

Tham with 1 Karvai is displayed with a dot

Tham with 2 or more Karvai may be displayed with karvai indicated in brackets.

Word that have repeat attribute may be processed repetitively with karvai in-between.

words may be contained within a table cell etc.

Understand the ‘part’ repetition involves manully copying and duplicating the input XML.

Understand you may use xsl:copy-of to copy and duplicate nodes froman xml.However we see other approach.


Know XML parsers -including JDOM.

Know JDOM.

Learn how to write a Java program to modify an input XML using JDOM parser.

Understand how we evaluate the diifferent parsers and hw JDOM is suitable for our purpose.

Learn how a repeating ‘part’ is getting processed and transformed into a PDF.

Who this course is for:

  • Advanced Java programmers

Top Class Study