1 #!/usr/bin/env python 2 3 "Prepare a templating stylesheet." 4 5 import XSLForms.Output 6 from XSLTools import XSLOutput 7 import libxml2dom 8 import sys 9 10 def get_dict(marker): 11 d = {} 12 if marker in sys.argv: 13 i = sys.argv.index(marker) + 1 14 while i < len(sys.argv) and not sys.argv[i].startswith("--"): 15 d[sys.argv[i]] = sys.argv[i+1] 16 i += 2 17 return d 18 19 if __name__ == "__main__": 20 try: 21 input_xml = sys.argv[1] 22 trans_xsl = sys.argv[2] 23 output_xml = sys.argv[3] 24 except IndexError: 25 print "Please specify an input filename, a template filename and an output filename." 26 print "For example:" 27 print "xslform_output.py input.xml output.xsl output.xhtml" 28 print 29 print "Additional references may be specified in parameter name and value pairs." 30 print "For example:" 31 print "--references translations translations.xml" 32 print "--parameters locale en_GB" 33 sys.exit(1) 34 35 references = get_dict("--references") 36 parameters = get_dict("--parameters") 37 38 proc = XSLOutput.Processor([trans_xsl], references=references, parameters=parameters) 39 proc.send_output(open(output_xml, "wb"), "utf-8", libxml2dom.parse(input_xml)) 40 41 # vim: tabstop=4 expandtab shiftwidth=4