|
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.
|