Drafting Legislation Using XML at the U.S. House of Representatives

Drafting Legislation Using XML at the U.S. House of Representatives

Table of Contents


Drafting Legislation at the U.S. House of Representatives
Government Printing Office Typesetting Systems
Using XML to Draft Legislation
Smart Editing with XML
     WYSIWYG-Like XML Authoring
     Minimize drafters’ attention to the typesetting product
     Maximize drafters’ consideration of the legislative language itself
     Provide “just-in-time” knowledge support during the drafting process
Conclusion

Drafting Legislation at the U.S. House of Representatives

The Office of the Legislative Counsel of the U.S. House of Representatives (HOLC) is the legislative drafting service of the House of Representatives. The Office provides drafting and related assistance to the Members of the House, the House committees, and the conference committees between the House and the Senate. Although the Members and committees are not required to use the Office, most legislation in the House is worked on by attorneys in the Office. The signed paper version submitted to the Clerk of the House on the House Floor is the official document of record.

HOLC, the main drafters of House legislation, consists of approximately 35 attorneys and a support staff of about 15 individuals, and is headed by the Legislative Counsel of the House who is appointed by the Speaker of the House. The Office is impartial as to issues of legislative policy and does not advocate the adoption or rejection of any proposal or policy. Although the attorneys in the Office naturally develop special expertise in certain areas of the law, they also assist each other in handling the workload of the Office.

Because the paper version is the document of record, the drafters provide their clients with typeset drafts or PDF files that can be printed in the client’s office. The paper version of legislation is currently created in one of two ways:

Government Printing Office Typesetting Systems

Because the transition to XML has been based on the requirements of the previous authoring and typesetting systems, some historical background is helpful.

The Government Printing Office (GPO) began using phototypesetting equipment in 1946 when the organization purchased the Intertype Fotosetter. It was not until the early 1960s when the integration of computer technologies with phototypesetting by pioneers like John Seybold signaled the dramatic changes that followed in the typesetting industry. Between 1963 and 1967, GPO contracted with Mergenthaler and CBS for the development of the Linotron 1010 phototypesetter and a typesetting software package, the Master Typography Program (MTP), to operate on GPO’s IBM 360 mainframe. While the MTP was developed primarily to process larger quantities of tabular data from Federal agency mainframe databases, it also had the capability of processing conventional text matter. The lower cost, speed, and ease of use of the MTP laid the groundwork for the eventual end of hot metal at GPO.

Between 1967 and 1978, although GPO used the IBM 360 connected to the Linotron to produce typeset output, legislation was still exclusively produced using hot metal from typewritten legislation that was hand-delivered to GPO on a daily basis.

MTP, as well as the current PC-based Microcomp software, used “locator” codes to enable the specification of typesetting instructions to the phototypesetting equipment and was used to typeset legislation beginning in 1978. An example of a locator code is bell-I22. The “bell” character is the hex 07 character which is used to signify the beginning of a locator code. In this case, I22 represents the code used to generate a paragraph with a 2-em space indent and is used to generate the typesetting of subsections in legislation.

In 1975, GPO purchased their first ATEX system, based on Digital Equipment Corporation’s PDP-11/34, and, by 1978, GPO had ported the MTP to the ATEX system. Since the ATEX systems were much less expensive to operate than the IBM mainframe, the combination of ATEX and the MTP replaced significant portions of the traditional hot metal work. In order to improve the turnaround time for the typesetting of legislation, ATEX equipment was installed in HOLC to eliminate the need to rekey legislation at GPO with hot metal equipment. HOLC attorneys and clerical staff learned to enter the GPO locator codes in order to improve turnaround times for the typeset product. Magnetic tapes containing the locator codes along with the legislation were delivered daily from HOLC to GPO for typesetting and camera-ready output on GPO’s phototypesetting equipment. By the early 1980s, magnetic tape transfers were replaced with file transfers.

With the introduction of PCs and low-cost laser printers in the 1980s, GPO ported the MTP to the PC platform. This was accomplished by 1988 with GPO’s development of the Microcomp software program that relied on PostScript printing capabilities. Although originally designed to provide proofs for the final typeset output at GPO, Microcomp and plain paper output from laser printers soon became accepted as final camera-ready copy. As a result, Microcomp greatly improved the legislative drafting process by enabling HOLC to draft legislation in their own office using a DOS-based editor (Xywrite) and then locally printing the legislation using PostScript laser printers.

