Learn Apache XSL-FO with South Indian percussion

Learn Apache XSL-FO, Java, JDOM

What you will learn

Learn XML, XSL-FO, Java,JDOM with practical exercices and a real problem

How to write an XSL:FO stylesheet to process Korvai’s in south indian music

How to represent a Korvai in an XML structure with objective of presenting it in PDF.

How to use Java to process XSL:FO, JDOM etc


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.






Learn XSL-FO

Java and XSL:FO

XSL-FO with Java

Presentation logic for Korvai

Presentation logic for a Korvai


JDOM and process ‘repeat’ of a part using JDOM

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO

Check Today's 30+ Free Courses on Telegram!