ISO/IEC TR 9573-11
Second edition
2004-xx-xx




Information processing — SGML support facilities — Part 11: Structure descriptions and style specifications for standards document interchange







Contents

Foreword
Introduction
1 Scope
2 Normative references
3 Approach to the harmonized set of ISO DTDs
3.1 Document flow (standards only)
3.2 Required DTDs
3.3 Guidelines for harmonization of DTDs
3.4 General guidelines
3.5 Technical approach
3.6 Examples
4 Architecture of standards
4.1 General considerations
4.2 Normative or informative
4.3 Nesting of components
5 Element types description for base DTD
5.1 General convention for element types
5.2 General convention for attributes
5.3 Top-level structure of a standard
5.4 Nested subdivisions of text
5.5 Displayed components
5.6 Terminology
5.7 Inline components
5.8 Referential components
5.9 Float components
5.10 Specific components
5.11 Possible extensions of the DTD
6 Profile
6.1 Introduction
6.2 Architecture
6.3 Boilerplate text support
6.4 Conclusions
7 Master entity dictionary
7.1 General
7.2 Overall structure
7.3 Base and local groups
7.4 Content models
7.5 Attributes modification
7.6 Modification of formulae component
7.7 Modification of figure component
7.8 Modification of table component
8 Derivation of DTDs from the base DTD
9 Authoring DTDs
9.1 Authoring DTD for native SGML tools
9.2 Authoring DTD for word processors
9.3 Use of HTML for standards development
10 Public entities
11 XML DTD
11.1 General
11.2 XMLization
11.3 Modularization
11.4 Non-ISONET base description
Annex A SGML DTDs (informative)
Annex B XML DTD modules (informative)
Annex C Schema module by RELAX NG (ISO/IEC 19757-2) (informative)
Annex D XSLT specification for translation to HTML (informative)
Annex E XSL specification for rendering an XML instance (informative)
Annex F DSSSL (ISO/IEC 10179) specification for rendering an XML/SGML instance (informative)
Annex G Rendering examples and processing tools (informative)
Bibliography



Foreword

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.



Introduction

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".



Information processing — SGML support facilities — Part 11: Structure descriptions and style specifications for standards document interchange


1 Scope

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.


2 Normative references

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


3 Approach to the harmonized set of ISO DTDs

3.1 Document flow (standards only)

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.

3.2 Required DTDs

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.

3.3 Guidelines for harmonization of DTDs

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) :

  1. guarantee reusability of electronic documents (e.g. retrieval possibilities);
  2. support production of standards;
  3. be implementable on modern systems (at least in two independent systems);
  4. conform with editorial rules;
  5. be suitable for interactive work;
  6. respect typographic rules;
  7. retain the element type names given in ISO/IEC TR 9573-11:1992.

3.4 General guidelines

The general guidelines agreed to were the following.

  1. There should be a set of harmonized DTDs. For example, in-house DTDs for publishing and a common DTD for exchange, i.e. the standards developing organizations (SDOs) can use their own modifications of the base DTD. Also, specialized versions of DTDs can be provided for authoring systems.
  2. The DTD should be simplified with respect to that provided in ISO/IEC TR 9573-11:1992. In practice, it was found that half of the old ISO DTD provided in ISO/IEC TR 9573-11:1992 was not used.
  3. SGML cannot check everything, e.g. it cannot check that a title is not empty. Such problems can be covered by "verification procedures" which can be implemented as an external post-processing or as a client in a publishing / authoring system.
  4. There should be equivalent transformations of DTD fragments. It should be possible to change the names of element types and attributes for the in-house DTDs. Also it should be possible to replace in some cases a simple element type by an attribute and vice versa.
  5. We need to allow for management of external references. A documents instance needs to be frozen after publication so it is not altered by the constantly changing environment. For this reason, all external components such as drawings, boilerplate texts and database extractions should be handled by using public identifiers.
  6. Differences between the base DTD and individual variants should be minimized. The number of inclusions should be reduced to a minimum (if not entirely eliminated).
  7. Tag minimization should not be allowed.

3.5 Technical approach

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:

<!-- base DTD its PUBLIC ID is "-//ISO/CS//DTD dtd::base//EN" --> <!entity % abcname "abc" > <!element %abcname; - - (#PCDATA) >

The following DTD uses the previous one, but redefines the name of the element type:

<!-- derived DTD --> <!entity % abcname "cba" > <!entity % basedtd PUBLIC "-//ISO/CS//DTD dtd::base//EN" > %basedtd; <!-- insert base DTD -->

This technique is limited, but is sufficient in most cases.

3.6 Examples

The replacement (via the parameter entity std.table) of the table model is shown in the following example:

<!-- in-house DTD --> <!entity % std.table PUBLIC "-//house//DTD table//EN" > <!entity % basedtd PUBLIC "-//ISO/CS//DTD dtd::base//EN" > %basedtd;


4 Architecture of standards

4.1 General considerations

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.

Table 1 — Components of standards
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 + +
a  Permissible only in running text, and not in tables and figures.

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.

4.2 Normative or informative

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.

4.3 Nesting of components

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.

Table 2 — Nesting of components
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
a  Informative component.


5 Element types description for base DTD

5.1 General convention for element types

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:

<!ATTLIST chapter -- in-house name of the ISO element type "h1" -- ISODTD NAME #FIXED "h1">

5.2 General convention for attributes

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.

"1.3.2&emsp;"

5.3 Top-level structure of a standard

5.3.1 General considerations

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.

5.3.2 International Standard (<STANDARD>)

5.3.2.1 Description

This is the root element in a standard.

5.3.2.2 Attribute

The attribute "LANGUAGE" specifies the language of the standard.

5.3.2.3 Usage guidelines

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.

5.3.3 Document profile (<PROFILE>)

This element type is described in Clause 6.

5.3.4 Title (or front cover) page (<TPAGE>)

5.3.4.1 Description

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.

5.3.4.2 Content model

The content model is simple text.

5.3.4.3 Usage guidelines

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.

5.3.5 Table of contents (<TOC>)

5.3.5.1 Description

This element type is used as a placeholder for the table of contents generated by the publishing system.

5.3.5.2 Content model

The content model is simple text.

5.3.5.3 Attribute

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.

5.3.5.4 Usage guidelines

This is an optional element, i.e. a standard may contain a table of contents.

5.3.6 Foreword (<FOREWORD>)

5.3.6.1 Description

This element type is used to identify the foreword clause of the standard.

5.3.6.2 Content model

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.

5.3.6.3 Usage guidelines

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.

5.3.7 Introduction (<INTRO>)

5.3.7.1 Description

This element type is used to identify introduction clause of the standard.

5.3.7.2 Content model

The content model is rather simple. It may contain numbered subdivisions of text.

5.3.7.3 Usage guidelines

This is an optional element.

5.3.8 Body of a standard (<BODY>)

5.3.8.1 Description

This element type is used to identify the body of the standard.

5.3.8.2 Content model

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.

5.3.8.3 Attributes

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".

5.3.8.4 Usage guidelines

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.

5.3.9 Normative annex (<ANNEXN>)

5.3.9.1 Description

This element type is used to identify a normative annex.

5.3.9.2 Content model

An annex contains either a mixture of basic components or at least two top-level subdivisions of text.

5.3.9.3 Attributes

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".

5.3.9.4 Usage guidelines

This is an optional and repeatable element, i.e. a standard may contain one or more normative annexes.

5.3.10 Informative annex (<ANNEXI>)

5.3.10.1 Description

This element type is used to identify an informative annex.

5.3.10.2 Content model

An annex contains either a mixture of basic components or at least two top-level subdivisions of text.

5.3.10.3 Attributes

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".

5.3.10.4 Usage guidelines

This is an optional and repeatable element, i.e. a standard may contain one or more informative annexes.

5.3.11 Bibliography (<ANNEXBL>)

5.3.11.1 Description

This element type is used to identify the bibliography.

5.3.11.2 Content model

Some text and the list of bibliographical references are permitted.

5.3.11.3 Attributes

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".

5.3.11.4 Usage guidelines

This is an optional element. It is positioned after the last annex.

5.3.12 Index (<INDEX>)

5.3.12.1 Description

This element type is used as a placeholder for the index generated by the publishing system.

5.3.12.2 Content model

The content model is simple text.

5.3.12.3 Usage guidelines

This is an optional element, i.e. a standard may contain an index.

5.3.13 Last cover page (<LPAGE>)

5.3.13.1 Description

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.

5.3.13.2 Content model

The content model is simple text.

5.3.13.3 Usage guidelines

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.

5.4 Nested subdivisions of text

5.4.1 Architecture

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.

5.4.2 Numbered subdivisions of text with a title (<H1>, <H2>, <H3>, <H4>, <H5>, <H6>)

5.4.2.1 Description

These element types are used to identify the clauses and subclauses with titles of the standard.

5.4.2.2 Content model

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:

  1. an empty subdivision is not permitted;
  2. a subclause shall not be created unless there is at least one further subclause at the same level;
  3. hanging text (i.e. text that occurs between two containers) is not permitted.

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.

<h1><ht>....</ht> <!-- pos 1 --> <h2><ht>....</ht>...</h2> <!-- pos 2 --> <h2><ht>....</ht>...</h2> <!-- pos 3 --> </h1>

The terminology list (see 5.6.1) is a special case since it may contain a single subdivision.

5.4.2.3 Example

The following is an example of a fourth-level subclause, with generated text "5.4.2.4" and a title "Examples":

<h4 id="x12" gtext="5.4.2.4&emsp;"><ht>Examples</ht> ...

5.4.3 Heading title (<HT>)

5.4.3.1 Description

This element type is used to identify the title of a subdivision of text with a title.

5.4.3.2 Content model

Only running text and simple (no exotic) inline components are permitted inside the title.

5.4.3.3 Usage guidelines

This is a required element.

5.4.4 Title comment (<CT>)

5.4.4.1 Description

This element type is used to identify a comment to the title of a subdivision of text having a title.

5.4.4.2 Content model

Only running text and simple (no exotic) inline components are permitted inside the title comment.

5.4.4.3 Usage guidelines

This is an optional element.

5.4.5 Numbered subdivisions of text without a title (<P1>, <P2>, <P3>, <P4>, <P5>, <P6>)

5.4.5.1 Description

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).

