public void dumpXml(PrintStream out) {
        out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
        out.println("<history>");
        String startData = "    <data ";
        String stop = "/>";
        for (int i = 0; i < versionList.length; ++i) {
            Version version = versionList[i];
            AppVersion appVersion = sequenceToAppVersionMap.get(version.getSequence());
            out.print("  <historyItem ");
            out.print("seq=\"");
            out.print(i);
            out.print("\" ");
            out.print("version=\"");
            out.print(appVersion != null ? appVersion.getReleaseName() : "");
            out.print("\" ");
            out.print("time=\"");
            if (formatDates) {
                out.print((appVersion != null ? new Date(appVersion.getTimestamp()).toString() : ""));
            } else {
                out.print(appVersion != null ? appVersion.getTimestamp() : 0L);
            }
            out.print("\"");
            out.println(">");

            String attributeName[] = new String[TUPLE_SIZE];
            attributeName[0] = "added";
            attributeName[1] = "newCode";
            attributeName[2] = "fixed";
            attributeName[3] = "removed";
            attributeName[4] = "retained";
            attributeName[5] = "dead";
            attributeName[6] = "active";
            for (int j = 0; j < TUPLE_SIZE; ++j) {
                // newCode and retained are already comprised within active
                // so we skip tehm
                if (j == 1 || j == 4) {
                    continue;
                }
                out.print(startData + " name=\"" + attributeName[j] + "\" value=\"");
                out.print(version.get(j));
                out.print("\"");
                out.println(stop);
            }
            out.println("  </historyItem>");
        }
        out.print("</history>");
    }
public void dumpXml ( PrintStream out ) { out . println ( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" ) ; out . println ( "<history>" ) ; String startData = "    <data " ; String stop = "/>" ; for ( int i = 0 ; i < versionList . length ; ++ i ) { Version version = versionList [ i ] ; AppVersion appVersion = sequenceToAppVersionMap . get ( version . getSequence ( ) ) ; out . print ( "  <historyItem " ) ; out . print ( "seq=\"" ) ; out . print ( i ) ; out . print ( "\" " ) ; out . print ( "version=\"" ) ; out . print ( appVersion != null ? appVersion . getReleaseName ( ) : "" ) ; out . print ( "\" " ) ; out . print ( "time=\"" ) ; if ( formatDates ) { out . print ( ( appVersion != null ? new Date ( appVersion . getTimestamp ( ) ) . toString ( ) : "" ) ) ; } else { out . print ( appVersion != null ? appVersion . getTimestamp ( ) : 0L ) ; } out . print ( "\"" ) ; out . println ( ">" ) ; String attributeName [ ] = new String [ TUPLE_SIZE ] ; attributeName [ 0 ] = "added" ; attributeName [ 1 ] = "newCode" ; attributeName [ 2 ] = "fixed" ; attributeName [ 3 ] = "removed" ; attributeName [ 4 ] = "retained" ; attributeName [ 5 ] = "dead" ; attributeName [ 6 ] = "active" ; for ( int j = 0 ; j < TUPLE_SIZE ; ++ j ) { if ( j == 1 || j == 4 ) { continue ; } out . print ( startData + " name=\"" + attributeName [ j ] + "\" value=\"" ) ; out . print ( version . get ( j ) ) ; out . print ( "\"" ) ; out . println ( stop ) ; } out . println ( "  </historyItem>" ) ; } out . print ( "</history>" ) ; }
This is how dump() was implemented up to and including version 0.9.5.