And of the text compressions, gzip tends to be the best for XML. Cheers, Tony.
2010/9/13 Dennis Sosnoski <d...@sosnoski.com> > You'll probably get a better size reduction by just compressing the text > XML. Binary XML representations can be faster to process and smaller > than text XML, but they don't compress nearly as well. > > - Dennis > > Dennis M. Sosnoski > XML and Web Services in Java > Training and Consulting > http://www.sosnoski.com - http://www.sosnoski.co.nz > Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117 > > > On 09/13/2010 05:08 AM, sub3 wrote: > > That works great. Thanks. > > > > I am getting about 30% reduction in size. I can get another 30% (total > > ~60%) if I compress the byte[] afterwards. > > > > I know this is highly object dependent, but does these 2 steps sound like > > the smallest I can make an object? > > > > Thanks. > > > > > > > > Tim Watts-3 wrote: > > > >> For serializing, looks like you could use a SAX approach with the > >> XmlBean's save(ContentHandler,LexicalHandler) method: > >> > >> OutputStream out = ... > >> SAXDocumentSerializer saxOut = new SAXDocumentSerializer(); > >> saxOut.setOutputStream(out); > >> myXmlBeanDocument.save(saxOut, saxOut); // both args ??? > >> out.close(); > >> > >> Haven't actually tried this so I don't know if it will work (or even > >> compile). But it seems like a reasonable approach based on the FI > >> samples and the fact that there isn't a save(XMLStreamWriter) method. > >> > >> What you outlined for unserializing seems reasonable. > >> > >> HTH > >> > >> > >> On Sat, 2010-09-11 at 20:28 -0700, sub3 wrote: > >> > >>> Hi, > >>> I am trying to save my XmlBeans objects and I need to use the smallest > >>> amount of disk space possible. I believe that the Fast Infoset will > give > >>> me > >>> that. Please correct me if I am wrong. > >>> > >>> Does anyone have any example code to implement this? I tried using the > >>> example code on the Fast Infoset site, but I am not sure how it > interacts > >>> with the XmlBeans. > >>> > >>> I've tried to serialize by : > >>> ByteArrayOutputStream fiDocument = new ByteArrayOutputStream(); > >>> StAXDocumentSerializer staxDocumentSerializer = new > >>> StAXDocumentSerializer(); > >>> staxDocumentSerializer.setOutputStream(fiDocument); > >>> > >>> XMLStreamWriter streamWriter = staxDocumentSerializer; > >>> // Write out some simple infoset > >>> streamWriter.writeStartDocument(); > >>> //streamWriter.writeStartElement("foo"); > >>> //streamWriter.writeCharacters("bar"); > >>> streamWriter.writeEndElement(); > >>> streamWriter.writeEndDocument(); > >>> streamWriter.close(); > >>> return fiDocument.toByteArray(); > >>> > >>> I don't really understand the start/character functions, but even > without > >>> that, I am still not getting any data saved. > >>> > >>> Assuming the above is a simple fix, would this unserialize the object: > >>> InputStream fiDocument = new ByteArrayInputStream(bytes); > >>> XMLStreamReader streamReader = new StAXDocumentParser(fiDocument); > >>> return AckDocument.Factory.parse(streamReader); > >>> > >>> Thanks for any help. > >>> > >>> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: user-unsubscr...@xmlbeans.apache.org > >> For additional commands, e-mail: user-h...@xmlbeans.apache.org > >> > >> > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@xmlbeans.apache.org > For additional commands, e-mail: user-h...@xmlbeans.apache.org > >