5.4.5.2 Content model

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.

5.4.5.3 Usage guidelines

Do not treat the numbered subdivisions of text without titles like "numbered paragraphs": the numbered subdivisions are nested, while the paragraphs are sequential.

5.4.6 Special clause "Scope" (<SCOPE>)

5.4.6.1 Description

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).

5.4.6.2 Usage guidelines

This element type is mandatory and is the first clause in the body.

5.4.7 Special clause "Conformance" (<CONF>)

5.4.7.1 Description

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).

5.4.7.2 Usage guidelines

This element type is optional. Where present, it shall be the clause immediately following the "Scope" clause.

5.4.8 Special clause "Normative references" (<REFS>)

5.4.8.1 Description

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.

5.4.8.2 Content model

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).

5.4.8.3 Usage guidelines

This element type is optional. Where present, it shall be the clause immediately following the "Conformance" clause.

5.4.9 Special clause "Terms and definitions" (<DEFS>)

5.4.9.1 Description

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.

5.4.9.2 Content model

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).

5.4.9.3 Usage guidelines

This element type is optional. Where present, it shall be the clause immediately following the "Normative references".

5.5 Displayed components

5.5.1 Paragraph (<P>)

5.5.1.1 Description

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.

5.5.1.2 Content model

This element type can contain running text (with inline components), float components, and all displayed components except paragraph itself.

5.5.2 Notes integrated in the text (<NOTE>)

5.5.2.1 Description

This element type is used to identify notes integrated in the text.

5.5.2.2 Content model

This element may contain running text and other displayed components. A note integrated in the text shall not contain a footnote to the text.

5.5.2.3 Attributes

The attribute "NUMBER" controls the numbering of a note integrated in the text. The attribute "STATUS" has the fixed value "INFORMATIVE".

5.5.2.4 Usage guidelines

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.

5.5.3 Examples integrated in the text (<XMP>)

5.5.3.1 Description

This element type is used to identify examples integrated in the text.

5.5.3.2 Content model

This element may contain running text and other displayed components.

5.5.3.3 Attributes

The attribute "NUMBER" controls the numbering of an example.

5.5.4 Manually formatted text (<MANFMT>)

5.5.4.1 Description

This element type is used to identify a displayed component with "manually formatted text" such as a computer source, listing, etc.

5.5.4.2 Usage guidelines

It is recommended to use entities to insert spaces and line breaks inside a text to achieve the desired formatting.

5.5.5 Warning, caution and remark (<WARNING>)

5.5.5.1 Description

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".

5.5.5.2 Content model

This element may contain running text and other displayed components.

5.5.5.3 Attributes

The attribute "FORMAT" can take the values "genwarn", "warning", "caution" and "remark".

5.5.5.4 Usage guidelines

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).

5.5.6 Ordered and unordered lists (<OL> and <UL>)

5.5.6.1 Description

These element types are used to identify typical lists.

5.5.6.2 Content model

A list consists of a mixture of list items and list paragraphs.

5.5.6.3 Attributes

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.

5.5.6.4 Usage guidelines

Lists may be nested up to four levels.

5.5.6.5 Examples

The following markup

<OL> <LI>the x-orientation ...; <LI>the x-nominal surface stress; <LP>but not on: <LI>the y-orientation ...; <LI>the y-nominal surface stress; </OL>

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;

5.5.7 List item (<LI>)

5.5.7.1 Description

This element type is used to identify the individual items within ordered and unordered lists.

5.5.7.2 Content model

This element may contain running text and other displayed components.

5.5.8 List paragraph (<LP>)

5.5.8.1 Description

This element type is used to identify a paragraph within a list which interrupts the series of list items.

5.5.8.2 Content model

This element may contain running text and other displayed components.

5.5.9 Description list (<DL>)

5.5.9.1 Description

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.

5.5.9.2 Content model

This element contains only description list entries.

5.5.9.3 Attributes

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.

5.5.9.4 Usage guidelines

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").

5.5.9.5 Examples

The markup

<DL format=auto> <DLENTRY> <DT>TeX</DT> <DD> 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. </DD> </DLENTRY> <DLENTRY> <DT>DCF</DT> <DD> The batch typesetting system from IBM. The batch typesetting system from IBM. The batch typesetting system from IBM. The batch typesetting system from IBM. </DD> </DLENTRY> </DL>

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

<DL format=ol> <DLENTRY><DT>h)</DT><DD>The orientation ...;</DD></DLENTRY> <DLENTRY><DT>i)</DT><DD>The nominal surface stress;</DD></DLENTRY> </DL>

results in

h) The orientation ...;
i) The nominal stress;

The markup

<DL format=ol> <DLENTRY><DT>a)</DT><DD>reference to this part ...</DD></DLENTRY> <DLENTRY><DT>b) to m)</DT><DD>see ISO 6721-1:1994, Clause 12;</DD></DLENTRY> <DLENTRY><DT>n)</DT><DD>if a fixed ...</DD></DLENTRY>

results in

a) reference to this part ...
b) to m) see ISO 6721-1:1994, Clause 12;
n) if a fixed ...

5.5.10 Description list entry (<DLENTRY>)

5.5.10.1 Description

