Previous | Table of Contents | Next |
To develop SGML data for the Web, you need to be familiar with the last few chapters. They discuss some of the tools and techniques available, and a lot of the costs, benefits, and design trade-offs you will be facing. This chapter talks about what really distinguishes effective use of SGML from boring use, or how to get the most out of your markup effort.
In this chapter, you learn about:
There are a few key problems people often run into on the Web which, as youve seen, even basic use of generic SGML can help solve. Some of these problems include:
Another problem is that links using URLs break easily (for example, if the destination file is merely moved or renamed) and are hard to fix, but thats not exactly an HTML problem (URLs are defined by another standard to which the HTML standard refers). HTML is gradually working to address many other problems, but no matter what happens with those, the problems above will still be with youtheyre pretty much built in.
The only direction HTML can go without trading up to generic SGML, is to continually add more particular tags (well, it could discard structure entirely and say everyone has to send PostScript or bitmap pictures of pagesbut that wouldnt really be HTML anymore, and it would be a big step backwards!).
Adding more tags to HTML means HTML has to go through a repeated standardization process, create a new (maybe incompatible) version, create incompatibilities in browsers, and so on. No matter how much you add, youll never finish (its like trying to finalize the English dictionary; people always spoil it by coming up with brand-new ideas and wanting words for them).
The fundamental direction of SGML for the Web is different. SGML just says, Why fight? Let everybody create the tags they need. The DTD lets people say what tags they created. A good DTD will come with documentation and at least a sample stylesheet to explain what the tags mean. A client just reads the DTD, the document, and the stylesheet, and it works.
This is probably inevitable on the Web. In the long run, people wont accept a limited set of tags any more than theyd accept a fixed set of style names in a word processor or a fixed vocabulary for English.
To be completely fair, lets look at the other side of the coin too: how might HTML influence SGML? There are some traditional snags people run into with SGMLmost of them have to do with having so many optional features available. When you first approach SGML, it can look a little like a new car with a 20-page list of options from which to choose; a lot of them look tempting and are useful for some people, but if you try to take too many, you can have problems. What if you ask for the CD and the DAT player for your car, and they dont both fit? Or four wheel drive and front wheel drivedo you get six wheels?
Every feature costs something, so think about what you need, want, and can afford, and pick just those features (and hope someone checks whether they go together, too!). With a car, the cost of each feature is hard cash. With computer systems, the cost may not be so obvious, but its still there. Here are some of the costs of over-using features:
HTMLs huge success, despite ignoring almost every SGML option, says something: theres a lot you can do with no-frills SGML. Youve seen there are important things you cant do, too, so maybe the real lesson is to make sure you get the options you need, but pick just what you need; dont waste much money or effort on other capabilities. With SGML, this usually means not bothering about fancy minimization controls like DATATAG and RANK, and not using regular features in really subtle ways, such as marked sections that cut sideways across entity or element boundaries.
Previous | Table of Contents | Next |