If you are creating large XML documents and lots of them, over the long term, printf() will not serve you well. Genx essentially guarantees well-formedness, is efficient, and will save you steps. For example, if you try to duplicate Genx' task of creating a million elements (see helloMillion.c in the Genx distro) using printf(), you just might be convinced that it is worth it. %^)