This element type is used to identify an entry in a description list. It is just a container.

5.5.10.2 Content model

This element contains a pair of elements: a term (or item) and its corresponding definition.

5.5.10.3 Usage guidelines

This element may appear only in the description list.

5.5.11 Description list term (<DT>)

5.5.11.1 Description

This element type is used to identify a term (or item) inside a description list entry.

5.5.11.2 Content model

This element contains simple text.

5.5.12 Description list definition (<DD>)

5.5.12.1 Description

This element type is used to identify a definition corresponding to a term (or item) in a description list entry.

5.5.12.2 Content model

This element contains running text or other displayed components.

5.5.13 Bibliography list (<BL>)

5.5.13.1 Description

This element type is used to identify the bibliography list.

5.5.13.2 Content model

This element contains only bibliographical entries.

5.5.13.3 Usage guidelines

This element may appear only in the bibliography.

5.5.14 Bibliography list entry (<BLENTRY>)

5.5.14.1 Description

This element type is used to identify an entry in the bibliographical list. It is just a container.

5.5.14.2 Content model

This element contains only references to external documents.

5.5.14.3 Usage guidelines

This element may appear only in the bibliography list.

5.5.15 Reference list (<RL>)

5.5.15.1 Description

This element type is used to identify the list of normative references.

5.5.15.2 Content model

This element may contain one or more reference list entries.

5.5.15.3 Usage guidelines

This element is permitted only in the normative references clause (see 5.4.8).

5.5.16 Reference list entry (<RLENTRY>)

5.5.16.1 Description

This element type is used to identify an entry in the reference list. It is just a container.

5.5.16.2 Content model

This element contains only references to external documents.

5.5.16.3 Usage guidelines

This element may appear only in the reference list.

5.5.16.4 Example

The following shows an example of a reference list.

<REFS><HT>Normative references</HT> <P>Boilerplate text.</P> <RL> <RLENTRY> <EXTDOC REFID="r1"><XP REFID="r1.e" GTEXT="ISO 8402:1994" FORMAT="isoref"></EXTDOC> </RLENTRY> <RLENTRY> <BIBLOC>ISO/IEC Directives, Part&nbsp;2, 2001</BIBLOC> </RLENTRY> </RL> </REFS>

5.6 Terminology

5.6.1 Terminology list (<TL>)

5.6.1.1 Description

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>).

5.6.1.2 Content model

This element contains several concepts (element type <C1>) or several concept groups (element type <CC1>).

5.6.1.3 Usage guidelines

This element may appear inside the element <DEFS> (the special clause for terms and definitions), in a clause or in an annex.

5.6.1.4 Presentation

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.

5.6.1.5 Examples

The following shows a terminology list without a subdivision.

<DEFS><HT>Terms and definitions</HT> <P>Boilerplate text.</P> <TL> <C1> <TERMDEF>first term</TERMDEF> <TERMDES>definition of first term</TERMDES> </C1> <C1> <TERMDEF>second term</TERMDEF> <TERMDES>definition of second term</TERMDES> </C1> </TL> </DEFS>

5.6.2 Terminology concepts (<C1>, <C2>, <C3>, <C4> and <C5>)

5.6.2.1 Description

This element type is used to identify a concept at various levels (1 to 5) of the hierarchy.

5.6.2.2 Content model

This element type contains one or more terms, the corresponding definition (optional) and optionally subordinate single concepts or concept groups.

5.6.3 Terminology concept groups (<CC1>, <CC2>, <CC3> and <CC4>)

5.6.3.1 Description

This element type is used to identify a group of concepts under the same title at various levels (1 to 4) of the hierarchy.

5.6.3.2 Content model

This element type contains a group title, text (optional) and subordinate concepts. CC1 to CC3 may also contain subordinate concept groups.

5.6.4 Term defined (<TERMDEF>)

5.6.4.1 Description

This element type is used to identify a term defined within the terminology list entry.

5.6.4.2 Content model

This element contains a mixture of running text and simple inline components.

5.6.4.3 Usage guidelines

This element may appear only in the concept.

5.6.5 Term definition (<TERMDES>)

5.6.5.1 Description

This element type is used to identify the definition of a term within the concept.

5.6.5.2 Content model

This element contains a mixture of running text, and inline and displayed components.

5.6.5.3 Usage guidelines

This element may appear only in the concept.

5.7 Inline components

5.7.1 Highlighted phrase (<HP>)

5.7.1.1 Description

This element type is used to identify phrases which are highlighted by means of different typographical presentations.

5.7.1.2 Content model

This element may contain running text and all inline components.

5.7.1.3 Attributes

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".

5.7.2 Term (<TERM>)

5.7.2.1 Description

This element type is used to identify a term.

5.7.2.2 Content model

This element contains running text.

5.7.2.3 Attributes

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.

5.7.2.4 Usage guidelines

This element may appear in running text.

5.7.3 Internal cross-references (<XREF>)

5.7.3.1 Description

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.

5.7.3.2 Content model

This element is empty because it is considered that internal cross-references will be generated by the authoring or publishing system.

5.7.3.3 Attributes

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.

5.7.3.4 Usage guidelines

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.

5.7.3.5 Examples

EXAMPLE 1   An internal reference to a table:

... see Table <xref refid=tbl1 gtext="A.1"> ...

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:

... see Tables <xref refid=tables1 gtext="A.2-A.5"> ... ... <links> <nameloc id=tables1> <nmlist nametype=element>tbl2 tbl3 tbl4 tbl5</nmlist> </nameloc> </links>

5.7.4 Graphics (<ARTWORK>)

5.7.4.1 Description

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.

5.7.4.2 Content model

This element is empty.

5.7.4.3 Attributes

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.

5.7.4.4 Usage guidelines

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.

<!NOTATION cgmchar PUBLIC "+//ISO 8632-2:1987//NOTATION Character encoding//EN"> <!NOTATION cgmclear PUBLIC "+//ISO 8632-4:1987//NOTATION Cleartext encoding//EN"> <!NOTATION iges PUBLIC "-//NBS IR 88-3813//NOTATION IGES//EN"> <!NOTATION spdl PUBLIC "+//ISO/IEC 10180:1994//NOTATION SPDL//EN"> <!NOTATION eps PUBLIC "+//ISBN 0-201-18127-4//NOTATION EPS//EN"> <!NOTATION epsi PUBLIC "+//ISBN 0-201-18127-4//NOTATION EPSI//EN"> <!NOTATION ccitt4 PUBLIC "-//CCITT Group 4//NOTATION CCITT4//EN"> <!NOTATION tiff PUBLIC "-//Aldus/Microsoft//NOTATION TIFF//EN"> <!NOTATION png PUBLIC "+//ISO/IEC FDIS 15948:2001//NOTATION PNG//EN"> <!NOTATION jpeg PUBLIC "+//ISO/IEC 10918:1993//NOTATION JPEG//EN"> <!NOTATION jbig PUBLIC "+//ISO/IEC 11544:1993//NOTATION JBIG//EN"> <!NOTATION tiffit PUBLIC "+//ISO 12639:1998//NOTATION TIFFIT//EN">

5.7.4.5 Examples

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:

<!entity fig1 PUBLIC "-//ISO/CS//NONSGML d01327af//FR" NDATA EPS> ... <artwork name=fig1 place=below>

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:

<artwork name=fig2 place=inline>

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:

<artwork name=fig2 place=below>

5.7.5 Footnote to the text (<FN>)

5.7.5.1 Description

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.

5.7.5.2 Content model

Footnotes may contain a mixture of running text and other displayed elements except notes and footnotes.

5.7.5.3 Attributes

The attribute "STATUS" has the fixed value "INFORMATIVE".

5.7.5.4 Usage guidelines

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.

5.8 Referential components

