SVF Design Criteria





About SVF Design Criteria Specification SVF XML API SVF Products

Understanding the design criteria for SVF helps in understanding how the format works, how it can be used, and how it relates to other vector formats.

General

  • Web-centric
    Contains hyperlinks, is compact and streamable.
  • Simple to write
    Most information is optional. An SVF file could consist of nothing but the intro string and a line.
  • Simple to read
    Single way to encode most information. Limited set of commands.
  • Simple to display
    It should be easy to build a low-overhead viewer that completely supports SVF.
  • Comprehensive
    While it should be restricted to a small set of features for simplicity, it should also be complete enough to accurately represent such common vector drawings as maps, flowcharts, and CAD (e.g. AutoCAD and MicroStation).
  • Compact
    Accomplished using variable precision and current state.
  • Extensible
    Accomplished through custom user data, embedded objects with arbitrary MIME types, and the Extension command for encapsulating future SVF commands.
  • Streamable
    A viewer shouldn't have to make an initial pass through the file to figure out details necessary for display or translation. Information can be used as soon as it's read - it doesn't depend on anything after it in the file. Accomplished through extents and other information being specified in the header.
  • Portable
    Should be machine and operating system independent. For example, the font table can specify alternate information for systems without the desired font.
  • International
    All strings are stored in Unicode.
  • Representational not Structural
    For simplicity, SVF is intended to be a simple graphical representation. It doesn't contain detailed organizational information.
  • Database links
    Through object ids, objects and groups of objects can be tied back to the original drawing or database.

SVF/XML Design Criteria

  • Contains same information as binary version
    Must be able to easily translate between the XML and binary versions of SVF.
  • Streamable
    Information can be used as soon as it's read - it doesn't depend on anything after it in the file.
  • Follows XML standards and recommendations
    Must be human readable and writable. Must be able to work with other XML standards.
  • Simple to embed in other XML documents
    Very little markup is required for minimal SVF information.

SVF2 Design Criteria

  • Backward Compatibility
    All SVF1.1 files should automatically be valid SVF2. New commands should follow same general rules as SVF1.1.
  • More complete
    SVF1.1 supported a reasonable subset of vector descriptions. Based on feedback from many companies and individuals, SVF2 was designed to more completely represent a wide range of vector information.