Introduction

The eXtensible Data Stream or XDS is a binary meta-file format similar in capability to XML. What sets it apart from XML are its performance characteristics. XDS is much faster to parse than XML and takes up less disk space or network bandwidth. Data in an XDS stream is stored in the same manner as in-memory structures in a C/C++ program.

XDS and the XDS toolkit are made available under the LibZip license. Briefly, this license says that you can use the library and tools for any purpose without fees, as long as you don't claim that you wrote it.

The XDS meta-format is currently in its third major revision.

Downloads

XDS Format Specification v3.00.1
The formal specification for the XDS meta-format (also available as part of the Toolkit)
XDS Toolkit & Library v1.03
The toolkit consists of utilities to extract XML and XDS Schemas from source and to convert XML files to equivalent XDS files. Included in this zip file are windows binaries for these tools, full source to the tools & the XDS-lite library and all associated documentation

Are you using the XDS toolkit? Do you want to know when new features or bug fixes are available? If so, then you should sign up for the XDS mailing list! Just send an e-mail to xds at suddenpresence.com with the subject 'subscribe' and we'll keep you informed.

Announcements

XDS Toolkit version 1.03 has been posted
Posted May 6th 2004

Two minor but important bug fixes.

  • A bug in the CTrie container implementation used by the XDS Lite Library was fixed. The previous version could incorrectly update the trie when adding keys that are proper substrings of existing keys. Also added some minor optimizations. The version of CTrie in this release has undergone 100% code coverage testing.
  • Fixed a bug in the parsing of XML data containing arrays inside of structures. Also added bulletproofing against improperly formed XML documents.

The zip file pointed to by the XDS toolkit download link at the top of this page contains the updated library and binaries.

 
XDS Toolkit version 1.02 has been posted
Posted April 30th 2004

More bug fixes, several of them thanks to some help from the folks at Sidhe Interactive:

  • Fixed various memory leaks -- mostly in XDSXMLParser.cpp
  • XDS Lite library changed to fix structure alignment errors -- this unfortunately required breaking backward compatibility with existing XDS and DSD files. The XDS Format Specification also received a minor update.
  • xdsConvert changed to support DSD files larger than 1024 bytes
  • xdsMakeSchema changed to correct handling of typedefs
  • xdsMakeSchema changed to correct handling of arrays of character pointers

The zip file pointed to by the XDS toolkit download link at the top of this page contains the updated library and binaries.

 
XDS Toolkit version 1.01 has been posted
Posted April 21st 2004

It's a truism of software development that all code has bugs. With this update, the XDS toolkit has a few less:

  • xdsMakeSchema changed to correct order of evaluation during generation of complex terminal types (e.g. arrays of pointers)
  • xdsMakeSchema changed to prevent out-of-order generation of type IDs. This would occur when using a new type for the first time within a structure.
  • xdsMakeSchema changed to use correct default record length size when using default record name. Also changed XDS Lite library to check for and report invalid record length sizes.
  • xdsConvert changed to prevent crash when run with non-existent input data files.
  • XDS Lite library changed to correct parsing of non-character arrays within structures in XML files.

The zip file pointed to by the XDS toolkit download link at the top of this page contains the updated library and binaries.

Copyright © 2004-2006, Sudden Presence LLC. All Rights Reserved