5.8.1 General considerations

If a computer-interpretable reference is available for an external document, then the element <EXTDOC> is used. Otherwise, the element <BIBDOC> should be used.

5.8.2 Bibliographical reference to an external document (<BIBDOC>)

5.8.2.1 Description

This element type is used to specify a bibliographical reference to an external document. Such a reference comprises text with a document title, etc.

5.8.2.2 Content model

This element comprises running text with highlighted phrases.

5.8.2.3 Usage guidelines

This element may be used in the reference list and bibliographical entries, as well as in running text.

5.8.3 Reference to an external document (<EXTDOC>)

5.8.3.1 Description

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.

5.8.3.2 Content model

This element comprises running text with highlighted phrases.

5.8.3.3 Usage guidelines

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").

5.8.3.4 Example

The element <EXTDOC> always refers to an element <NAMELOC> which must contain an external entity. The markup

<!ENTITY std8879 PUBLIC "+//ISO 8879:1986//DOCUMENT //EN" CDATA SGML> ... ... <extdoc ref=x8879>ISO&nbsp;8879:1986, Information processing - Text and office systems - Standard Generalized Markup Language (SGML)</extdoc> <links> <nameloc id=x8879> <nmlist nametype=entity>std8879</nmlist> </nameloc> </links>

results in "... ISO 8879:1986, Information processing - Text and office systems - Standard Generalized Markup Language (SGML) ..."

5.9 Float components

5.9.1 Index entry (<IX>)

5.9.1.1 Description

This element type is used to identify an index entry which is attached to some place in the text.

5.9.1.2 Content model

This element contains running text.

5.9.1.3 Usage guidelines

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.

5.9.2 Figure (<FIGURE>)

5.9.2.1 Description

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.

5.9.2.2 Content model

This element contains a figure title and a figure body.

5.9.3 Figure body (<FIGBODY>)

5.9.3.1 Description

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.

5.9.3.2 Content model

This element contains a mixture of running text and inline and displayed components, except notes integrated in the text and footnotes to the text.

5.9.4 Figure title (<FIGTITLE>)

5.9.4.1 Description

This element type is used to identify the title of a figure.

5.9.4.2 Content model

This element contains a mixture of running text and inline components, except notes integrated in the text and footnotes to the text.

5.9.5 Footnotes to figures (<FIGNOTE>)

5.9.5.1 Description

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.

5.9.5.2 Content model

This element contains a mixture of running text and inline and displayed components, except notes integrated in the text and footnotes to the text.

5.9.5.3 Usage guidelines

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.

5.9.6 Table (<TABLE>)

5.9.6.1 Description

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:

<!ENTITY% m.entry "#PCDATA|%inline;|p|%list;|%df;|fig|tabnote">

5.9.6.2 Content model

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.

5.9.7 Table title (<TABTITLE>)

5.9.7.1 Description

This element type is used to identify the title of a table.

5.9.7.2 Content model

The element contains a mixture of running text and inline components, except notes integrated in the text and footnotes to the text.

5.9.8 Footnotes to tables (<TABNOTE>)

5.9.8.1 Description

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.

5.9.8.2 Content model

This element contains a mixture of running text, and inline and displayed components, except notes integrated in the text and footnotes to the text.

5.10 Specific components

5.10.1 Mathematical formulae (<FORMULA> and <DFORMULA>)

5.10.1.1 Description

These element types are used to identify mathematical formulae.

5.10.1.2 Content model

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.

5.10.2 Tolerance (<TOL>)

5.10.2.1 Description

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.

5.10.2.2 Examples

Various examples are provided in Table 3.

