To Do: *) recursive XInclusion for mapping XML files (help wanted) *) some kind of import of XML document fragments from URLs or Files into XML Document created by "dbsql2xml" *) multiple connections to more than one database at one time --- *) make package "net.sf.dbsql2xml" *) rename class name from "dbsql2xml" to "DbSql2Xml" (do You want it?) *) XSLT transformation within dbsql2xml Done: 0.22 *) added support for XInclusion (non recursive) – reusability or chaining – of mapping XML files; XSD changed, but mapping XML files stay backward compatible; be carefull using global variables with same names *) changed priority of global variables; now ones from constructors (URL) covers ones from mapping XML files *) added example "treeXMLMappingWithXInclusionAndCharset.xml" and "productMappingToBeXIncludedIntoTreeXML.xml" files with more detail comments of elements and attributes *) changed build batch file 0.21 *) added missing "Connection.close()" at the end of "dbsql2xml" class into "doExport()" method *) added "System.gc()" at the top level catch *) changed "magic integers" (java.sql.Types – constants) with constant names (replaced "1" by "java.sql.Types.CHAR") in "getColumnValueAsString()" method [thanks to Gerd] *) changed way to determine, if JDBC driver supports multiple ResultSet-s per one Statement; up to 0.20 it was hard-coded as database property, now it is determined by new element "multiStatementDriver" in mapping XML; this means, that in 0.21 is breakdown of compatiblity of mapping XML file – in current mapping XML files You must add "multiStatementDriver" element into each mapping XML file; XML Schema was changed *) changed comments inside source code to be more understandable *) changed build batch file to be more independent *) fixed security issue – "mappingXML" folder of servlet example is moved into "WEB-INF" folder to prevent reading mapping XML files *) do update jTDS to 1.2 (JDBC driver for MS SQL Server and Sybase – it become much more faster) 0.20 *) fixed problem with MS Access, when MEMO field is null [thanks to fred0815] 0.19 *) improved Exception reports (all arguments of all methods are outputed) 0.18 *) added stdout report on exception in processing table and column (their values are reported) *) improved handling of null values *) added global character encoding or per each column of each table (changes in XSD and mapping XML) *) added more restriction into XSD to prevent errors 0.17 *) fixed bug not accepting processingInstruction from 0.16 *) changed XSLT processingInstruction to allow client side processing also in MS IE both in dbsql2xml.java and servlet.java 0.16 *) changed retrieving of attribute and element values from XPath to DOM style - about 7 x speed up *) changed class variables to object ones *) changed HashMap to do type check (all are String) - no more warnings during compilation *) added code for Statement per RowSet for MS SQL Server (other db such Oracle or HSQLDB) does not have suvh limitation and thus are several times (about 3x faster) 0.15 *) improved db statement algorithm - about 3x speed up *) improved node addition resulted in speed up *) changed internal code to be better readable *) added timers to examplesOfUse.java *) changed servlet example to be thread-safe *) added new constructor to be "dbsql2xml" able to be called with persistent database Connection (mostly in servlets mode), which results in speed up 0.14 *) fixed bug in XSL-T and CSS processing instruction 0.13 *) added changeLog.txt 0.12 *) fixed first serious bug - different records were inside one element *) fixed minor JavaDoc typo bugs 0.11 *) added comprehensive javadoc including examples into constructors *) added validation of mapping XML against XML Schema (dbsql2xml.xsd) inside "dbsql2xml" code 0.10 *) changed structure of the output XML document (mixed content no more); so there are overall changes in XSD, mapping XML and dbsql2xml.java 0.9 *) changed attribute "elementName" to "xmlName" and "elementValue" to "sqlName" in mapping files *) changed Java code, XSD and examples due above change 0.8 *) fixed bug for unique in XSD *) added build batch file included 0.7 *) added dbsql2xml.xsd XML Schema for validation mapping files *) changed "dbsql2xml" code due XSD validation *) changed mapping XML examples due XSD validation 0.6 *) added check for input parameters causing errors mostly in servlet mode *) changed servletExample.java to accept GET parameters *) changed Exception report to standard output with name of method, which throws it 0.5 *) added servlet example *) changed preparation for better Exception handling *) added String output is arbitrary in UTF-8 (so all outputs are now in UTF-8) 0.4 *) added mapping and flat XML mapping files *) added "exampleOfUse.java" with 8 outputs 0.3 *) added output into File *) added output into System.out *) added output into String *) added output into Document *) added examplesOfUse.java with examples of use of all above output targets *) updated javadoc (but still about nothing) 0.2 *) added JavaDoc (but nothing there yet) *) changed global variables to be read from constructor and mapping XML file *) changed "dbsql2xml" is now CLASS usable in other Java programs *) changed much improved comments in source code *) added test.xml to show how to use "dbsql2xml" 0.1 initial release