While Microcomp further reduced costs and turnaround time to produce typeset output, it also required all HOLC attorneys to become proficient users of the Xywrite editor and the specific GPO locator codes. In order to gain even greater efficiencies, HOLC developed over 200 keyboard shortcuts and additionally customized the keyboard within Xywrite to meet their needs. The keyboard itself was remapped to gain typing efficiencies. For example, the “>” character was replaced with a period so the attorneys didn’t need to toggle the shift key in order to type abbreviations such as “U.S.C.” and the double quote character was replaced with an open single quote mark since the attorneys needed to distinguish between open and close quote marks. The tilde (~) key was remapped to become an additional shift key (like Ctrl or Alt) so the attorneys could quickly insert commonly used phrases (e.g., ~+A produces “of such Act”, ~+1 produces “(1)”). The keyboard short-cuts also included keystrokes to insert very commonly used pre-defined words (e.g., Alt+S will produce the word “section”, Alt+P for “paragraph”) and keystrokes to perform text expansions based on a control list that each user can define (e.g., SSA followed by Ctrl+Alt+R produces “Social Security Act”). This detailed description illustrates the drafters’ requirement to produce legislation as quickly as possible and with as few keystrokes and misspelled words as possible. On the other hand, the description here also highlights the drafters’ reliance on keyboard shortcuts and the problem of training staff to remember a significant number of short-cut key combinations. While other more advanced macros were developed within Xywrite, the underlying purpose was always to either save keystrokes for the drafter or insert complex locator codes as mini-templates (e.g., tables) that were difficult to remember. Many of the more advanced macros provide short-cuts to create typographic effects within the legislation.

Using XML to Draft Legislation

Federal legislation is highly structured. The basic unit of legislation is the section. Sections can contain seven (7) levels of hierarchy within them (subsection, paragraph, subparagraph, clause, subclause, item, and subitem). Sections can also be within seven (7) higher levels (division, title, subtitle, chapter, subchapter, part, and subpart). In addition, legislation is drafted using various styles. The most common styles are traditional, OLC, and hybrid (a combination of traditional and OLC). The styles are a byproduct of previously passed legislation and sometimes individual preferences. In addition, some acts passed by Congress and enacted into law have their own unique styles such as the Atomic Energy Act of 1954. Because Congress continues to amend these acts, these styles must be available to legislative drafters in order to amend those laws. Using typesetting codes, legislative drafters have been able to create stylistic differences. In the mid-1980s, Ward Hussey, the House’s Legislative Counsel at the time, began an effort to standardize the style for legislation, which came to be known as OLC style. This effort was mostly successful and in a broad way has become the foundation for the current XML efforts.

Beginning in 1997, the House and the Senate, along with the other Legislative Branch agencies, began an investigation of the use of SGML and later XML as a data standard for the exchange of legislative documents. By December 2000, the Committee on House Administration and Senate’s Rules Committee adopted XML as the primary standard for the exchange of legislative documents between the House, Senate, and other legislative branch agencies. The Legislative Branch including the House, Senate, Government Printing Office, Library of Congress, Congressional Budget Office, and the General Accounting Office maintain coordination in terms of the Common Tag Library for legislative documents.

Smart Editing with XML

The development of an XML authoring environment for drafting legislation has provided the opportunity to create a “smart” editing environment based on the context provided by the underlying XML structure. In addition, small changes in the drafting approach have provided opportunities for improved efficiencies. The goal for the new environment has been:

These goals may seem difficult, if not impossible, to most of us who have been working with SGML and XML. Even XML evangelists don’t seem to boast that XML will make life easier for authors. The advantages usually focus on the consumers of the underlying information (i.e., publishing to any device, content-format separation, improved searching) and long-term platform independence. Performing an Internet search for “advantages of authoring in XML” as a phrase produces disappointing results, but authoring itself can be improved when using XML as illustrated in this application. The following features of the application illustrate this point.

WYSIWYG-Like XML Authoring

Authoring in a structured XML environment is different than a free-form word processor, but XML editors are beginning to see the value of providing a CSS-based authoring environment. One major difference between the environments deals with the ability to select arbitrary text. While this may seem like a hindrance within the XML environment, it ultimately enables the drafter to understand the importance of the document structure (e.g., subsections are within sections). With the WYSIWYG approach, the House’s application takes full advantage of the Windows interface while still providing many of the short-cuts used in Xywrite. This strategy has enabled the keystroke-savvy drafters to feel comfortable with the application while they become more comfortable with Windows-based features. Conversely, the Windows-savvy drafters and new drafters should be able to learn the new authoring environment faster than the locator code approach.

Minimize drafters’ attention to the typesetting product