Table 3 — Examples for the markup of tolerances
<TOL>markup</TOL> Result
6,3 mm <symdev>12,5 %</symdev> 6,3 mm ± 12,5 %
6,3 &times; (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 %

5.10.3 Chemistry (<CHEM>)

5.10.3.1 Description

Chemistry shall be processed as formulae.

5.10.3.2 Examples

EXAMPLE 1

<roman>H</roman><sub>2</sub><roman>O</roman>

EXAMPLE 2

<fence type=none><fence type=none> <roman>H</><sub>2</><sup>+</></fence> <sup pos=pre>14</><sub pos=pre>7</></fence><sup>*</>

EXAMPLE 3

<pile><above1><roman>H</><sub>2</><roman>O</><above>(solid)</pile>

EXAMPLE 4

<roman>Q</>&lrarr;<roman>S</>&rarr;<roman>T</>&larr;

5.10.4 Designations (<DESIGN>)

5.10.4.1 Description

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.

5.10.4.2 Usage guidelines

Individual data blocks can be "linked" to their descriptions, if any.

5.10.4.3 Presentation

For examples of the presentation, see the ISO/IEC Directives, Part 2, 2001, F.7.

5.10.4.4 Example

The markup of the designation example given in the ISO/IEC Directives, Part 2, 2001, F.7.1, is as follows:

<P>... main scale 58 %deg;C to 82 &deg;C : <UL FORMAT=SL> <LI><DESIGN><DESCR>Thermometer </DESCR> <EXTDOC REF=x656>ISO 656</EXTDOC> <SEP><DATABL>EC</DATABL> <SEP><DATABL>0,2</DATABL> <SEP><DATABL>58-82</DATABL> </DESIGN></LI> </UL> <P></P> <P>In this designation the elements have the following meaning: <DL FORMAT=UL> <DT>EC</DT><DD>short enclosed-scale thermometer;</DD> <DT>0,2</DT><DD>graduation interval = 0,2 &deg;C;</DD> <DT>58-82</DT><DD>the range of the main scale is from 58 &deg;C to 82 &deg;C</ DD> </DL> <P></P> <NOTE>In this designation the letters "EC" could be omitted because <EXTDOC REF=x656>ISO 656</EXTDOC> refers only to short enclosed-scale thermometers.</NOTE>

5.11 Possible extensions of the DTD

5.11.1 Text block (<TEXTBLK>)

There is a need for a text block displayed component to describe some exotic cases, e.g. long quotations.

5.11.2 Modification of element types for formulae component

It is proposed to add an element similar to artwork to preserve the graphical presentations of formulae.


6 Profile

6.1 Introduction

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.

6.2 Architecture

6.2.1 General considerations

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&nbsp;1234-1&thinsp;:&thinsp;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.

6.2.2 Database-oriented profile

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

<ISONET> <E00> <E00.003><DATE>1999-01-13</DATE></E00.003> <E00.006><ORG.ID>A000xx</ORG.ID></E00.006> </E00> <E10> <E10.001><REC.ID>A000xx:10:016543</REC.ID></E10.001> <E10.202><ORG.ID>ISO</ORG.ID></E10.202> <E10.204><COMM.ID>ISO/TC 176/SC 3</COMM.ID></E10.204> <E10.300><HSTAGE>6060</HSTAGE></E10.300> <E10.310><DATE>1998-01-01</DATE></E10.310> </E10> <E20> <E20.001><REC.ID>A000xx:20:016543</REC.ID></E20.001> <E20.104> <REFNUM><CODE>ISO</CODE> <INT>9000</INT>-<CODE>1</CODE>:<INT>1994</INT></REFNUM> </E20.104> <E20.200> <TITLE LANG=EN> <COMP>xxx</COMP> -- <COMP>xxx</COMP> -- Part 1: <COMP>xxx</COMP> </TITLE> <TITLE LANG=FR> <COMP>yyy</COMP> -- <COMP>yyy</COMP> -- Partie 1: <COMP>yyy</COMP> </TITLE> </E20.200> <E20.208><LANG>EN</LANG></E20.208> <E20.212><INT>0</INT></E20.212> <E20.216><CODE>ST</CODE></E20.216> <E20.220><INT>1</INT></E20.220> <E20.228><CODE>ZX</CODE></E20.228> <E20.310><DATE>1998-01-01</DATE></E20.310> <E20.502><ICS>10.110.10</ICS></E20.502> <E20.504><TEXT LANG=en>paints</TEXT><TEXT LANG=en>varnishes</TEXT></E20.504> <E20.700><ORG.ID>ISO</ORG.ID></E20.700> </E20> <E40> <E40.104><COMM.ID>ISO/TC 176</COMM.ID></E40.104> <E40.130><TEXT lang=en>Quality management and quality assurance</TEXT></E40.130> <E40.140><CODE>ISO/TC</CODE></E40.140> <E40.145><INT>176</INT></E40.145> <E40.150><COMM.ID>TMB</COMM.ID></E40.150> <E40.104><COMM.ID>ISO/TC 176/SC 3</COMM.ID></E40.104> <E40.130><TEXT lang=en>Supporting technologies</TEXT></E40.130> <E40.140><CODE>SC</CODE></E40.140> <E40.145><INT>3</INT></E40.145> <E40.150><COMM.ID>ISO/TC 176</COMM.ID></E40.150> </E40> </ISONET>

There are several changes to the second edition of the ISONET manual:

  1. the element TITLE (used in E20.200) is structured in such a way that it is a mixture of text and title components; on the one hand, the generation of titles becomes simple - one has only to remove all tagging - and on the other hand there is access to all individual components;
  2. the element REFNUM (used in E20.104) is structured also as a mixture for the same reasons as above;
  3. the element E40.145 was added to specify the number of the committee.

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

<ISONET> <E00> <E00.003><DATE>1999-01-13</DATE></E00.003> <E00.006><ORG.ID>A000xx</ORG.ID></E00.006> </E00> <E10> <E10.001><REC.ID>A000xx:10:016547</REC.ID></E10.001> <E10.300><HSTAGE>6060</HSTAGE></E10.300> </E10> <E20> <E20.001><REC.ID>A000xx:20:016547</REC.ID></E20.001> <E20.104> <REFNUM><CODE>ISO</CODE> <INT>9002</INT>:<INT>1994</INT></REFNUM> </E20.104> <E20.200> <TITLE LANG=EN> <COMP>Quality systems</COMP> -- <COMP>Model for quality assurance in production, installation and servicing</COMP> </TITLE> <TITLE LANG=FR> <COMP>Syst&egrave;mes qualit&eacute;</COMP> -- <COMP>Mod&egrave;le pour l&apos;assurance de la qualit&eacute; en production, installation et prestations associ&eacute;es</COMP> </TITLE> </E20.200> <E20.208><LANG>EN</LANG><LANG>FR</LANG></E20.208> <E20.216><CODE>ST</CODE></E20.216> <E20.220><INT>1</INT></E20.220> </E20>

6.2.3 Document-oriented profile (<DOCPROF>)

The 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:

<PROFILE> <MAINDOC ID="r0"> <ISONET> ... -- database-profile for the main document </ISONET> <DOCPROF> ... -- document-oriented profile for the main document </DOCPROF> </MAINDOC> <REFDOC ID="r1"> <ISONET> ... database-profile for the referred document </ISONET> <DOCPROF> ... -- document-oriented profile for the referred document </DOCPROF> </REFDOC> ... more referred documents, if any </PROFILE>

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

<DOCPROF REFID="cs016537" ID="R4" refref="ISO 9002:1994"> <FIELD ROLE="DOCTYPE" ID="R4.1">IS</FIELD> <FIELD ROLE="ORIGIN" ID="R4.2">ISO</FIELD> <FIELD ROLE="PREFIX" ID="R4.3">ISO</FIELD> <FIELD ROLE="NUMBER" ID="R4.4">9002</FIELD> <FIELD ROLE="PART" ID="R4.8">2</FIELD> <FIELD ROLE="PDATE" ID="R4.6">1994-06-30</FIELD> <FIELD ROLE="TITLE" ID="R4..M.E" LANG="E">Quality systems</FIELD> <FIELD ROLE="TITLE" ID="R4..C.E" LANG="E">Model for quality assurance in production, installation and servicing</FIELD> <FIELD ROLE="TITLE" ID="R4..M.F" LANG="F">Syst&egrave;mes qualit&eacute;</FIELD> <FIELD ROLE="TITLE" ID="R4..C.F" LANG="F">Mod&egrave;le pour l&apos;assurance de la qualit&eacute; en production, installation et prestations associ&eacute;es</FIELD> <ISOREF VARC="ISO&nbsp;9002&thinsp;:&thinsp;1994" ID="R4.E"> <XP REFID="R4..M.E">&nbsp;&mdash; <XP REFID="R4..C.E"> </ISOREF> <ISOREF VARC="ISO&nbsp;9002&thinsp;:&thinsp;1994" ID="R4.F"> <XP REFID="R4..M.F">&nbsp;&mdash; <XP REFID="R4..C.F"> </ISOREF> </DOCPROF>

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:

<ISOREF ROLE="ISO 10013:1995" VARA="ISO&nbsp;10013" VARB="ISO&nbsp;31-1" VARC="ISO&nbsp;10013&thinsp;:&thinsp;1995" VARD="ISO&nbsp;10013&thinsp;:&thinsp;1995(E)" LANG="EN" ID="R0.E"><XP TYPE="BODY" REFID="R0..M.E"></ISOREF>

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.

6.3 Boilerplate text support

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:

Committee<![%TC2;[s]]> ISO/TC &R0.21;, <hp format=italic>&R0.22.E;</hp><![%SC;[, Subcommittee SC &R0.23;, <hp format=italic>&R0.24.E;</hp>]]><![%TC2;[ and ISO/TC &R0.25;, <hp format=italic>&R0.26.E;</hp>]]><![%SC2;[, Subcommittee SC &R0.27;, <hp format=italic>&R0.28.E;</hp>]]><![%COLLAB;[ in collaboration with &R0.32.E;]]>.</P>

6.4 Conclusions

The separation of the profile into a database-oriented and a document-oriented profile provides the advantages that

  1. the database-oriented profile is based on an agreed format, i.e. the ISONET manual, and
  2. the implementation of the document-oriented profile is the internal choice of the organization responsible for the document.


7 Master entity dictionary

7.1 General

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.

7.2 Overall structure

7.2.1 Parameter entity std.name

The parameter entity std.name is the general identifier (i.e. name) of the top element type in the base DTD.

7.2.2 Parameter entity std.model

The parameter entity std.model is the content model for the top element type in the base DTD.

7.2.3 Parameter entity body.model

The parameter entity body.model is the content model for the element type <BODY>.

7.2.4 Parameter entity std.profile

The parameter entity std.profile is the complete definition of the element type <PROFILE>.

7.2.5 Parameter entity std.links

The parameter entity std.links is the complete definition of the element type <LINKS>.

7.2.6 Parameter entity std.entity

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".

7.3 Base and local groups

7.3.1 General approach for local modifications

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.

7.3.2 Parameter entity base.list

The parameter entity base.list contains the element types for general list components.

7.3.3 Parameter entity base.note

The parameter entity base.note contains the element types for note components.

7.3.4 Parameter entity base.xmp

The parameter entity base.xmp contains the element types for example components.

7.3.5 Parameter entities base.display, local.display and display

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.

7.3.6 Parameter entities base.inline, local.inline and inline

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.

7.3.7 Parameter entities base.float, local.float and float

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.

7.3.8 Parameter entities base.include, local.include and include

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.

7.4 Content models

7.4.1 Parameter entity m.ph

The parameter entity m.ph is the content model of "phrase". It is used for inline components.

7.4.2 Parameter entity m.par

The parameter entity m.par is the content model of "paragraph". It is used for displayed components.

7.4.3 Parameter entity m.pseq

The parameter entity m.pseq is the content model of "sequence of paragraphs". It is used for containers.

7.4.4 Parameter entity m.entry

The parameter entity m.entry is the content model of "table cell". It is used in the table subDTD.

7.5 Attributes modification

7.5.1 Parameter entity std.page

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.

7.5.2 Parameter entity std.xref

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.

7.6 Modification of formulae component

7.6.1 Parameter entities base.df and base.f

The parameter entities base.df and base.f are used to specify the names of displayed and inline element types for the formulae component.

7.6.2 Parameter entity std.math

The parameter entity std.math is the definition of the formulae component.

7.6.3 Default definition of formulae component

The default definition of the formulae component contains two text-only element types <DFORMULA> and <FORMULA>.

7.6.4 Use of ISO 12083:1994 for the formulae component

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

<!-- derived DTD --> <!entity % std.math PUBLIC "-//ISO/CS//DTD m12083//EN" > <!entity % basedtd PUBLIC "-//ISO/CS//DTD dtd::base::0.93//EN" > %basedtd; <!-- insert base DTD -->

7.7 Modification of figure component

7.7.1 Parameter entities fig.model, fig.include and fig.exclude

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.

7.7.2 Parameter entity fig.title

The parameter entity fig.title is the name of the element for the figure title.

7.7.3 Default definition of figure component

The default definition of the figure component is the following:

<!entity % fig.body "figbody" > <!entity % fig.title "figtitle" > <!entity % fig.model "%fig.title;? & %fig.body;" > <!entity % fig.exclude "-(%float;)" > <!entity % fig.include "" > <!element figure - - (%fig.model;) %fig.exclude; %fig.include; > <!element %fig.body; - - (%m.par;|p|fignote)+ > <!element %fig.title; - - (%m.ph;)* > <!attlist %fig.title; id %ID; #IMPLIED gtext CDATA #IMPLIED >

7.8 Modification of table component

7.8.1 Parameter entities tab.model, tab.include and tab.exclude

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.

7.8.2 Parameter entity tab.title

The parameter entity tab.title is the name of the element for the table title.

7.8.3 Default definition of table component

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".


8 Derivation of DTDs from the base DTD

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.


9 Authoring DTDs

9.1 Authoring DTD for native SGML tools

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.

9.2 Authoring DTD for word processors

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.

9.3 Use of HTML for standards development

The current complexity of HTML is sufficient to use it for the presentation of many standards.


10 Public entities

The public entities used in the set of ISO DTDs for standards are given in Table 4.

Table 4 — Public entities used in the set of ISO DTDs
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


11 XML DTD

11.1 General

The XML-DTD is derived from the SGML structure described in the preceding clauses.

11.2 XMLization

The major modifications for XMLization are the following.

  1. Comments within the declaration are extracted to be separate comment statements.
  2. Characters are adjusted according to the XML rule of case sensitivity.
  3. All tags are described without omission.
  4. Each element is defined separately.
  5. All the attribute values are quoted.
  6. The attribute types NAME, NUMBER and NUTOKEN are changed into NMTOKEN.
  7. The location of #PCDATA is changed to become the first element of the content model.
  8. Content models are modified without & separators.
  9. Characters defined by SDATA are changed into simple strings.
  10. Elements declarations are changed to exclude exceptions.
  11. URIs are attributed to public identifiers.

11.3 Modularization

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).

