I use Innoveda Corp's ViewDraw schematic capture package extensively at work. I find it very intuitive and easy to use. Amongst the good features of ViewDraw is that it stores design information as ASCII text in a series of files corresponding to the schematic's symbols, pages, topology, etc.
The advantage to keeping desing information is text is that you can easily manipulate or verify the design by running Perl or Python programs against the text files. In the course of my design work, I run various scripts against the design all the time. For example, I once needed to attach a series of PINTYPE attributes to a top-level FPGA symbol which I had previously created. The FPGA had hundreds of pins on it. If I were to attach all the new attributes by hand (i.e. using the schematic capture program), my hand would fall off before I was done because of all the "pointing and clicking" that was required. Therefore, I wrote a Perl script which read the symbol file, attached the attributes to each pin, and then output the new symbol file. Run the program and -- voila! -- all attributes are attached!
There's one blemish to this picture: You need to know how the ViewDraw file format works. Unfortunatly, Innoveda regards this information as "proprietary". When I called them up to request information about the format, they (politely) told me to go pound sand. Naturally, this response irritated me enough that I decided to figure out how the file format worked. The format is not at all obscure -- design information is stored on a line-oriented basis, and is tagged with intuitive, single letter codes. I spent an hour or two playing around with a symbol file, making changes in the file and then observing the effect of the change on the symbol in ViewDraw. This allowed me to figure out what most of the line items did to the symbol. I created a document containing the results of my investigation, and circulated it to the other engineers at work.
Later, a colleague pointed me to this posting on the DxDesigner users group which also contained information about ViewDraw's file format. Being a lazy kinda guy, I stopped adding to my own doc because the information was already available. Nonetheless, I am making my unfinished doc available to the greater ViewDraw community because I think it has enough information to be useful to fellow ViewDraw users.
Later, Steven Saklow expanded and updated my work, and has made his doc available at http://www.bychoice.com/ViewDrawFileFormats_new.pdf Steve's doc is probably the best one to use at this point. Thanks, Steve!
Caveat: Note that Innoveda corp does not endorse this document. They also point out that they could change the file format at any time. I also offer it without any guarantees about its correctness. If you design a controller for a nuclear power plant using this information, and the power plant melts down and poisons millions of innocent people, it's your own damn fault, and not mine. :-PDownload "Secrets of the ViewDraw File Format"