Learn Apache XSL-FO with South Indian percussion

Learn Apache XSL-FO, Java, JDOM
Free tutorial
Rating: 3.8 out of 5 (2 ratings)
457 students
1hr 21min of on-demand video
English [Auto]

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


  • Need to be familiar with Java programming and familiar with XML technologies


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


Somaskandan Krishnamurthy
  • 4.2 Instructor Rating
  • 3 Reviews
  • 611 Students
  • 2 Courses

I am K.Somaskandan, A graded Mirudangist and student of Guru Karaikudi R. Mani.I joined Guru Karaikudi Mani in the year 1990.I have won many prizes in the inter-college cultural festivals in Madras during 1992-1993. I also won first prize in Mirudangam competition held by Indian Fine Arts in the year 1993. I have been graded A by the AIR, Chennai. I have accompanied many eminent vocalists and instrumentalists.

Top companies trust Udemy

Get your team access to Udemy's top 22,000+ courses