I am a tech writer/consultant who is new to SGML. I am interested in developing a SGML database of modular pieces of information. I am looking for help/guidance on the database side. Can anyone suggest books or websites that will help to educate me on this topic? While I have lots of questions, there are probably many more questions that I have not yet thought to ask.
Virtually any DBMS is capable of receiving and managing the contents of SGML instances at a low level. The challenge is development or selection of the application layer that sits between the DBMS and the user, providing the control and visibility appropriate to the editorial and management task. When you buy a system such as Documentum, XyVision's PDM, Chrystal's Astoria (not intended to be an exhaustive list), you get some database and the vendor's application code to do what you want. It's only fair to point out as well, that you can do a heck of a lot of document management using nothing more than the good ole' file system.
If you are a real database expert with plenty of time to develop and support your code, you may want to write this type of thing yourself. However, if that is not the case, you may want to look at the tools in the marketplace, evaluate them against the details of your task set ( in short, cut through the document management generalities and ask them in detail if they can do what you want, which, of course presuppses that you have developed an exhaustive list [how's that for a tool long sentence?]) and choose the best one based on functionality and cost. In this area, the devil really is in the details and we have seen more than one case in which a DMS was purchased and had to be heavily and expensively modified or actually shelved at great cost because, at the end of the day, they just didn't do what the buyers needed done.
I think the best comparison is between developing your own DMS and developing your own SGML editor; definitely doable but hardly cost-effective or risk averse in all but the most unique situations.
Not to brag or anything, but my book probably comes the closest to what you are looking for, but it may not be enough. My book SGML @ Work, takes a FrameMaker document through the process of building a DTD, converting it loading it into a variety of SGML editors and finally into Texcel Information Manager - which is now owned by Interleaf.
For more information see:
If you go with a native SGML tool like Astoria or Texcel, much of the work is done for you because they read the DTD directly and you can get to any piece of data without them being in special files. With the non-native tools like Documentum or Xyvision PDM you have build tools first that basically break your document into separate files and then your reuse is based upon that level that you set. Want a differnt level, re-write all the tools. I definitly recommend the native SGML tools.
If you have any specific questions, write, we are currently setting up an Astoria implementation where I'm at now.
> > Virtually any DBMS is capable of receiving and managing the contents of SGML > instances at a low level. The challenge is development or selection of the > application layer that sits between the DBMS and the user, providing the > control and visibility appropriate to the editorial and management task. > When you buy a system such as Documentum, XyVision's PDM, Chrystal's Astoria > (not intended to be an exhaustive list), you get some database and the > vendor's application code to do what you want. It's only fair to point out > as well, that you can do a heck of a lot of document management using > nothing more than the good ole' file system.
I agree totally,
We just went through an extensive search for a document management system and database. We evaluated several products like eXcelon etc. Our conclusion was that if you need full control over the document instances or parts of it and indexing mechanismen, you just need to write the document management system yourself.
This is exactly what we've been doing lately (in java). If you decide to write your own content management system, do it based on an object database, this will help a lot.
ps. If your interested in our solution, contact me by mail.