| W3C update - XML-related activites at the World Wide Web Consortium | Table of contents | Indexes | Graphical Hotspot Definition - A Common ATA/AECMA Approach | |||
I've Got an SGML Database - Why do I need HyTime? |
| Carla Corkern |
| Isogen International
Email: carla@isogen.com |
Biographical notice: |
![]() Isogen International ![]() Rice, John ![]() |
| John Rice |
| Isogen International
|
Biographical notice: |
Introduction: SGML Repositories |
BLOB Managers |
Given the limited data-awareness of the BLOB Manager, how might Hytime enhance its capabilities? |
Entity Managers |
Entity Managers may be built upon Object-Relational or Pure Object Databases. Unlike BLOB Managers, Entity Managers are SGML-aware, allow for collaborative authoring, and support referencing of semantic data structures. Entity Managers also support the development of modular DTDs (for reuse of of common objects and less cumbersome DTD maintenance), and they allow for the tracking of parsed marked section (versioned) data within the context of one object. Entity Managers then, are more portable and efficient and implement a higher level of SGML than do BLOB Managers. |
However, Entity Managers also require a significantly greater effort to implement. Especially, time consuming and rigorous is the up front analysis, since it is not only a document analysis but also a workflow analysis. Workflow analysis allows for the construction of authoring DTD subsets and for DTD modularization, but this can get messy. As Steven Newcomb has pointed out in SGML ARCHITECTURES: Implications and Opportunities for Industry. "Wherever a DTD fragment is inserted into a DTD, it is inserted verbatim. Even if parameter entities are not used, or if they are used in complex ways (such as having the inserted text of a parameter entity contain a reference to a previously-defined parameter entity), the insertion of DTD fragments can result in the propagation of unnecessary and unnatural constraints on the structure of documents, or, alternatively, less structural constraint than is desired by the architect, and then can be usefully validated by an SGML parser or SGML database engine. Moreover, the impact of a change in a parameter entity on any given DTD can be surprising and confusing to everyone but a computer." Equally important to consider is that it is quite possible to develop an application so granular that it is actually less time consuming for your authors to recreate data than collect it! |
Entity managers have a significant advantage over the other two types of solutions in that the process of entity definition and management is well defined and well understood by vendors. In fact, most SGML-aware tools can understand and support entity management so tool support and integration with an entity manager should be relatively easy. For example, a set of defined entities expressed on the file system in an SGML open catalog format could serve the database by defining a finite set of structures to be managed and a predefinition of the rule sets. This one catalog file could also serve the needs of authoring and composition tools, allowing a true plug-and-play architecture. |
With a high level of SGML-awareness, Entity Managers could benefit significantly from HyTime incorporation. |
|
Element Managers |
You may argue that entity managers and element managers are the same thing, and depending on implementation, they could well be used in the same ways. However, Entity Managers usually suggest a predefinition of a MRU (Minimum Revisable Unit) of your data. Element managers allow reuse on "anything that's tagged". Element Managers are SGML-aware, allow for collaborative authoring, and support reuse of semantic data structures. Element Managers also support the development of modular DTDs (for reuse of of common objects and less cumbersome DTD maintenance), and they allow for storage of versioned data within the context of one object. In fact, some Element Managers even have an SGML-diffing feature that allows you to track the change of text inside of an element. Element managers implement a higher level of SGML than do Entity Managers and they may magnify some of the problems of entity managers. |
While Entity Managers require a significant implemention effort, Element managers may take that design to a ridiculous level. Most Element managers require you to build your DTD to not only share high level components but indeed each content model if you plan to share elements across several DTDs. Because most Element Managers implement a schema by loading a DTD, the design of the DTD is very important. Designing one mother of all DTDs with multiple "threads" is the design goal of implementing this type of system. And the warning bears repeating that is quite possible to develop an application so granular that it is actually less time consuming for your authors to recreate data than collect it! When we focus on the business issues of implementing a system, we must remember that information is only as granular as your authors can conceive it to be. |
With a very high level of SGML-awareness, Element Managers could benefit signifi cantly from HyTime incorporation. |
|
The Nuts and Bolts of Things |
As was mentioned above, it might be fair to say that each of these systems has its rightful place. If we view publication as a bottom to top process, there is a need to create data, manage objects, and deliver or maintain collections of information. You need the functions inherent in all of these systems. You need to ability to manage SDATA and the library management services of a BLOB system to manage your finished work products (hopefully someone in your organization will just let you keep your data in their system so you spend your cash on truly SGML aware system!) You need the ability to define authoring and processing MRU s for tools implementation. You need the granularity of an element manager if you really expect to never retype anything. Some of these tools claim to be able to do all of these jobs equally well but none is currently configured to perform all three functions. |
Summation |
What does HyTime buy me that an SGML database does not? Well, for one thing, if you believe in SGML for all of the reasons generally espoused, you know that locking up your data in a vendor-controlled environment is not a good long term strategy. If you don't believe that, then maybe you shouldn't be doing SGML at all! By taking your vendor-neutral SGML data and building value into a management system you are falling into the same trap you just got out of! |
Support of HyTime by your database vendor means that you can create and maintain architectural, linking and composite information in a vendor-neutral way. If you are working on a document set that must be delivered to someone else - how are you going to communicate all of the value in your data layer? |
None of today's leading SGML database systems provide the true ability to manage and create hyperdocuments because they all lack the general addressing and linking functions they need to provide to enable more robust and general representations of things like workflows and change tracking. We suspect that this is a lack of understanding on the part of the vendors as to the true needs of the documentation community and a lack of exercise of some of the features on the databases on which they are built. We have often bemoaned the fact that most people trying to tackle the problem of how to solve the problems in the SGML industry are approaching the problem for the SGML side rather than the database side. Several of the underlying technologies of current SGML database systems would allow for better addressing and linking capabilities if properly implemented. |
We heard again and again as we contacted vendors for this article that HyTime support was not a priority. We insist that it must be if you ever wish to deliver your data to someone who does not share your database or if you want to ever move from one type of SGML management system to another. The true value of any standard is the portability of your data. If you have an SGML database, why do you need HyTime? By now, we hope you can answer this one for yourself! |
"What color would you like your database?" -Dilbert |
| W3C update - XML-related activites at the World Wide Web Consortium | Table of contents | Indexes | Graphical Hotspot Definition - A Common ATA/AECMA Approach | |||