I'm the author of a business graphics application on OpenStep, and
we're starting the process of writing our very much expanded 2.0
version. One of the (many) goals I've set for 2.0 is to move to a
human readable and machine parseable file format so that 3rd parties
will be able to add support for our file format easily. Another
offshoot of the document format change I'd like to see would be the
ability to break out the objects into as many data types as possible.
For instance I'd like the graphics (which form a tree) to be able to
be opened in an word pro's outliner for instance, with the name of
each graphic appearing as a header. That way end users could switch
between a number of applications easily.
It appears that XML is the way to go, not just for this app, but
for most. However I know little about XML and the stuff I've read to
date is either very basic or overly wordy/techy. Can anyone suggest a
good source to learn the basics of XML and what standards in XML do
As to more specific questions...
a) does anyone have experience with a suite of applications that
share subsets of each other's document contents? Is it really
possible to have the example above work, where I open my tree in a
word pro, change the outline, and still have the graphics app
understand the changes? Am I getting too ambitious?
b) the graphics form directed graphs - object trees and such is a
common use. Is there any specific DLD's that address this area that I
should be looking at? One distinct possibility is that the graph
will be a network.
c) is SVG the way to deal with the actual graphics? Our current
thinking is to use a dump of the graph, a type indication object
positions, sizes and zoom level (a view), and then a description of
the graphics. SVG seems to be much less flexible, it fully describes
the objects, their layout, and the view. Would it be reasonable to
leave that information out of the SVG and still expect people to be
able to use it?
d) the final piece of the puzzle is styles. I assume CSS is the way
to go here, but I'm not sure it's appicable. In our app we use a
number of "nested styles" that are mapped m:n onto shapes (for
instance you might use the "blue hatch" fill on objects A and B, and
then add "red dot outline" to B alone. "red dot outline" might
actually consist of a number of styles, a dotted outline style, a
colour, perhaps even a fill style - our goal is to allow users to
create "uber-styles" for their entire corporate style in one style
- where's the best place to get a quick intro to CSS?
- will CSS work for us here?
Sorry for the length of this post, any comments welcome.