Figure 2 — Referencing relationship between the files of the SGML-DTD
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.

Figure 3 — Referencing relationship of the module files consisting of the XML-DTD
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.

11.4 Non-ISONET base description

For a non-ISONET base description, the following document profile has been prepared.

<!-- ITSIG exchange Document Profile Module --> <!-- file: stdex-docprof.mod --> <!-- ITSIG exchange Document Profile Module (c) International Organization for Standardization 1991 Permission to copy in any form is granted for use with comforming WebSGML systems and applications as defined in ISO 8879:1986(WWW), provided this notice is included in all copies. --> <!-- document profile --> <!ELEMENT docprof (titles, edition, version?, language, refnums, sourceod?, notes?, endorsmt?, developc, replaces*, replaced*, abstract?, classifn*, keyword*, relstd*, prodinfo?, otherprm*, othertxt*) > <!ATTLIST docprof apply CDATA #REQUIRED > <!-- titles (in different languages) of the standard --> <!ELEMENT titles (titleent+) > <!ATTLIST titleent langcode CDATA #REQUIRED > <!ELEMENT titleent (mtitle, ptitle?) > <!-- title of the standard --> <!ELEMENT mtitle (tline+) > <!-- title line --> <!ELEMENT tline (%m.ph;)* > <!-- type used for e.g. introductory title, main title, complementary title --> <!ATTLIST tline type CDATA #IMPLIED > <!-- title of the part --> <!ELEMENT ptitle (ptline+) > <!-- title line --> <!ELEMENT ptline (%m.ph;)* > <!ATTLIST ptline type CDATA #IMPLIED > <!ELEMENT edition (#PCDATA) > <!ELEMENT version (#PCDATA) > <!ELEMENT language (#PCDATA) > <!-- reference numbers --> <!ELEMENT refnums (wdnumber?, number, part?, type?) > <!-- document number for working draft --> <!ELEMENT wdnumber (com, sernum) > <!ELEMENT com (#PCDATA) > <!ELEMENT sernum (#PCDATA) > <!-- number of the document --> <!ELEMENT number (#PCDATA) > <!-- number of the part --> <!ELEMENT part (#PCDATA) > <!-- type of document (types of Technical Report for JTC 1) --> <!ELEMENT type (#PCDATA) > <!-- source of document (ISO|ISOIEC) --> <!ELEMENT sourceod (#PCDATA) > <!-- notes for document --> <!ELEMENT notes (#PCDATA) > <!ELEMENT endorsmt (endorsent+) > <!ELEMENT endorsent (endorsdn, endorsnt?) > <!-- document number of endorsed standard --> <!ELEMENT endorsdn (#PCDATA) > <!-- endorsement note --> <!ELEMENT endorsnt (%m.pseq;) > <!-- stages in the development cycle --> <!ELEMENT developc (developent)+ > <!ELEMENT developent (status, scdate, votestrt?, voteend?, report?) > <!-- status of document --> <!ELEMENT status (#PCDATA) > <!-- date for the status change --> <!ELEMENT scdate (#PCDATA) > <!-- date for the start of vote --> <!ELEMENT votestrt (#PCDATA) > <!-- date for the end of vote --> <!ELEMENT voteend (#PCDATA) > <!-- report --> <!ELEMENT report (%m.pseq;) > <!-- reference to replacement document and comment --> <!ELEMENT replaces (extref, replcom) > <!ELEMENT replaced (extref, replcom) > <!ELEMENT replcom (%m.pseq;) > <!-- abstract --> <!ELEMENT abstract (%m.pseq;)* > <!-- classification of standard --> <!ELEMENT classifn (#PCDATA) > <!ATTLIST classifn type CDATA "ICS" > <!-- keyword --> <!ELEMENT keyword (#PCDATA) > <!-- related standard --> <!ELEMENT relstd (#PCDATA) > <!-- production specific information --> <!ELEMENT prodinfo (prodent*) > <!ELEMENT prodent (prodparm, prodval) > <!-- name of production parameter --> <!ELEMENT prodparm (#PCDATA) > <!-- value of production parameter --> <!ELEMENT prodval (#PCDATA) > <!-- other parameter information --> <!ELEMENT otherprm (#PCDATA) > <!ATTLIST otherprm type CDATA #REQUIRED > <!-- other textual information --> <!ELEMENT othertxt (%m.pseq;) > <!ATTLIST othertxt type CDATA #REQUIRED >


 


