OmniXML based storage suited for easy XML data management, data storage and data interchange beetween systems. Main features are:

  • flexibility and unlimited storage depth
  • ease of use (enumerations, blind access…)
  • can store any data type including binary data
  • support for custom data filters (compression…)
  • support for data adapters (TDataSet…)
  • build in encryption support
  • build in support for handling collections
  • basic XPath support for searching
Cromis SimpleStorage download: Version 1.6.4 (09.03.2010)
You will need OmniXML if you want to use SimpleStorage. You can get it here.

To demo bellow shows the power of SimpleStorage. It stores and compresses a jpeg image and then retrieves that same image back from the storage.
If you have trouble using the code or have any other questions, please contact me directly using the “Contact” page.

  MS := TMemoryStream.Create;
  try
    Jpeg.SaveToStream(MS);
    MS.Position := 0;
 
    SrcStorage := CreateStorage('BinaryStorage');
    SrcStorage.Ensure('Image').Filter('gzip').AsBinary.LoadFromStream(MS);
  finally
    MS.Free;
  end;
  Jpeg := TJPEGImage.Create;
  try
    Jpeg.LoadFromStream(SrcStorage.Get('Image').Filter('gzip').AsBinary.Stream);
  finally
    Jpeg.Free;
  end;

Change Log

  • 1.6.4
    • Overloaded all functions that accept XPath. Now it is possible to use path in the form of an array of strings. It is easier to use constants this way
    • Included StorageBuilder as part of SimpleStorage
    • Was forced to expose XMLNode as Element property
    • Fixed Element.Remove inconsistencies
    • Remove can compact empty parent nodes
    • SaveChanges added to IDocument in Collection
  • 1.6.3
    • Changes in SimpleStorage.Collection related to single document handling
  • 1.6.2
    • Added GetAttr / EnsureAttr function to simplify the attribute manipulation
  • 1.6.1
    • Added IDocumentsCollection interface for easy XML document searches
  • 1.5.1
    • Support for encryption based on XTEA algorithm