package parsewsdl; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.StringWriter; import java.io.Writer; import java.util.HashMap; import java.util.List; import java.util.Map; import freemarker.cache.StringTemplateLoader; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; public class TestXSD { public static void log(String str) { System.out.println(str); } public static void main(String[] args) throws IOException, TemplateException { String test = "\r\n asdfasdf asdfasdf\r\n"; test = test.trim(); System.out.println(test.trim()); File f = new File( "C:\\mymise\\myprojects\\myutilities\\WSDL4JTest\\src\\parsewsdl\\asdf.xsd"); XSDTypeParser parser = new XSDTypeParser(new FileInputStream(f)); List<CommonTypeProp> types = parser.getAllTypes(); for (CommonTypeProp type : types) { log("======================="); log(type.getTypeName()); log(type.getSchemaTemplate()); log("+++++++++++++++++++++++"); Writer writer = new StringWriter(); Map<String, String> mapping = new HashMap<String, String>(); mapping.put(XSDTypeParser.namespaceMarker, type.getNamespace()); mapping.put(XSDTypeParser.typeNameMarker, type.getTypeName()); mapping.put(XSDTypeParser.documentMarker, type.getDescription()); Template temp = getTemplate(type.getSchemaTemplate(), type .getTypeName()); temp.process(mapping, writer); System.out.println(writer.toString()); } } public static Template getTemplate(String template, String templateName) throws IOException { Configuration cfg = new Configuration(); StringTemplateLoader tloader = new StringTemplateLoader(); cfg.setTemplateLoader(tloader); tloader.putTemplate(templateName, template); cfg.setObjectWrapper(new DefaultObjectWrapper()); Template temp = cfg.getTemplate(templateName); return temp; } }