Annex A
(informative)
SGML DTDs


A.1  DTD for database-oriented profile

<!-- (C) International Organization for Standardization 1988, 1989, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998 Permission to copy in any form is granted for use with conforming SGML systems and applications as defined in ISO 8879, provided this notice is included in all copies. This is a DTD for ISONET manual. Version 0.01 -//ISO/CS//DTD isonet::0.01//EN --> <!-- simple data types --> <!-- integer value as in C --> <!ELEMENT int - - (#PCDATA) > <!ATTLIST int id CDATA #IMPLIED > <!-- real value as in C --> <!ELEMENT real - - (#PCDATA) > <!ATTLIST real id CDATA #IMPLIED > <!-- minimal literal as in SGML --> <!ELEMENT code - - (#PCDATA) > <!ATTLIST code id CDATA #IMPLIED > <!-- text (with entities) in SGML --> <!ELEMENT text - - (#PCDATA) > <!ATTLIST text id CDATA #IMPLIED lang CDATA "en" > <!-- Public identifier as in SGML --> <!ELEMENT pubid - - (#PCDATA) > <!ATTLIST pubid id CDATA #IMPLIED > <!-- date in accordance with ISO 8601 --> <!ELEMENT date - - (#PCDATA) > <!ATTLIST date id CDATA #IMPLIED > <!-- harmonized stage code --> <!ELEMENT hstage - - (#PCDATA) > <!ATTLIST hstage id CDATA #IMPLIED > <!-- ICS classification --> <!ELEMENT ics - - (#PCDATA) > <!ATTLIST ics id CDATA #IMPLIED > <!-- language code in accordance with ISO 639 --> <!ELEMENT lang - - (#PCDATA) > <!ATTLIST lang id CDATA #IMPLIED > <!-- unique record indentifier --> <!ELEMENT rec.id - - (#PCDATA) > <!ATTLIST rec.id id CDATA #IMPLIED > <!-- unique organization identifier --> <!ELEMENT org.id - - (#PCDATA) > <!ATTLIST org.id id CDATA #IMPLIED > <!-- unique committee identifier --> <!ELEMENT comm.id - - (#PCDATA) > <!ATTLIST comm.id id CDATA #IMPLIED > <!-- complex data types --> <!-- title which may contain from the several component separated by fillers --> <!ELEMENT title - - (#PCDATA|comp)+ > <!ATTLIST title id CDATA #IMPLIED lang CDATA "en" > <!ELEMENT comp - - (#PCDATA) > <!ATTLIST comp id CDATA #IMPLIED > <!-- reference number from the cover page may be presented as just a text or in structured way for ISO reference number --> <!ELEMENT refnum - - (#PCDATA|code|int)+ > <!ATTLIST refnum id CDATA #IMPLIED > <!-- fields, group 00 (file label) --> <!ENTITY % e00 "e00.003, e00.006" > <!ELEMENT e00.003 - - (date) > <!ATTLIST e00.003 id CDATA #IMPLIED > <!ELEMENT e00.006 - - (org.id) > <!ATTLIST e00.006 id CDATA #IMPLIED > <!-- fields, group 10 (projects) --> <!ENTITY % e10 "e10.001, e10.202, e10.204, (e10.300, e10.310)?, (e10.336, e10.338)?" > <!-- project information --> <!ELEMENT e10.001 - - (rec.id) > <!ATTLIST e10.001 id CDATA #IMPLIED > <!-- project owner --> <!ELEMENT e10.202 - - (org.id+) > <!ATTLIST e10.202 id CDATA #IMPLIED > <!-- project technical committee --> <!ELEMENT e10.204 - - (comm.id+) > <!ATTLIST e10.204 id CDATA #IMPLIED > <!-- project current stage code --> <!ELEMENT e10.300 - - (hstage) > <!ATTLIST e10.300 id CDATA #IMPLIED > <!-- date of current stage code --> <!ELEMENT e10.310 - - (date) > <!ATTLIST e10.310 id CDATA #IMPLIED > <!-- project next stage code --> <!ELEMENT e10.336 - - (hstage) > <!ATTLIST e10.336 id CDATA #IMPLIED > <!-- target date of next stage code --> <!ELEMENT e10.338 - - (date) > <!ATTLIST e10.338 id CDATA #IMPLIED > <!-- fields, group 20 (products) --> <!ENTITY % e20 "e20.001, e20.104, e20.200, e20.208?, e20.212?, e20.216, e20.220?, e20.228?, e20.310?, e20.502?, e20.504?, e20.700?" > <!-- document information --> <!ELEMENT e20.001 - - (rec.id) > <!ATTLIST e20.001 id CDATA #IMPLIED > <!-- document reference number --> <!ELEMENT e20.104 - - (refnum) > <!ATTLIST e20.104 id CDATA #IMPLIED > <!-- document title --> <!ELEMENT e20.200 - - (title+) > <!ATTLIST e20.200 id CDATA #IMPLIED > <!-- document languages --> <!ELEMENT e20.208 - - (lang+) > <!ATTLIST e20.208 id CDATA #IMPLIED > <!-- number of pages type --> <!ELEMENT e20.212 - - (int) > <!ATTLIST e20.212 id CDATA #IMPLIED > <!-- document type --> <!ELEMENT e20.216 - - (code) > <!ATTLIST e20.216 id CDATA #IMPLIED > <!-- document edition --> <!ELEMENT e20.220 - - (int) > <!ATTLIST e20.220 id CDATA #IMPLIED > <!-- document price group --> <!ELEMENT e20.228 - - (code) > <!ATTLIST e20.228 id CDATA #IMPLIED > <!-- date of publication --> <!ELEMENT e20.310 - - (date) > <!ATTLIST e20.310 id CDATA #IMPLIED > <!-- document ICS --> <!ELEMENT e20.502 - - (ics+) > <!ATTLIST e20.502 id CDATA #IMPLIED > <!-- document TIT descriptor --> <!ELEMENT e20.504 - - (text+) > <!ATTLIST e20.504 id CDATA #IMPLIED > <!-- issuing body --> <!ELEMENT e20.700 - - (org.id+) > <!ATTLIST e20.700 id CDATA #IMPLIED > <!-- fields, group 40 (committees) --> <!ENTITY % e40 "e40.104, e40.130, e40.140, e40.145, e40.150?" > <!-- committee identifier --> <!ELEMENT e40.104 - - (comm.id) > <!ATTLIST e40.104 id CDATA #IMPLIED > <!-- committee name --> <!ELEMENT e40.130 - - (text+) > <!ATTLIST e40.130 id CDATA #IMPLIED > <!-- committee type --> <!ELEMENT e40.140 - - (code) > <!ATTLIST e40.140 id CDATA #IMPLIED > <!-- committee number --> <!ELEMENT e40.145 - - (int) > <!ATTLIST e40.145 id CDATA #IMPLIED > <!-- reporting committee --> <!ELEMENT e40.150 - - (comm.id) > <!ATTLIST e40.150 id CDATA #IMPLIED > <!-- containers for the groups --> <!ELEMENT e00 - - (%e00;) > <!ATTLIST e00 id CDATA #IMPLIED > <!ELEMENT e10 - - (%e10;) > <!ATTLIST e10 id CDATA #IMPLIED > <!ELEMENT e20 - - (%e20;)+ > <!ATTLIST e20 id CDATA #IMPLIED > <!ELEMENT e40 - - ((%e40;)+) > <!ATTLIST e40 id CDATA #IMPLIED > <!-- whole ISONET manual --> <!ELEMENT isonet - - (e00?, e10?, e20?, e40?) > <!ATTLIST isonet id CDATA #IMPLIED >

A.2  Document-oriented profile information

A.2.1 General

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:

<docprof apply=iso>

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:

  1. titles
  2. edition
  3. version (optional)
  4. language
  5. document number
  6. document source (optional)
  7. notes (optional)
  8. endorsement information (optional)
  9. development cycle information
  10. information regarding other documents that the current document replaces or is replaced by (optional)
  11. abstract (optional)
  12. classification information (optional)
  13. keywords (optional)
  14. related standards (optional)
  15. production information (optional)
    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.
  16. other information (optional).

NOTE   The following optional elements are not used for ISO documents: version, abstract, related standards and other information.

A.2.2 Elements

A.2.2.1 Titles

The title information consists of one or more occurrences of title entity (titleent) elements, which are composed of

  1. main title (mtitle), and
  2. part title (ptitle)
elements. The language of the title is indicated by the language= attribute of the titleent element with values in accordance with ISO 639.

NOTE 1  Dashes in the titles are keyboarded using the &mdash; 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.

A.2.2.2 Edition

The edition is identified by the <edition> tag. The markup is

<edition>Second

A.2.2.3 Version

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

<version>2

A.2.2.4 Language

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

<language>en

NOTE   The language indicator in the reference number of the standard (E, F or R) is derived from the content of this element.

A.2.2.5 Document number

The document number consists of

  1. the number of the working draft (wdnumber) which comprises a prefix followed by a serial number (sernum) element,
  2. the number of the standard (number),
  3. the number of the part (part) (if the standard is published in parts)
  4. the type (type) with content 1, 2 or 3 (if the document is an ISO/IEC Technical Report)

The markup is

<wdnumber>ISO/IEC JTC1/SC18/WG8 <sernum>N7777 <number>9999 <part>1

A.2.2.6 Document source

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

<sourceod>ISOIEC

A.2.2.7 Notes

Notes, if any, applicable to the document are identified by the <notes> tag. The content is one or more tokens:

  1. FT (for Fast Track);
  2. NONCOMP (for documents which are not yet resident in the system: in this case the system is used to generate only the cover page and foreword);
  3. CR15.93 (for Council resolution 15/1993);
  4. CR21.86 (for Council resolution 21/1986);
  5. LATE.F (French text late arriving);
  6. LATE.E (English text late arriving);
  7. MULT.TC (note to consult experts in several technical fields).

The markup is

<notes>MULT.TC CR45.83

A.2.2.8 Endorsement information

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

  1. the reference number of the endorsed document (endorsdn), and
  2. an explanation of the endorsement (endorsnt) (optional).

The markup is

<endorsmt> <endorsent> <endorsdn>Ships Doc 1 <endorsnt>Explanation of the reasons for endorsement.

A.2.2.9 Development cycle information

Information pertaining to the development cycle of the document is contained in the <developc> element. This element consists of one or more occurrences of

  1. the status of the document (status), with content
    1. IS: International Standard
    2. ISP: International Standardized Profile
    3. TR: Technical Report
    4. DIS: Draft International Standard
    5. DISP: Draft International Standardized Profile
    6. DTR: Draft Technical Report
    7. AMDS: Amended Draft (Standard)
    8. AMDT: Amended Draft (Technical Report)
    9. AMDP: Amended Draft (International Standardized Profile)
    10. CD: Committee Draft
    11. PDTR: Proposed Draft Technical Report
    12. WD: Working Draft
  2. the date on which the document reached the status (scdate)
  3. the date of the start of the vote at the status (votestrt) (if applicable)
  4. the date of the end of the vote at the status (voteend) (if applicable)
  5. an explanatory report (report) (optional).
The last status entry indicates the current status of the document.

The markup is

<developc> <developent> <status>WD <scdate>1986-07-14 <developent> <status>DIS<scdate>1987-01-18 <votestrt>1987-02-15<voteend>1987-08-15 <developent> <status>DIS<scdate>1988-03-18 <votestrt>1988-05-15<voteend>1988-11-15 <developent> <status>IS <scdate>1989-10-01

A.2.2.10 Replacement information

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

  1. an external reference, and
  2. a comment regarding the replacement.

A.2.2.11 Abstract

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

<abstract>The text of the abstract. <p>Another paragraph in the abstract.

A.2.2.12 Classification information

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

<classifn type=ICS>35.240.30

A.2.2.13 Keywords

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

<keyword>publishing <keyword>quality

A.2.2.14 Related standards

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

<relstd>UOS 1234

A.2.2.15 Production information

Production parameters, if any, are specified in the <prodinfo> element. This element consists of pairs of the elements

  1. <prodrarm> whose content is the name of the production information parameter, and
  2. <prodval> whose content is the value of the parameter.

Production information is used to specify, if applicable,

  1. "toc" to indicate that the document has a table of contents (the level to which subclauses are entered is controlled by the content of the PRODVAL element; the first number indicates the level for the body and the second number the level for the annexes; for example, to include levels H0 to H3 in the body and H1 to H2 in the annexes, the specification is as shown below);
  2. "fastpage" to indicate the page, in camera-ready copy received by the ISO Central Secretariat, where the comment regarding fast tracking of the document occurs;
  3. "pprice" to indicate the number of pages on which the price of the standard is based;
    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.
  4. "crc" to indicate the typeface of camera-ready copy received by the ISO Central Secretariat.

The markup is

<prodinfo> <prodent> <prodparm>toc<prodval>3 2 <prodent> <prodparm>fastpage<prodval>2 <prodent> <prodparm>pprice<prodval>14 <prodent> <prodparm>crc<prodval>palatino

A.2.2.16 Other information

This element is optional. No other information is used by ISO.

A.3  Database-oriented DTD

See the attached file db_orient.

A.4  Document-oriented DTD

See the attached file doc_orient.


Annex B
(informative)
XML DTD modules


See the attached file xml_dtd.


Annex C
(informative)
Schema module by RELAX NG (ISO/IEC 19757-2)


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.

  1. stdex.rng [Root]
  2. stdex-model.mod [Model Module]
  3. stdex-ent.mod [Entity Module]
  4. stdex-profile.mod [Profile Module]
  5. isonet10.rng [Isonet Module]
  6. stdex-base.mod [Base Element Module]
  7. stdex-tpage.mod [Title Page]
  8. stdex-lpage.mod [Last Cover Page]
  9. stdex-toc.mod [Table of Contents]
  10. stdex-index.mod [Index]
  11. stdex-foreword.mod [Foreword]
  12. stdex-intro.mod [Introduction]
  13. stdex-body.mod [Body]
  14. stdex-annex.mod [Annex]
  15. stdex-nest.mod [Nested Subdivisions]
  16. stdex-disp.mod [Displayed Components]
  17. stdex-tl.mod [Terminology List Module]
  18. stdex-inline.mod [Inline Components]
  19. stdex-artwork.mod [Artwork Module]
  20. stdex-ref.mod [Referential Components]
  21. stdex-float.mod [Float Components]
  22. stdex-figure.mod [Figure Module]
  23. stdex-table.mod [Table Module]
  24. calstab.rng [CALS Table]
  25. stdex-specific.mod [Specific Components]
  26. stdex-math.mod [Maths Module]
  27. stdex-math-extension.mod [Maths Extension Module]
  28. stdex-tol.mod [Tolerances]
  29. stdex-listing.mod [Listing Module]
  30. stdex-docprof.mod [Document-oriented Profile Module]

The referencing relationship of the modules is illustrated in Figure C.1.

Figure C.1 — Referencing relationship of the schema module files
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]


Annex D
(informative)
XSLT specification for translation to HTML


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.


Annex E
(informative)
XSL specification for rendering an XML instance


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.


Annex F
(informative)
DSSSL (ISO/IEC 10179) specification for rendering an XML/SGML instance


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.


Annex G
(informative)
Rendering examples and processing tools


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.

a) XML editors

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