Auto-numbering. In Xywrite, drafters were responsible for manually numbering levels (e.g., section, subsection, paragraph, etc.). If new levels were inserted between two levels or moved to another location, the drafter would need to renumber all affected levels manually. In the XMetaL environment, automatic numbering of levels has freed the drafter from this administrative chore. When new levels are inserted, moved, or deleted, the renumbering occurs automatically. This reduces the attention needed to number the levels correctly and increases the attention to legislative language. Drafters can also turn this feature off if desired.

Heading Casing and Table of Contents Generation. In the DOS environment, drafters needed to use the appropriate upper and lower casing for each level’s heading based on the required appearance when typeset. This created several drafting inefficiencies: (1) headings needed to be retyped with the correct casing when levels were demoted or promoted; (2) drafters needed to learn the casing rules for each level; and (3) additional work was needed to create tables of contents because the casing of headings within tables of contents use sentence style casing. The solution was to draft headers using sentence style casing. The appropriate casing for each level is then applied automatically by the rendering mechanism. Although this has improved efficiency and quality, the main benefit is that drafters have one less typesetting requirement to think about in the drafting process.

Maximize drafters’ consideration of the legislative language itself

Working with Levels. In the DOS environment, the drafters were working in a free-form editing environment. While this provided them with ultimate control of the typesetting engine, it also required them to perform all the work. For example, if an drafter needs to move a section up or switch two or more sections, in the DOS environment, the drafter needed to cut and paste the entire sections repeatedly (including sublevels and any associated material) and then correct the enumeration. This would also be true in a free-form word processing environment. In the XML environment, the drafter can simply change the numbering of the levels and invoke a macro that sorts the levels based on the numbering. This is possible because of the XML structure. If a level needs to be moved up or down, a toolbar button quickly enables the level with its children to be moved up or down. To the author, the level and its sublevels represent the complete level so this approach is actually more intelligent than the free-form word processing approach.

Navigation. In the DOS environment, the drafters could easily lose their place within the legislative text. This was solved by providing a “Where Am I?” feature that provides the user with the legislative path of the cursor’s location (e.g., Title 1, section 104, subsection (a), paragraph (4)). This was easy to accomplish within an XML environment because the document structure and the Document Object Model support this exact sort of knowledge about the document. It was also easy to provide tools to navigate to the next or previous level. The author can also use a generated table of contents within the document as a way to navigate to the levels indicated. These functions simply create an easier environment for the author to work in.

Provide “just-in-time” knowledge support during the drafting process

Accessing U.S. Code Information. Drafters often need to obtain information from other documents in order to draft legislation. This is an area of continuing development, but at this point two items have been implemented. First, the drafter can type a U.S. Code citation into the document and then press Ctrl-G to launch their browser and navigate seamlessly to that section of the U.S. Code. Second, the drafter often needs to look up a U.S. Code citation based on a citation within an act. This function has been implemented for 82 acts. In the future, the plan is to enable retrieval of other documents to provide information resources when the author needs those resources.

Internal Cross References. Another challenge to the drafter is cross reference quality assurance particularly since legislation tends to be rich in cross references. When levels are deleted, moved, promoted, or demoted, other levels are usually renumbered and cross references to those affected levels are suddenly incorrect. In the Xywrite application, the drafters had shortcut keys to insert single enumerators (e.g., ~+1 produced “(1)”, etc.). In the XML environment, a more comprehensive approach was taken. First, drafters needed a quick way to insert internal cross references. The drafter can now type a cross reference in a short-form (e.g., 1Aii followed by Alt+X produces “paragraph (1)(a)(ii)”). In addition to inserting the level name and the parentheses, the macro surrounds the text with a cross-reference tag with the id of the target level automatically. This is only possible because of the XML document structure. In addition to the cross-reference insertion macro, a cross reference checking tool enables the drafter to check and correct cross references within the document. Finally, the drafter can point the cursor at any level and obtain a report of whether there are cross references to the level and its sublevels. This last feature is an enormous aid in the drafting process because it enables the drafter to know the cross reference impact before modifying the level.

Conclusion

The transition to XML for the drafting of legislation has been both challenging and highly rewarding for the House. At this point, the House has been using the XML authoring environment for House-only resolutions since January 2001 and began drafting bills in XML in September 2002. The House plans to draft over 95% of introduced bills in XML by January 2004. Through the Library of Congress’ Thomas website (http://thomas.loc.gov/) and GPO’s GPO Access website (http://www.access.gpo.gov/), the public accesses legislative documents. The Library of Congress is working on improved document display technologies using the XML files and GPO has developed a new version of Microcomp that typesets the XML files as well as locator coded files. DTDs, schemas, and examples of XML bills and resolutions are available at http://xml.house.gov/.


This document was lasted updated on November 15, 2003