Previous Table of Contents Next


Parts of a Tag

One thing you haven’t learned about yet are the individual tags themselves. They are the actual characters that the processing system must recognize as markup and not confuse with the document’s content. The SGML system’s ability to make this distinction is what enables SGML to work. For the system to work, it must rely on very special characters in very consistent locations in a very standard order. If these characters are out of order or are missing from the expected order, the SGML processing system will not be able to process the document.

SGML documents come to the processing system as if they were on a conveyor belt in an assembly line. To be automated, the assembly line must have the right part at the right place at the right time. If a bumper is supposed to be put on a car on the assembly line, the object on the conveyor belt had better not be a raw engine block. The body has to be on the conveyor belt with the holes drilled for the fastening of the bumper. Tags are on a similar SGML conveyor belt, and the right tags have to show up at the right time, or else the conveyor belt might stop or, worse yet, build something wrong that has to be fixed at your expense. Therefore, tags must follow a certain syntax, or precise method of expression, so that any SGML processing system will recognize and interpret them properly. Consider the following sample:

  <TITLE>Here’s A Whiz Bang Title</TITLE>

Notice that there are six basic components as you read from left to right:


Component Description

< Start tag open delimiter
TITLE Tag’s generic identifier
> Start tag close delimiter
</ End tag open delimiter
TITLE Tag’s generic identifier
> End tag close delimiter

Each of these tag components has what is called an abstract name. Abstract names are frequently used in SGML as a quick way of referring to parts of declarations by their position. Because it’s critical for a document processing system to interpret every mark correctly, every character has a special name and abbreviation. If the correct syntax for these tags is not followed and misses by only a character, it could cause a big problem. That’s why every single character in a tag must be accounted for. To help account for each character in a tag, abstract names and their abbreviations have been useful. You’ll learn more about this in Chapter 10, “Following General SGML Declaration Syntax.” Here are some examples:


Example Abstract Name

< STAGO (Start Tag Open)
> STAGC (Start Tag Close)
</ ETAGO (End Tag Open)
> ETAGC (End Tag Close)
TITLE GI (Generic Identifier)

You now have a framework for learning about elements, attributes, and entities. These are the larger SGML boxes into which your document’s belongings will be loaded for professional moving to another system. What you’ve learned about until now has had more to do with the immediate and rudimentary tasks an SGML processing system must complete before it starts seeing any document content. When it sees its first element tag, it’s ready to begin working on the content of the document. This is where SGML gets interesting because these are the tags that determine how well your document weathers its electronic voyage.

Elements

Elements are the major structural components of your documents. If you were to box up your house and have professional movers move you to another city, they would probably label boxes for each room in the house and attach the appropriate labels to those boxes so you would know what room each box belongs in when it arrives at the new house.


Previous Table of Contents Next