summaryrefslogtreecommitdiff
path: root/c-to-xml.py
blob: 7a7a35bca803fd84e2d53bb2b6ea58325d0d73f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4

"""
Convert a C program to valid XML to be included in docbook
"""

from __future__ import print_function, unicode_literals

import sys
import os
from xml.sax import saxutils

def main():
    if len(sys.argv) == 1:
        sys.stderr.write("Please specify a source file to convert")
        sys.exit(1)
    source = sys.argv[1]

    if not os.path.exists(source):
        sys.stderr.write("%s does not exist.\n" % source)
        sys.exit(1)

    content = open(source, "r").read()

    # print header
    print ('<?xml version="1.0"?>')
    print ('<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">')
    print ()
    print ('<programlisting>')

    # print content
    print (saxutils.escape(content))
    print ('</programlisting>')

main()