[Web Page Banner]

Ressources

What this section if for?

Tell you about technologies and ressources use by XGenealogy.

Indeed, I did not write myself an XSLT processor but used one or I improved code that I found on the Web. So, to make things clear I take you behind the scene...

Behind GEDCOM 5.5 conversion

I firstly need to transform GEDCOM 5.5 into XML and then transform that XML document into GEDCOM 6.0 via XSLT.

After researchs on the Internet I find three possibilties.

I chose SAG, maybe not a good choice as the current version contains bugs and the output is on screen. By that time using Java code even with bugs, seems to be easier than called an external program to do the job. Anyway, I fixed bugs (hope all of them) and succeed to create an XML document from GEDCOM 5.5.

Now, to transform the XML document generated with SAG into GEDCOM 6.0 I need an XSLT stylesheet. I did not use Aaron Skonnard programs, but inside the zip files available from the article page, there is an XSLT stylesheet (Gedcom.xslt) to convert his version of XML document into GEDCOM 6.0. So, I use the logic of Gedcom.xslt to write XmlToGedcom6.xsl.

To sum up XGenealogy uses:

  • - Simple API for GEDCOM to transform GEDCOM 5.5 into an XML document
  • - Then, XGenealogy uses an XSLT Processor (Xalan) and XmlToGedcom6.xsl to transform the previous XML document into GEDCOM 6.0

PDF format thanks to FOP

FOP is a part of Apache's XML Project and means Formatting Object Processors.
It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PCL, PS, SVG, XML (area tree representation), Print, AWT, MIF and TXT. The primary output target is PDF.

XGenealogy creates XSL-FO by transforming GEDCOM 6.0 into XSL-FO (using XSLT Processor and corresponding stylesheet), then FOP transforms XSL-FO into PDF format.

Text format(.doc,.txt,.rtf) thanks to XML Mind FO Converter

Why not using also FOP to do the job? Simply because XML Mind FO Converter is better for text format than FOP. However, XML Mind FO Converter is also using FOP and others packages from Apache.
Same logic as above, take an XSL-FO stylesheet and transform it into text.

However, XML Mind FO Converter is not open source. Consequently I call it inside XGenealogy, but this call only work if your OS is a Windows one. If your OS is not Windows, FOP will be used instead, you will then have to fix formatting problems manually.

Handle GEDCOM 6.0 thanks to JAXB

JAXB means Java Architecture for XML Binding. This article explains quite well what it is.
JAXB is the API that I will use to udpdate the data inside a GEDCOM 6.0 file.
I used it to display GEDCOM 6.0 into a tree structure.
More information when I will finish.

Alixe Bhagooa

Banner designed by:
Pierre Naquin
Friend & Classmate