ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.
In exceptional circumstances, the joint technical committee may propose the publication of a Technical Report of one of the following types:
Technical Reports of types 1 and 2 are subject to review within three years of publication, to decide whether they can be transformed into International Standards. Technical Reports of type 3 do not necessarily have to be reviewed until the data they provide are considered to be no longer valid or useful.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC TR 9573-11, which is a Technical Report of type 3, was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 34, Document description and processing languages.
This second edition cancels and replaces the first edition (ISO/IEC TR 9573-11:1992), which has been technically revised for conformity with the DTD prepared by the SGML group of ISO ITSIG (Information Technology Strategies Implementation Group) and to respond to the objectives of the ISO ITSIG XML Project.
ISO/IEC TR 9573 consists of the following parts, under the general title Information processing — SGML support facilities:
Further parts are under development.
The first edition of ISO/IEC TR 9573-11 was published on 1992-09-15. This part of ISO/IEC TR 9573 was then updated to correspond to the evolving needs of the ISO system for standards development by the SGML group of ISO ITSIG (Information Technology Strategies Implementation Group) and was published as the "ITSIG exchange DTD".
The base DTD was created by the Information Technology Strategies Cooperation Group (ITSCG) Ad hoc working group 1 during 1994 and 1995.
To respond to the user requirements for the interchange of standards documents in an XML environment, ITSIG instructed its XML project to develop an XML DTD based on the SGML "ITSIG exchange DTD".
This second edition of ISO/IEC TR 9573-11 includes both the SGML and the XML DTDs. The content of this part of ISO/IEC TR 9573 except clauses 2 and 10, and Annexes A to G, is almost identical to the corresponding clauses of the "ITSIG exchange DTD, version 0.93, 1998-03-03".
ISO/IEC TR 9573-11:2004 defines the document structures and style specifications for standards document interchange (in particular, ISO standards). Element types and attributes for ISO standards are defined and two profiles (a database-oriented profile and a document-oriented profile) are provided.
The document structures are described by
The style specifications are described by
Rendering examples and a list of processing tools are provided for information.
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
ISO 8879:1986, Information processing — Text and office systems — Standard Generalized Markup Language (SGML)
ISO/IEC 10744:1997, Information technology — Hypermedia/Time-based Structuring Language (HyTime)
ISO/IEC 10179:1996, Information technology — Processing languages — Document Style Semantics and Specification Language (DSSSL)
ISO/IEC 19757-2:2003, Document Schema Definition Languages (DSDL) — Part 2: Regular-grammar-based validation — RELAX NG
The lifecycle of standards comprises three main phases: development, publication, and reuse and dissemination. Each phase has different requirements for handling the standards as electronic documents.
The development phase requires simplicity of tools for capturing the content. The experts outside the ISO/CS may use a wide variety of very different tools. During this phase, the presentation of the standards is of secondary importance whereas the content and structure (if feasible) are of primary importance.
The publication phase requires flexibility and automation of routine work. The result must be of a professional publishing quality and enriched for further electronic dissemination.
The reuse and dissemination phase requires independence of a document instance in electronic form from the processing environment. No sophisticated application should be required to reprocess the document. SGML applications are already being used for standards production at the ISO/CS and by several member bodies, and also for the delivery of some commercial electronic products. Some working groups have good experience with SGML. Therefore, it is necessary to define DTDs for use as the interfaces between the various phases.
It has been recognized that it is not practical to provide a single DTD for everything. It was decided therefore to have a "common" DTD for exchange of published standards and several "in-house" DTDs, i.e. the member bodies could use their own variants of the base DTD (see Figure 1).
Figure 1 — SGML applications in the ISO business process
Standards from different member bodies look different, and different publishing software is used. By preference, the difference between the exchange DTD and the individual variants should be minimized. Equivalent transformations of DTD fragments help to overcome software limitations. For example, we can replace in some cases a "simple" element type by an attribute and vice versa. Also it is possible to change the names of element types and attributes for the in-house DTDs, e.g. to translate them to German.
To simplify the maintenance of several very similar DTDs, most of them are implemented as a derivation of a single base DTD. The authoring DTDs are either simplified versions of the base DTD or widely-used DTDs such as XHTML.
For the harmonization of the DTDs the following guidelines were agreed by the ITSCG AWG1. They are listed in the order of their importance (from the most important to the least important) :
The general guidelines agreed to were the following.
It is assumed that there will be a small number of differences between the base and the in-house DTDs. For example, the base DTD uses the CALS table model, while an in-house DTD may use an application-dependent table model. We would like to handle simple differences by using one base DTD which is included, with some variations, in the in-house DTD. The base DTD is that to be used for the exchange of published standards. Of course, document instances need to be converted from the base to the in-house DTD.
The SGML technique to make such simple modifications is described below. The following DTD contains only one element type abc which is defined through the parameter entity abcname:
The following DTD uses the previous one, but redefines the name of the element type:
This technique is limited, but is sufficient in most cases.
The replacement (via the parameter entity std.table) of the table model is shown in the following example:
International Standards are complex technical documents. Rules concerning their structure and drafting, and some guidelines regarding their presentation, are given in the ISO/IEC Directives, Part 2. Table 1 provides the list of components (small building blocks) that are typically found in standards. As a rule, a component contains text, special characters, drawings, etc. as well as other components. For example, paragraph and highlighted phrase are components. A component is presented in the DTD as an element type.
| Component | Displayed | Inline | Referential | Float |
|---|---|---|---|---|
| paragraph | + | |||
| lists | + | |||
| list items | + | |||
| note integrated in the text | + | |||
| example integrated in the text | + | |||
| warning, caution, remark | + | |||
| highlighted phrase | + | |||
| cross-reference | + | + | ||
| formula | + | + | ||
| footnotea | + | + | + | + |
| figure | + | + | ||
| table | + | + |
To present the logical structure of the document, the components are placed in so-called "containers". For example, a list is a (ordered or unordered) group of list items (or entries). Clauses and subclauses are other types of container. They contain components and other containers, but not text.
A standard may contain different types of provision which have a status "normative" or "informative". The ISO/IEC Directives, Part 2, describes the different types of provision and their respective status. To reflect this business rule, some element types of the DTD contain an attribute status which can be either normative or informative. If an element type does not contain this attribute then the status of the element is inherited from the parent element in the document instance.
It is not permissible to nest all components within all other components. Table 2 shows whether it is permissible to nest the component given in lightface in the first column inside the component given in bold in the column heading.
| paragraph | list | list item | notea | examplea | warning | footnotea | floats | displayed formula | |
|---|---|---|---|---|---|---|---|---|---|
| paragraph | no | yes | yes | yes | yes | yes | yes | yes | no |
| list | yes | no | yes | yes | yes | yes | yes | yes | no |
| list item | no | yes | no | no | no | no | no | no | no |
| notea | yes | yes | yes | no | yes | no | yes | no | no |
| examplea | yes | yes | yes | no | no | no | no | yes | no |
| warning | yes | yes | yes | no | yes | no | yes | no | no |
| footnotea | yes | yes | yes | no | yes | no | no | no | no |
| floats | yes | yes | yes | no | yes | yes | no | no | no |
The name of each element type is taken from ISO 8879:1986 and/or ISO/IEC TR 9573-11:1992 for simplicity. Another possible approach is to follow architectural forms and to "rename" an element type in the following way:
Most element types have the attribute "ID" for internal cross-referencing. The element types which generate an additional text, e.g. autonumbering, have the attribute "GTEXT" which is the holder for the generated text, e.g.
The top-level structure is very in-house dependent. Imagine a national standard which is an endorsement of an approved European standard, which is itself an endorsement of an approved International Standard. The national standard may contain several forewords, endorsement notices, copyright statements, etc. Because of this it was decided to keep the top-level structure as simple as possible, whilst bearing in mind the interchange aspects.
This is the root element in a standard.
The attribute "LANGUAGE" specifies the language of the standard.
The two parameter entities std.name and std.model can be used to change the element type name and to adjust its content model. See 7.2.1 and 7.2.2 for details.
This element type is described in Clause 6.
This element type is used as a placeholder for the front cover page. There is no structure for title pages which are different for each organization.
The content model is simple text.
It is considered that the title page is constructed from the information which is available in the profile. This is a mandatory element, i.e. a standard shall contain a title page.
This element type is used as a placeholder for the table of contents generated by the publishing system.
The content model is simple text.
The attribute "LEVEL" permits control over the level to which the subclauses are entered in the table of contents. The default value is "1" which means that only the clauses from the body of the standard and the annexes are listed.
This is an optional element, i.e. a standard may contain a table of contents.
This element type is used to identify the foreword clause of the standard.
The content model is rather simple. It cannot contain any numbered subdivisions or any numbered components such as notes, figures, etc. Only paragraphs and lists are permitted in the foreword.
This is a mandatory element, i.e. a standard shall contain a foreword. A large part of the foreword is comprised of a set of boilerplate texts.
This element type is used to identify introduction clause of the standard.
The content model is rather simple. It may contain numbered subdivisions of text.
This is an optional element.
This element type is used to identify the body of the standard.
The body is structured by top-level (<H1>) numbered subdivisions of text with a title, i.e. by clauses. There are four special clauses (<SCOPE>, <CONF>, <REFS> and <DEFS>). The body may contain a "general warning statement" before the scope.
The attribute "COLS" specifies the number of columns. One column (default) and two column page layouts are permitted for monolingual standards. The attribute "STATUS" has the fixed value "NORMATIVE".
This is a mandatory element. A standard shall have a body. Using the parameter entity (body.model) one can change the content model. See 7.2.3 for details.
This element type is used to identify a normative annex.
An annex contains either a mixture of basic components or at least two top-level subdivisions of text.
The optional attribute "COLS" specifies the number of columns. One column (default) and two column page layouts are permitted for monolingual standards. The attribute "STATUS" has the fixed value "NORMATIVE".
This is an optional and repeatable element, i.e. a standard may contain one or more normative annexes.
This element type is used to identify an informative annex.
An annex contains either a mixture of basic components or at least two top-level subdivisions of text.
The optional attribute "COLS" specifies the number of columns. One column (default) and two column page layouts are permitted for monolingual standards. The attribute "STATUS" has the fixed value "INFORMATIVE".
This is an optional and repeatable element, i.e. a standard may contain one or more informative annexes.
This element type is used to identify the bibliography.
Some text and the list of bibliographical references are permitted.
The optional attribute "COLS" specifies the number of columns. One column (default) and two column page layouts are permitted for monolingual standards. The attribute "STATUS" has the fixed value "INFORMATIVE".
This is an optional element. It is positioned after the last annex.
This element type is used as a placeholder for the index generated by the publishing system.
The content model is simple text.
This is an optional element, i.e. a standard may contain an index.
This element type is used as a placeholder for the last cover page. There is no structure for the last cover pages which are different for each organization.
The content model is simple text.
It is considered that the last cover page is constructed from the information which is available in the profile. This is a mandatory element, i.e. a standard shall contain a last cover page.
Six nested levels of subdivisions of text are permitted. The top level of subdivision is called a clause; the other five levels are called subclauses. The subdivisions are always numbered. Clauses shall have a title; subclauses may or may not have a title.
These element types are used to identify the clauses and subclauses with titles of the standard.
Each of these subdivisions contains a title identified by the element <HT>, an optional title comment <CT> and a mixture of the basic elements (e.g. paragraphs, notes, various types of list, figures, tables, etc.) or a lower level of text subdivision (either with or without a title). These element types are containers.
The content model is based on several editorial rules:
In general, the content model looks like (ht, ct?, ((text)+|(Hx, Hx+))).
The float components (e.g. figure, table, index entry) should be incorporated in the content model. The float components are permitted in running text, between displayed components and between subdivisions of text. In the following example, there are three possible places for the float elements (pos 1, pos 2, etc.). All these positions are permitted.
The terminology list (see 5.6.1) is a special case since it may contain a single subdivision.
The following is an example of a fourth-level subclause, with generated text "5.4.2.4" and a title "Examples":
This element type is used to identify the title of a subdivision of text with a title.
Only running text and simple (no exotic) inline components are permitted inside the title.
This is a required element.
This element type is used to identify a comment to the title of a subdivision of text having a title.
Only running text and simple (no exotic) inline components are permitted inside the title comment.
This is an optional element.
These element types are used to identify subclauses without titles. Subclauses without a title are numbered subdivisions of text; the rules governing them are similar to those for the numbered subdivisions of text with a title (see 5.4.2).
Each numbered subdivision without a title (i.e. subclause without a title) contains a mixture of the basic components (e.g. paragraphs, notes, various types of list, figures, tables, etc.) or a lower level of text subdivision without a title. Again, these element types are containers.
Do not treat the numbered subdivisions of text without titles like "numbered paragraphs": the numbered subdivisions are nested, while the paragraphs are sequential.
This element type is used to identify the special clause entitled "Scope" in English. The content model is identical to that for the element type <H1> (see 5.4.2).
This element type is mandatory and is the first clause in the body.
This element type is used to identify the special clause entitled "Conformance" in English. The content model is similar to that for the element type <H1> (see 5.4.2).
This element type is optional. Where present, it shall be the clause immediately following the "Scope" clause.
This element type is used to identify the special clause which contains the normative references used in the standard, and which is entitled "Normative references" in English.
This element type consists of boilerplate text defined in the ISO/IEC Directives, Part 2, followed by a list of normative references (see 5.5.15).
This element type is optional. Where present, it shall be the clause immediately following the "Conformance" clause.
This element type is used to identify the special clause which contains the terms and definitions used in the standard, and which is entitled "Terms and definitions" in English.
This element type consists of the boilerplate text defined in the ISO/IEC Directives, Part 2, followed by a terminology list (see 5.6.1).
This element type is optional. Where present, it shall be the clause immediately following the "Normative references".
This element type is used for two different purposes: to identify a displayed component (which is a block of text) and to identify a container for this text block and other displayed components. In the latter case this element serves as an additional lowest level subdivision of text.
This element type can contain running text (with inline components), float components, and all displayed components except paragraph itself.
This element type is used to identify notes integrated in the text.
This element may contain running text and other displayed components. A note integrated in the text shall not contain a footnote to the text.
The attribute "NUMBER" controls the numbering of a note integrated in the text. The attribute "STATUS" has the fixed value "INFORMATIVE".
A note integrated in the text is attached either to a displayed element like a paragraph or to a numbered subdivision of text. In the first case the note shall be inside the paragraph (note, however, that from an editorial viewpoint this is not necessary). In the second case, the note shall be the last "child" in the subdivision.
This element type is used to identify examples integrated in the text.
This element may contain running text and other displayed components.
The attribute "NUMBER" controls the numbering of an example.
This element type is used to identify a displayed component with "manually formatted text" such as a computer source, listing, etc.
It is recommended to use entities to insert spaces and line breaks inside a text to achieve the desired formatting.
This element type is used to identify the display components "Warning", "Caution" and "Remark" to draw readers' attention to a particular text. The reasons may be different, e.g. need for precaution, security issue, etc.; they are distinguished by the attribute "FORMAT".
This element may contain running text and other displayed components.
The attribute "FORMAT" can take the values "genwarn", "warning", "caution" and "remark".
Warnings, cautions and remarks are always attached to some piece of a document, e.g. a subdivision (if they are outside a displayed component), a paragraph, or even the entire document (in which case the warning is known as a general warning and appears at the beginning of the body of the document).
These element types are used to identify typical lists.
A list consists of a mixture of list items and list paragraphs.
The attribute "FORMAT" controls different presentations of lists. For ordered lists <OL>, format = "alpha" identifies list items enumerated by lower case Latin letters followed by a right-hand parenthesis, format = "arabic" identifies list items enumerated by Arabic numerals followed by a right-hand parenthesis, format = "roman" identified list items enumerated by Roman numerals followed by a right-hand parenthesis, format = "auto" identifies automatic selection of the enumeration method, and format = "arabicn" identifies list items enumerated by Arabic numerals with no right-hand parenthesis.
For unordered lists <UL>, format = "bullet" identifies list items prefixed by a bullet symbol, format = "emdash" identifies list items prefixed by an emdash symbol, format = "sl" identifies list items which are not prefixed, and format = "auto" identifies automatic selection of the prefix.
Lists may be nested up to four levels.
The following markup
results in
a) the x-orientation ...;
b) the x-nominal surface stress;
but not
on:
c) the y-orientation ...;
d) the y-nominal surface stress;
This element type is used to identify the individual items within ordered and unordered lists.
This element may contain running text and other displayed components.
This element type is used to identify a paragraph within a list which interrupts the series of list items.
This element may contain running text and other displayed components.
This element type is used to identify a description list. Each entry in a description list comprises an item (e.g. a variable, a symbol, etc.) and its corresponding definition.
This element contains only description list entries.
The attribute "FORMAT" controls different presentations of lists: format = "ol" and format = "ul" simulates an ordered or unordered list respectively, format = "varl" identifies a list of variables, format = "syml" identifies a list of symbols, and format = "auto" identifies automatic selection of the presentation.
The description list can be used to describe complex cases of ordered lists. For example it can be used where a single list is interrupted and restarted as two lists (so-called "branching").
The markup
results in
| Tex | The batch typesetting system developed by Prof. D. Knuth. The batch typesetting system developed by Prof. D. Knuth. The batch typesetting system developed by Prof. D. Knuth. |
| DCF | The batch typesetting system from IBM. The batch typesetting system from IBM. The batch typesetting system from IBM. The batch typesetting system from IBM. |
The markup
results in
| h) | The orientation ...; |
| i) | The nominal stress; |
The markup
results in
a) reference to this part ...
b) to m) see ISO 6721-1:1994, Clause
12;
n) if a fixed ...
This element type is used to identify an entry in a description list. It is just a container.
This element contains a pair of elements: a term (or item) and its corresponding definition.
This element may appear only in the description list.
This element type is used to identify a term (or item) inside a description list entry.
This element contains simple text.
This element type is used to identify a definition corresponding to a term (or item) in a description list entry.
This element contains running text or other displayed components.
This element type is used to identify the bibliography list.
This element contains only bibliographical entries.
This element may appear only in the bibliography.
This element type is used to identify an entry in the bibliographical list. It is just a container.
This element contains only references to external documents.
This element may appear only in the bibliography list.
This element type is used to identify the list of normative references.
This element may contain one or more reference list entries.
This element is permitted only in the normative references clause (see 5.4.8).
This element type is used to identify an entry in the reference list. It is just a container.
This element contains only references to external documents.
This element may appear only in the reference list.
The following shows an example of a reference list.
Boilerplate text.
This element type is used to identify the terminology list. This element type is a simplified version of a similar element type to be used for terminological standards. This element type is defined in conformity with ISO 10241:1992.
A terminology list comprises a set of concepts which may be organized to show the hierarchy between the concepts (e.g. one concept has one or many subconcepts), which may be grouped (e.g. several concepts are grouped together under one title), or which may be organized both hierarchically and grouped. On each level of the hierarchy we can find a mixture of single concepts (element types <C1>, <C2>, <C3>, <C4> and <C5>) and groups of concepts (element types <CC1>, <CC2>, <CC3> and <CC4>).
This element contains several concepts (element type <C1>) or several concept groups (element type <CC1>).
This element may appear inside the element <DEFS> (the special clause for terms and definitions), in a clause or in an annex.
The terminology list "shares" the numbering sequence used for the numbered subdivisions of text. To avoid the duplication of numbers, the use of <TL> is restricted so that a numbered subdivision of text can contain either deeper subdivisions or a <TL>.
Titles of numbered subdivisions of text and terms have different presentations to avoid their confusion.
The following shows a terminology list without a subdivision.
Boilerplate text.
This element type is used to identify a concept at various levels (1 to 5) of the hierarchy.
This element type contains one or more terms, the corresponding definition (optional) and optionally subordinate single concepts or concept groups.
This element type is used to identify a group of concepts under the same title at various levels (1 to 4) of the hierarchy.
This element type contains a group title, text (optional) and subordinate concepts. CC1 to CC3 may also contain subordinate concept groups.
This element type is used to identify a term defined within the terminology list entry.
This element contains a mixture of running text and simple inline components.
This element may appear only in the concept.
This element type is used to identify the definition of a term within the concept.
This element contains a mixture of running text, and inline and displayed components.
This element may appear only in the concept.
This element type is used to identify phrases which are highlighted by means of different typographical presentations.
This element may contain running text and all inline components.
The attribute "FORMAT" specifies the following presentations: format = "none" identifies text that has the same presentation as running text; format = "bold" identifies bold text; format = "italic" identifies italic text; format = "boldit" identifies bold italic text; format = "uline" identifies underlined text; format = "code" identifies text set using a proportional font; format = "hide" identifies text set in hidden characters; format = "oline" identifies overlined text; format = "scaps" identifies text set in small capitals. The default value is "none".
This element type is used to identify a term.
This element contains running text.
The attribute "LANG" specifies the language of the term, e.g. Latin for biological nomenclature. The attribute "SUBJECT" identifies the subject field that the term belongs to.
This element may appear in running text.
This element type is used to generate internal cross-references (i.e. those to other elements of the same document) such as "see Table A.1". Owing to the fact that linguistically there are many different ways of making an internal cross-reference and that the terms used are language dependent (e.g. "see Table A.1", "see Tables A.1 and A.2", "voir Tableau A.1" and "voir Tableaux A.1 et A.2") the reference number was selected as the common denominator.
This element is empty because it is considered that internal cross-references will be generated by the authoring or publishing system.
The attribute "REFID" contains the ID of the element to be referenced. The attribute "GTEXT" contains the text generated by the authoring or publishing system.
It was decided to implement this element type as the HyTime (ISO/IEC 10744) architectural form "clink" (contextual link), but in a very simple manner.
EXAMPLE 1 An internal reference to a table:
EXAMPLE 2 To reference several elements, we need to use indirect addressing via the architectural form "nameloc" which contains the IDs of all referenced elements, e.g. an internal reference to several tables:
This element type is used to insert an external graphics file into the document. The external file is described as an external entity with a public identifier.
This element is empty.
The attribute "NAME" specifies the entity name. The attribute "PLACE" specifies the position of the graphic relative to the point of insertion: the attribute value "INLINE" means that the lower left-hand corner of the graphic is to be placed at the point of insertion; the attribute value "BELOW" means that the upper edge of the graphic is to be placed below the point of insertion.
Graphics may also be employed to represent an unusual character in running text and as a figure without a title.
Commonly agreed notations should be used to specify graphic formats, e.g.
EXAMPLE 1 The following illustrates the insertion of a graphics file in encapsulated PostScript format positioned such that the upper edge of the graphic is placed below the point of insertion:
EXAMPLE 2 The following illustrates the insertion of a graphics file positioned such that the lower left-hand corner of the graphic is at the point of insertion:
EXAMPLE 3 The following illustrates the insertion of a graphics file positioned such that the upper edge of the graphic is placed below the point of insertion:
This element type is used to identify a footnote to the text. It is permitted only in running text because it produces a footnote reference (i.e. a marker or identifier) which must be attached to something. A footnote to the text is an informative (as opposed to a normative) component of a standard.
Footnotes may contain a mixture of running text and other displayed elements except notes and footnotes.
The attribute "STATUS" has the fixed value "INFORMATIVE".
Footnotes to figures and to tables are different from footnotes to the text. Footnotes to figures and tables are discussed in 5.9.5 and 5.9.8 respectively.
If a computer-interpretable reference is available for an external document, then the element <EXTDOC> is used. Otherwise, the element <BIBDOC> should be used.
This element type is used to specify a bibliographical reference to an external document. Such a reference comprises text with a document title, etc.
This element comprises running text with highlighted phrases.
This element may be used in the reference list and bibliographical entries, as well as in running text.
This element type is a computer-interpretable reference to an external document in its entirety. The reference may be represented by a text string, possibly generated from a database.
This element comprises running text with highlighted phrases.
This element type is the HyTime contextual link (architectural form "clink"). The attribute "REFID" is always an indirect reference (i.e. via the name location architectural form "nameloc").
The element <EXTDOC> always refers to an element <NAMELOC> which must contain an external entity. The markup
results in "... ISO 8879:1986, Information processing - Text and office systems - Standard Generalized Markup Language (SGML) ..."
This element type is used to identify an index entry which is attached to some place in the text.
This element contains running text.
It is considered that the index entries will be generated by the authoring or publishing system. Sometimes index entries may be too complex to support multilevel indexes etc. but it was decided to consider them as text for now.
We should like to keep figures as simple as possible, although the ISO/IEC Directives, Part 2, allows the logical grouping of figures on two levels. For example, it is not possible to implement a subdivided figure as permitted by the ISO/IEC Directives, Part 2
Graphic Graphic a) Subtitle b) Subtitle Figure # - Title
or to implement the physical grouping of figures, i.e. to put them together with a specific alignment.
This element contains a figure title and a figure body.
This element type is used as a container for all components of a figure except for its title. As a rule it contains a graphic and some text which annotates this.
This element contains a mixture of running text and inline and displayed components, except notes integrated in the text and footnotes to the text.
This element type is used to identify the title of a figure.
This element contains a mixture of running text and inline components, except notes integrated in the text and footnotes to the text.
This element type is used to identify footnotes to figures which serve to annotate a graphic. Such footnotes are different from footnotes to the text since they may contain informative or normative information whereas footnotes to the text may contain only informative information.
This element contains a mixture of running text and inline and displayed components, except notes integrated in the text and footnotes to the text.
Footnote references (i.e. markers or identifiers) shall appear on the graphic and preceding the text of the footnote to the figure. These references may be part of the graphic or may be attached to the graphic as an annotation. In the former case we need to guarantee that we can use the same identifier (e.g. a superscript lower case letter) on the graphic and in the text.
It was decided to keep tables as simple as possible, and to implement the CALS tables defined in MIL-M-28001B (26 June 1993), which is available on several FTP sites. The content model for cells allows figures within tables:
This element contains a table title (optional), table header (optional), table body and table footer (optional). This content model is a simplified CALS model for tables.
This element type is used to identify the title of a table.
The element contains a mixture of running text and inline components, except notes integrated in the text and footnotes to the text.
This element type is used to identify footnotes inside a table. Such footnotes (called footnotes to tables in the ISO/IEC Directives, Part 2) are useful to attach provisions to the content of a table cell. Footnotes to tables may contain requirements, unlike footnotes to the text which may not contain requirements or any information considered indispensable for the use of the document.
This element contains a mixture of running text, and inline and displayed components, except notes integrated in the text and footnotes to the text.
These element types are used to identify mathematical formulae.
It was decided to use SGML markup for formulae, and to adopt the DTD fragment for mathematics from ISO 12083:1994 as a replacement for the mathematics fragment described in ISO/IEC TR 9573-11:1992.
This element type is used to identify tolerances. At present, there is no DTD to mark up all types of tolerances presented in the ISO/IEC Directives, Part 2. The examples shown in 5.10.2.3 constitute a proposal which allows the reuse of these tolerances in other applications.
Various examples are provided in Table 3.
| <TOL>markup</TOL> | Result |
|---|---|
| 6,3 mm <symdev>12,5 %</symdev> | 6,3 mm ± 12,5 % |
| 6,3 × (1 <symdev>12,5 %</symdev>) mm | 6,3 × (1 ± 12,5 %) mm |
| (30 <symdev>1,5</symdev>) mm | (30 ± 1,5) mm |
| 3 mm <uppdev>+0,2 mm</uppdev><lowdev>-15 %</lowdev> | 3 mm+0,2 mm -15 % |
Chemistry shall be processed as formulae.
EXAMPLE 1
EXAMPLE 2
EXAMPLE 3
EXAMPLE 4
The designation of internationally standardized items is specified in the ISO/IEC Directives, Part 2, 2001, Annex F. A designation (element type <DESIGN>) comprises a description block, an International Standard number block and an optional individual item block which may be further subdivided into individual Data blocks. To represent the fact that the number of the International Standard shall be put in the International Standard number block and that the number of the relevant part of the standard, if applicable, shall be indicated in the individual item block, the use of a presentational model is necessary. The proposed content model includes the element type <EXTDOC> to allow reference to the standard but the visual result is the same.
Individual data blocks can be "linked" to their descriptions, if any.
For examples of the presentation, see the ISO/IEC Directives, Part 2, 2001, F.7.
The markup of the designation example given in the ISO/IEC Directives, Part 2, 2001, F.7.1, is as follows:
... main scale 58 %deg;C to 82 °C :
In this designation the elements have the following meaning:
There is a need for a text block displayed component to describe some exotic cases, e.g. long quotations.
It is proposed to add an element similar to artwork to preserve the graphical presentations of formulae.
In the ITSIG exchange DTD for standards the bibliographical and other information about the document, as well as the record of the document development, must be attached to the document instance. These metadata constitute a catalogue-like description of the document. Within the standards development business, such information is used in many different ways such as
As a rule, this information resides in one particular PMDB but is needed for other PMDBs and applications. The ISONET manual describes more that one hundred fields which may be used for exchange. It provides two representations: a conventional representation and an SGML/XML representation. The latter can be used in the ITSIG exchange DTD to encode metadata. Historically, the metadata for each document is known as its "profile".
Clause 6 describes the implementation of the profile as agreed by the SGML group in December 1997. The profile was designed to use the ISONET manual for the exchange of metadata, to recognize that regional and national SDOs each have procedures to endorse International Standards as regional/national standards, and to be easily reused in the member bodies' SGML-based production systems.
It is not possible to use the same profile in all the various applications. For example, the ISO reference number may be presented as "ISO 1234-1:1994", while for SGML publishing it needs to be encoded as "ISO 1234-1 : 1994". Another example is the special procedure "fast-track": this is just a flag in the ISO/CS PMDB, but within the publishing system this procedure needs to be represented by particular boilerplate texts which are inserted in the document.
Therefore, we differentiate between a profile extracted from databases (database-oriented), which is encoded in conformity with the ISONET manual, and a profile to be used by publishing systems (document-oriented) which must be appropriate for publishing needs. Also, it is necessary to provide for easy extensibility of the profile within the implementation.
It is important to emphasize that only the database-oriented profile should be used for interchange of data between the different organizations involved. The document-oriented profile is an internal choice for each organization, although of course it may be identical with the database-oriented profile in simple cases.
In the database-oriented profile four groups are used (see A.1 for the DTD):
00 are data elements for the file label;
10 are data elements for projects;
20 are data elements for products (documents in our case);
40 are data elements for committee information.
EXAMPLE 1
ISO 1:STZXISO/TCSCThere are several changes to the second edition of the ISONET manual:
As a rule, the database-oriented profile contains a lot of information for the document itself and just a few elements for the external documents referred to. An example for an external document is shown in Example 2.
EXAMPLE 2
ISO STThe document-oriented profile contains the metadata about the document itself (called the "main document") and it contains metadata about the external documents which are referred to (called the "referred document"). The database-oriented profile for a particular document has to be embedded in the document-oriented profile. So, the document-oriented profile structure is as follows:
At present, the document-oriented profile used at the ISO/CS is very simple - only three elements are required: <FIELD> to keep a single piece of information, <ISOREF> to keep references like "ISO 1234:1999, Title", and <XP> to reuse the content of previous elements. A unique ID is assigned for each element.
An example of a document-oriented profile for an external document is as follows.
EXAMPLE 1
Note that all elements have a unique identifier for internal reference. The additional element type <XP> is designed to "copy" something from the profile by reference. For example, to reuse the publication year the markup is "... <XP TYPE=BODY REFID='R0.6.1'> ... ".
The element type <ISOREF> is used to define the different styles of reference to an ISO standard. The reference may be truncated as only the reference number or only the title, or may be a combination of both. All different styles are possible with the element type <ISOREF> which has four attributes ("VARA", "VARB", "VARC" and "VARD") for the different styles:
Note that the element <XP> is used to "copy" the title of the standard. Actually, this element can refer not only to the content of an element in the profile, but to attributes of an element as well. Any combination of these two options is also possible. So a reference such as "... <XP TYPE=ISOREF REFID="R0.E"> ... " produces " ... ISO 10013:1995, Guidelines for developing quality manuals ...". Of course, what we are describing here is a feature of the publishing system at the ISO/CS; in another publishing system, implicit generation of all variations may be necessary.
ISO standards contain many boilerplate texts in many variations. The different texts are differentiated logically according to their language (e.g. English or French), the TC type (JTC1 or ISO TCs), etc. To provide for conditional generation of a document in the SGML-based publishing system we use a so-called marked section. The transformation procedure from the database-oriented to the document-oriented profile also generates several parameter entities which are used for conditional processing of the document. An example of a boilerplate text fragment for the foreword clause is as follows:
The separation of the profile into a database-oriented and a document-oriented profile provides the advantages that
The base DTD contains several groups of parameter entities to allow some derivations of the base DTD. Some entities are intended for internal organization of the base DTD. The derived DTD is usually defined as some derivations of the parameter entities, the base DTD and additional element types.
The parameter entity std.name is the general identifier (i.e. name) of the top element type in the base DTD.
The parameter entity std.model is the content model for the top element type in the base DTD.
The parameter entity body.model is the content model for the element type <BODY>.
The parameter entity std.profile is the complete definition of the element type <PROFILE>.
The parameter entity std.links is the complete definition of the element type <LINKS>.
The parameter entity std.entity is the definition of all character entities used in the base DTD. Two sets of character entities are predefined; each of them contains several hundreds of character entities. The first set is based on ISO 8879:1986 and it has the public id "-///ISO/CS//DTD std::entity:8879//EN". The second set is based on this part of ISO/IEC TR 9573 and has the public id "-//ISO/CS//DTD std::entity:9573//EN".
The base DTD uses several groups of element types (displayed, inline, include and float). Each group has a base part, which is the default definition, and a local part, which is a local addition. The combination of these two parts is used in the derived DTD.
The parameter entity base.list contains the element types for general list components.
The parameter entity base.note contains the element types for note components.
The parameter entity base.xmp contains the element types for example components.
The parameter entities base.display, local.display and display are, respectively, base, local and combined definitions of the group of element types for displayed components.
The parameter entities base.inline, local.inline and inline are, respectively, base, local and combined definitions of the group of element types for inline components.
The parameter entities base.float, local.float and float are, respectively, base, local and combined definitions of the group of element types for float components.
The parameter entities base.include, local.include and include are, respectively, base, local and combined definitions of the group of element types for include components.
The parameter entity m.ph is the content model of "phrase". It is used for inline components.
The parameter entity m.par is the content model of "paragraph". It is used for displayed components.
The parameter entity m.pseq is the content model of "sequence of paragraphs". It is used for containers.
The parameter entity m.entry is the content model of "table cell". It is used in the table subDTD.
The parameter entity std.page may be use to add attributes to the element types <BODY>, <ANNEXN>, <ANNEXI> and <ANNEXBL>. Usually, an attribute for the page layout is added.
The parameter entity std.xref may be used to add an attribute to the element type <XREF>. Usually, an attribute for the cross-reference format is added.
The parameter entities base.df and base.f are used to specify the names of displayed and inline element types for the formulae component.
The parameter entity std.math is the definition of the formulae component.
The default definition of the formulae component contains two text-only element types <DFORMULA> and <FORMULA>.
The mathematics subDTD from ISO 12083:1994 has the public id "-//ISO/CS//DTD m12083//EN". To use this subDTD, the derived DTD should define the entity std.math; for example
The parameter entities fig.model, fig.include and fig.exclude are used to specify the content model, inclusions and exclusions, respectively, of the element type <FIGURE> for the figure component.
The parameter entity fig.title is the name of the element for the figure title.
The default definition of the figure component is the following:
The parameter entities tab.model, tab.include and tab.exclude are used to specify the content model, inclusion and exclusions, respectively, of the element type <TABLE> for the table component.
The parameter entity tab.title is the name of the element for the table title.
The default definition of the table component is based on the CALS subDTD for tables. This subDTD has the public identifier "-/ /USA-DOD//DTD MIL-M-28001B/table//EN".
To simplify the maintenance of the various very close DTDs, most of them are implemented as a derivation of one base DTD. The derivation of DTDs can be carried out using the base part and the local part of the base DTD.
The authoring DTD for SGML native tools is a simplified version of the base DTD. The following simplification is proposed: fewer tags, no formulae, no exotic element types.
Another authoring DTD is designed for use with word processors which can save a document in SGML format (e.g. SGML Author for Word by Microsoft). Such a DTD is simplified in two ways: firstly, the number of element types is reduced to simplify the authoring, and secondly the structure is flattened, i.e. an element type for displayed component shall not contain another element type for displayed component. Thus a paragraph shall not contain a note. This simplification reflects the current functionalities of word processors. Another simplification is the avoidance of nesting. Instead of a general element type for nested list (ordered or unordered), four element types are introduced: list level 1, list level 2, etc.
The current complexity of HTML is sufficient to use it for the presentation of many standards.
The public entities used in the set of ISO DTDs for standards are given in Table 4.
| Public ID | Comment |
|---|---|
| -//ISO/CS//DTD std::entity::8879//EN | All character entries in accordance with ISO 8879:1986 |
| -//ISO/CS//DTD std::entity::9573//EN | All characters entities in accordance with ISO/IEC TR 9573 |
| -//ISO/CS//DTD std::in::92//EN | ISO/CS publishing DTD, version 0.92 |
| -//ISO/CS//DTD std::base::92//EN | Base DTD, version 0.92 |
| -//ISO/CS//DTD std::exchange::92//EN | ITSIG exchange DTD, version 0.92 |
| -//ISO/CS//DTD std::in::93//EN | ISO/CS publishing DTD, version 0.93 |
| -//ISO/CS//DTD std::base::92//EN | Base DTD, version 0.93 |
| -//ISO/CS//DTD std::exchange::93//EN | ITSIG exchange DTD, version 0.93 |
| -//ISO/CS//DTD m12083//EN | Mathematics subDTD from ISO 12083:1995 |
| -//USA-DOD//DTD MIL-M-28001B/table//EN | Table subDTD from CALS |
| -//ISO/CS//DTD isonet::0.01//E | ISONET-based DTD for database-oriented profile |
The XML-DTD is derived from the SGML structure described in the preceding clauses.
The major modifications for XMLization are the following.
The XML-DTD is modularized for a more feasible DTD exchange. The modularization is based on the logical structure of the original SGML-DTD (see Figure 2).
ITSIG/stdex94.dtd (MATH, ARTWORK, Figure, Terminology)
+--- ITSIG/m12083.dtd (Formulae)
+--- ITSIG/tl93a.dtd (Terminology)
+--- ITSIG/isonet10.dtd (ISONET)
+--- ITSIG/se9573.dtd (Entities)
| +--- ent9573/isolat1.ent, ent9573/isolat2.ent, ent9573/isonum.ent,
| +--- ent9573/isodia.ent, ent9573/isopub.ent, ent9573/isobox.ent,
| +--- ent9573/isotech.ent, ent9573/isogrk1.ent, ent9573/isogrk2.ent,
| +--- ent9573/isogrk3.ent, ent9573/isogrk4.ent, ent9573/isocyr1.ent,
| +--- ent9573/isocyr2.ent, ent9573/isoamsa.ent, ent9573/isoamsb.ent,
| +--- ent9573/isoamsc.ent, ent9573/isoamsn.ent, ent9573/isoamso.ent,
| +--- ent9573/isoamsr.ent, ent9573/isomfrk.ent, ent9573/isomopf.ent,
| +--- ent9573/isomscr.ent, ent9573/isocs.ent
+--- ITSIG/calstab.dtd (Table)
+--- ITSIG/stdb94.dtd (NOTATION, parameter entities,
structure, displayed elements,
terminology list, figure, table, formula)
|
All the XML-DTD module files are provided in Annex B, where all the element names are described in lower case. A file with the extension ".dtd" is a driver or a DTD module translated from the corresponding SGML-DTD file and a file with the extension ".mod" is a new DTD file developed for the modularized XML-DTD representation.
The list of files [and their purpose] is given below:
The referencing relationship of the modules is illustrated in Figure 3.
stdex.dtd [DTD Driver] +--- stdex-model.mod [Model Module] +--- stdex-ent.mod [Entity Module] +--- stdex-profile.mod [Profile Module] | +--- isonet10.dtd [Isonet Module] | | +--- se9573.dtd [Entity] | +--- stdex-docprof.mod [Document-oriented Profile Module] +--- stdex-base.mod [Base Element Module] | +--- stdex-notation.mod [Notation] | +--- stdex-tpage.mod [Title Page] | +--- stdex-lpage.mod [Last Cover Page] | +--- stdex-toc.mod [Table of Contents] | +--- stdex-index.mod [Index] | +--- stdex-foreword.mod [Foreword] | +--- stdex-intro.mod [Introduction] | +--- stdex-body.mod [Body] | +--- stdex-annex.mod [Annex] | +--- stdex-nest.mod [Nested Subdivisions] | +--- stdex-disp.mod [Displayed Components] | +--- stdex-tl.mod [Terminology List] | +--- stdex-inline.mod [Inline Components] | | +--- stdex-artwork.mod [Artwork] | +--- stdex-ref.mod [Referential Components] | +--- stdex-float.mod [Float Components] | | +--- stdex-figure.dtd [Figure] | | +--- stdex-table.dtd [Table Module] | | +--- calstab.dtd [CALS Table] | +--- stdex-specific.mod [Specific Components] | | +--- stdex-math.mod [Maths] | | +--- stdex-math-extension.mod [Maths Extension Module] | | +--- stdex-tol.mod [Tolerances] | | +--- stdex-chem.mod [Chemistry] | +--- se9573.dtd [Entity] +--- stdex-listing.mod [Listing Module] |
NOTE The values of gtext attributes are generated by a particular processor. The attribute generation and rendering can be done, for example, by an XSL processor.
For a non-ISONET base description, the following document profile has been prepared.
The document profile information element (<DOCPROF>) is composed mainly of the information that appears on the front cover page (or title page) and back cover page (or last cover page) of the published document. Other, optional, information elements contain information that typically is present in a project monitoring database, e.g. the dates of various stages in the development of the document.
NOTE This information is normally only present for documents interchanged between standards bodies. Some of the information applicable to the sender body may be used by the receiver body for their own bibliographic information.
The document profile information element has an attribute "APPLY" which is used to specify the standards body to which the information contained within the element is applicable:
This attribute is required.
The document profile information element may be repeated. In this case the value of the APPLY attribute has to be different for each occurrence.
The DOCPROF element is composed of the following elements:
NOTE This information is typically used only for the production of the documents on some physical medium; it is not used for any intellectual information.
NOTE The following optional elements are not used for ISO documents: version, abstract, related standards and other information.
The title information consists of one or more occurrences of title entity (titleent) elements, which are composed of
NOTE 1 Dashes in the titles are keyboarded using the — entity. In the case of a multipart standard the dash between the general title and the title of the part is not keyboarded since it is not part of the title. This dash is added by the system in the appropriate places.
NOTE 2 Titles in languages not using the Latin alphabet are keyboarded using entity references. For interchange it is recommended that Latin letters with diacritics are represented using entity references.
The edition is identified by the <edition> tag. The markup is
The version of the document, if any, is identified by the <version> tag. It is used to indicate the version of the draft standard. The markup is
The language of the document is identified by the <language> tag. The content of the element is in accordance with ISO 639. The markup is
NOTE The language indicator in the reference number of the standard (E, F or R) is derived from the content of this element.
The document number consists of
The markup is
The source of the document is identified by the <sourceod> tag. The content of the element is either ISO or ISOIEC. The element is optional and an "ISO" source is implied for a <docprof apply=ISO> element. The markup is
Notes, if any, applicable to the document are identified by the <notes> tag. The content is one or more tokens:
The markup is
Endorsement information, if any, is identified by the <endorsmt> tag. The content of this element is one or more occurrences of <endorsent>, which is composed of
The markup is
Information pertaining to the development cycle of the document is contained in the <developc> element. This element consists of one or more occurrences of
The markup is
A document may replace one or more other documents, either fully or in part. Similarly a document may be replaced by one or more other documents. Such replacement information is identified by the replaces and replaced elements, respectively. These elements are repeatable.
These elements consist of
An abstract (optional) is identified by the <abstract> tag. The content is a sequence of paragraphs.
NOTE The content of this element is not used for published paper copies of International Standards. The information is used for bibliographic products.
The markup is
Another paragraph in the abstract.
Classification numbers (optional) are identified by the <classifn> tag. An attribute "type" is used to identify the classification scheme.
NOTE Currently only ICS numbers are used for International Standards.
The markup is
Each keyword for the document is identified by the <keyword> tag. This element may occur zero or more times.
NOTE Keywords (descriptors) are assigned by the ISO Central Secretariat.
The markup is
Standards related to the document are each identified by the <relstd> tag. This element is optional.
NOTE This element is not used for International Standards.
The markup is
Production parameters, if any, are specified in the <prodinfo> element. This element consists of pairs of the elements
Production information is used to specify, if applicable,
NOTE This attribute is only used for standards in French; its value is the number of pages of the English version. ISO pricing policy is that the price of a standard is based on the number of technical pages in the English language version of the standard; for this version the number of pages is calculated automatically.
The markup is
This element is optional. No other information is used by ISO.
See the attached file db_orient.
See the attached file doc_orient.
See the attached file xml_dtd.
See the attached file relax_ng.
The file "relax_ng" includes schema modules in accordance with RELAX NG (ISO/IEC 19757-2) which were generated from the XML-DTD without datatypes. The schema modules [and their purpose] is given below.
The referencing relationship of the modules is illustrated in Figure C.1.
stdex.rng [root] +--- stdex-model.mod [Model Module] +--- stdex-ent.mod [Entity Module] +--- stdex-profile.mod [Profile Module] | +--- isonet10.rng [Isonet Module] | +--- stdex-docprof.mod [Document-oriented Profile Module] +--- stdex-base.mod [Base Element Module] | +--- stdex-tpage.mod [Title Page] | +--- stdex-lpage.mod [Last Cover Page] | +--- stdex-toc.mod [Table of Contents] | +--- stdex-index.mod [Index] | +--- stdex-foreword.mod [Foreword] | +--- stdex-intro.mod [Introduction] | +--- stdex-body.mod [Body] | +--- stdex-annex.mod [Annex] | +--- stdex-nest.mod [Nested Subdivisions] | +--- stdex-disp.mod [Displayed Components] | +--- stdex-tl.mod [Terminology List] | +--- stdex-inline.mod [Inline Components] | | +--- stdex-artwork.mod [Artwork] | +--- stdex-ref.mod [Referential Components] | +--- stdex-float.mod [Float Components] | | +--- stdex-figure.dtd [Figure] | | +--- stdex-table.dtd [Table Module] | | +--- calstab.rng [CALS Table] | +--- stdex-specific.mod [Specific Components] | | +--- stdex-math.mod [Maths] | | +--- stdex-math-extension.mod [Maths Extension Module] | | +--- stdex-tol.mod [Tolerances] +--- stdex-listing.mod [Listing Module] |
See the attached file xslt_spec.
The file "xslt_spec" includes an XSLT specification for translation to HTML from an XML instance conforming to this part of ISO/IEC TR 9573. Loading the XML instance to an XSLT processor and relating it to this XSLT specification makes it possible to render the XML instance on an HTML browser. It will be appropriate for a preview of XML instances.
See the attached file xsl_spec.
The file "xsl_spec" includes an XSL specification for rendering an XML instance conforming to this part of ISO/IEC TR 9573. The rendering is similar to the presentation of the ISO/IEC Directives, Part 2.
See the attached file dsssl_spec.
The file "dsssl_spec" includes a DSSSL (ISO/IEC 10179) specification for rendering an XML or SGML instance conforming to this part of ISO/IEC TR 9573. The rendering is similar to the presentation of the ISO/IEC Directives, Part 2.
When the DSSSL or XSL style specification is applied to an SGML or XML instance with the DTD defined in this part of ISO/IEC TR 9573, a formatter can produce a formatted text, for example in PDF format.
The result of processing the XML instance of ISO 7919-2:2001 given in xml_example, using the XSL style specification given in Annex E, and then rendering the XML instance with the DSSSL (or XSL) specification using the processor "DSSSLprint" (or "oXygen") produces the PDF text given in the file pdf_example.
NOTE 1 DSSSLprint, by NEXT SOLUTION CO., Ltd., is a DSSSL engine and runs on basic UNIX server environments. It supports PS and PDF native output. http://www.nextsolution.co.jp/English
NOTE 2 oXygen, by SyncRo Soft Ltd., is an XML editor which supports XML, XML Schema, RELAX NG, DTD, XSL and XSLT. http://www.oxygenxml.com/
Applying the XSLT specification to the oXygen, the XML instance can be transformed into an HTML text (html_example) for preview using an HTML browser.
Some other examples of tools available for these types of processing are listed below; each entry includes details concerning
1) the name of the tool, 2) the major supporting features, 3) the environment, and 4) the url.
1) PSGML 2) SGML/XML mode for EMACS 3) any environments for EMACS 4) ftp://ftp.lysator.liu.se/pub/sgml/psgml-1.2.1.tar.gz 1) XMLWRITE 2) XML editing and formatting 3) any environments for Java 4) http://www.roxes.com/en/products/xmlwrite.html 1) XMarkER 2) text editing for XML 3) any environments for Java 4) http://www3.tky.3web.ne.jp/~progre/java/XMarkER/ 1) Xeena 2) visual XML editing 3) any environments for Java 4) http://www.alphaworks.ibm.com/t