ISO 8879:1986
(Main)Information processing — Text and office systems — Standard Generalized Markup Language (SGML)
Information processing — Text and office systems — Standard Generalized Markup Language (SGML)
Traitement de l'information — Systèmes bureautiques — Langage normalisé de balisage généralisé (SGML)
General Information
- Status
- Published
- Publication Date
- 22-Oct-1986
- Technical Committee
- ISO/IEC JTC 1/SC 34 - Document description and processing languages
- Drafting Committee
- ISO/IEC JTC 1/SC 34 - Document description and processing languages
- Current Stage
- 9093 - International Standard confirmed
- Start Date
- 04-Sep-2020
- Completion Date
- 14-Feb-2026
Relations
- Effective Date
- 10-Feb-2026
- Effective Date
- 10-Feb-2026
- Effective Date
- 10-Feb-2026
- Effective Date
- 10-Feb-2026
- Effective Date
- 06-Jun-2022
- Effective Date
- 06-Jun-2022
- Effective Date
- 15-Apr-2008
- Effective Date
- 15-Apr-2008
Overview
ISO 8879:1986 - Standard Generalized Markup Language (SGML) - is the International Standard for defining and encoding the logical structure of text and office documents. Published by ISO for information processing and text/office systems, the standard specifies the concepts, syntaxes and declarations needed to create, validate and interchange structured documents. ISO 8879 defines how document type definitions (DTDs), elements, entities, attributes and markup declarations work together to represent descriptive (logical) markup independently of presentation.
Key Topics and Technical Requirements
ISO 8879 covers a comprehensive set of technical topics and requirements for structured document processing, including:
- Document structure and element declarations - document element, element types, content models, connectors and occurrence indicators.
- Document Type Definitions (DTDs) - how to declare element models, attribute lists and notations to describe valid document instances.
- Entities and references - general and parameter entities, external entities, named and short references, and entity resolution.
- Start-tags/end-tags and minimization - rules for tag omission, start/end-tag behavior and data-tag minimization.
- Attribute specification and values - attribute definition lists, defaulting, fixed values and syntactic constraints.
- Markup declarations - entity, notation, comment and marked-section declarations; link processing and link set definitions.
- Concrete and reference syntaxes - character sets, delimiters, naming rules, and concrete syntax variants for interchange.
- Conformance and validation - definitions of conforming SGML documents, applications and systems, plus requirements for validating SGML parsers and error reporting.
- Capacity and feature sets - capacity limits, feature-use declarations and application-specific information.
- Annex material - introductory guidance on generalized markup, basic concepts and examples to support implementation.
These topics form the normative requirements for creating machine-processable, interoperable structured documents.
Applications and Who Uses It
ISO 8879 / SGML is used where long-term structured document interchange, preservation and automated processing are required:
- Publishing houses and technical publishers for complex books, manuals and journals.
- Aerospace, defense and manufacturing for structured technical documentation and standards.
- Libraries and archives for digital preservation and metadata-rich documents.
- Software developers and systems integrators building SGML parsers, validators, conversion and content management tools.
- Technical writers and information architects who design DTDs and document models.
SGML remains important historically as the precursor to XML; knowledge of ISO 8879 helps with legacy content migration and robust document-structure design.
Related Standards
- XML (W3C) - a simplified descendant of SGML used for modern structured data and document interchange.
- Industry-specific DTDs and application profiles that implement ISO 8879 concepts for particular domains.
Keywords: ISO 8879, SGML, Standard Generalized Markup Language, DTD, structured documents, validating parser, document interchange.
Buy Documents
ISO 8879:1986 - Information processing -- Text and office systems -- Standard Generalized Markup Language (SGML)
ISO 8879:1986 - Traitement de l'information -- Systemes bureautiques -- Langage normalisé de balisage généralisé (SGML)
ISO 8879:1986 - Traitement de l'information -- Systemes bureautiques -- Langage normalisé de balisage généralisé (SGML)
Get Certified
Connect with accredited certification bodies for this standard

BSI Group
BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

NYCE
Mexican standards and certification body.
Sponsored listings
Frequently Asked Questions
ISO 8879:1986 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information processing — Text and office systems — Standard Generalized Markup Language (SGML)". This standard covers: Information processing — Text and office systems — Standard Generalized Markup Language (SGML)
Information processing — Text and office systems — Standard Generalized Markup Language (SGML)
ISO 8879:1986 is classified under the following ICS (International Classification for Standards) categories: 35.240.30 - IT applications in information, documentation and publishing. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO 8879:1986 has the following relationships with other standards: It is inter standard links to EN 61360-2:1998, EN IEC 62433-1:2019, EN 61360-2:2002, EN 62433-4:2016, ISO 8879:1986/Amd 1:1988, ISO 8879:1986/Cor 2:1999; is excused to ISO 8879:1986/Cor 2:1999, ISO 8879:1986/Amd 1:1988. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
ISO 8879:1986 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.
Standards Content (Sample)
International Standard
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION@MEX~YHAPOflHAfi OPI-AHl43AlJMfl n0 CTAH~APTM3A~Ml/loOR~AN~SAT~ON INTERNATIONALE DE NORMALlSATlON
Information processing - Text and office systems -
Standard Generalized Markup Language (SGML)
Traitement de l’information - S yst&mes bureautiques - L angage standard g&&alisk de balisage (SGML i
First edition - 1986-10-15
Ref. No. IS0 88794986 (E)
UDC 681.3.06
artificial languages, programming languages.
: data processing, documentation, logical structure, programming (computed,
Descriptors
Price based on 155 pages
Foreword
IS0 (the International Organization for Standardization) is a worldwide federation of
national standards bodies (IS0 member bodies). The work of preparing International
Standards is normally carried out through IS0 technical committees. Each member
body interested in a subject for which a technical committee has been established has
the right to be represented on that committee. International organizations, govern-
mental and non-governmental, in liaison with ISO, also take part in the work.
Draft International Standards adopted by the technical committees are circulated to
the member bodies for approval before their acceptance as International Standards by
the IS0 Council. They are approved in accordance with IS0 procedures requiring at
least 75 % approval by the member bodies voting.
International Standard IS0 8879 was prepared by Technical Committee ISO/TC 97, ln-
formation processing s ys terns.
Users should note that all International Standards undergo revision from time to time
and that any reference made herein to any other International Standard implies its
latest edition, unless otherwise stated.
0 International Organization for Standardization, 1986
Printed in Switzerland
ii
IS0 8879-1986(E)
Contents
..................................................... 1
0 introduction
0.1 Background .
.................................................
0.2 Objectives
............................................... 3
0.3 Organization
1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Field of Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
SyntacticTokens . 21
5.1
.............................. 21
5.2 Ordering and Selection Symbols
Structure .
6 Entity
........................................... 21
6.1 SGMLDocument
6.2 SGMLEntities .
......................................... 22
6.2.1 S Separator
........................................... 22
6.2.2 Entity End
6.2.3 Implied SGML Declaration . 22
...................................... 22
6.3 Non-SGML Data Entity
............................................... 22
7 Element Structure
7.1 Prolog. .
......................................... 22
7.2 Document Element
.............................................. 22
7.2.1 Limits
..................................................
7.3 Element
............................. 22
7.3.1 Omitted Tag Minimization
............................... 22
7.3.1.4 Start-tag Omission
................................ 23
7.3.1.2 End-tag Omission
................................ 23
7.3.2 Data Tag Minimization
........................................... 23
7.3.3 Quantities
..................................................
7.4 Start-tag
........................................
7.4.1 Minimization
................................. 23
7.4.1.1 Empty Start-tag
............................... 24
7.4.1.2 Unclosed Start-tag
........................... 24
7.4.1.3 NET-enabling Start-tag
...........................................
7.4.2 Quantities
7.5 End-tag .
........................................ 24
7.5.4 Minimization
.................................. 24
7.5.1.1 Empty End-tag
................................ 24
7.5.1.2 Unclosed End-tag
.................................... 24
7.5.1.3 Null End-tag
................ 24
................................. ;.
7.6 Content
................................... 25
7.6.1 Record Boundaries
................................. 25
7.7 Document Type Specification
............................. 25
7.7.1 General Entity References
........................... 25
7‘7.2 Parameter Entity References
........................... 26
7,8 Generic Identifier (GI) Specification
........................................ 26
7.8.1 Rank Feature
............................ 26
7.8.1.1 Full Generic Identifier
..................................... 26
7.8.1.2 RankStem
................................... 26
7.9 Attribute Specification List
..I
III
IS0 8879-l 986(E)
........................................ 26
7.9.1 Minimization
..................... 26
7.9.1.1 Omitted Attribute Specification
.......................... 26
7.9.1.2 Omitted Attribute Name
........................................... 26
79.2 Quantities
........................... 26
7.9.3 Attribute Value Specification
.................................... 27
7.9.3.1 Minimization
7.9.4 Attribute Value . 27
.......................... 27
7.9.4.1 Syntactic Requirements
7.9.4.2 Fixed Attribute . 27
............................. 27
7.9.4.3 General Entity Name
....................................... 27
7.9.4.4 Notation
...................................... 27
7.9.4.5 Quantities
........................................... 27
8 Processing Instruction
................................................ 28
8.1 Quantities
............................................. 28
9 Common Constructs
.................................
9.1 Replaceable Character Data 28
............................................ 28
9.2 Character Data
..................................... 28
9.2.1 SGML Character
................................... 28
9.2.2 Function Character
9.3 Name .
9.3.1 Quantities . 28
.......................................... 28
9.4 Entity References
.......................................... 28
9.4.1 Quantities
9.4.2 Limits .
.......................... 29
9.4.3 Obfuscatory Entity References
............................... 29
9.4.4 Named Entity Reference
....................................... 29
9.4.5 Reference End
..................................... 29
9.4.6 Short Reference
9.4.6.1 Equivalent Reference String . 29
....................................... 30
9.5 Character Reference
.......................................
9.6 Delimiter Recognition 30
................................... 30
9.6.1 Recognition Modes
................................ 31
9.6.2 Contextual Constraints
.................................. 32
9.6.3 Order of Recognition
.............. 32
9.6.4 Delimiters Starting with the Same Character
9.6.5 Short References with Blank Sequences . 32
...................................... 32
9.6.5.1 Quantities
.................................... 32
9.6.6 Name Characters
9.7 Markup Suppression . 32
.................................................. 32
9.8 Capacity
.................................... 34
IO Markup Declarations: General
...................................... 34
10.1 Parts of Declarations
................................ 34
10.1.1 Parameter Separator
................................... 34
10.1.2 Parameter Literal
Quantities . 34
10.1.2.1
............................................. 34
10.1.3 Group
..................................... 34
10.1.3.1 Quantities
............................... 34
10.1.4 Declaration Separator.
............................. 35
10.1.5 Associated Element Type
................................... 35
10.4.6 External Identifier
..................................... 35
40.1.6.1 Quantities
..................................... 35
10.1.6.2 Capacities
.................................... 35
10.4.7 Minimum Literal
..................................... 35
10.4.7.4 Quantities
..................................... 35
10.2 Formal Public Identifier
..................................... 35
10.2.4 Owner Identifier
............................ 35
40.2.4.4 IS0 Owner identifier
40.2.1.2 Registered Owner Identifier . 35
iv
IS0 8879-I 986(E)
10.2.1.3 Unregistered Owner Identifier 36
....................
10.2.2 Text Identifier
....................................... 36
10.2.2.1 Public Text Class
............................... 36
40.2.2.2 Public Text Description . 36
10.2.2.3 Public Text Language . 36
40.2.2.4 Public Text Designating Sequence
................. 36
10.2.2.5 Public Text Display Version
...................... 37
40.3 Comment Declaration . 37
10.4 Marked Section Declaration
................................. 37
10.4.1 Quantities
.......................................... 37
10.4.2 Status Keyword Specification
.......................... 37
10.5 Entity Declaration
......................................... 38
10.5.1 Entity Name
........................................ 38
10.5.4.1 Quantities
..................................... 38
10.5.4.2 Capacities . 38
10.5.2 Entity Text . 38
10.5.3 DataText 38
..........................................
10.5.4 Bracketed Text
...................................... 39
40.5.4.4 Quantities
..................................... 39
40.5.5 External Entity Specification
........................... 39
44 Markup Declarations: Document Type Definition
..................... 39
14.1 Document Type Declaration
................................. 39
14.2 Element Declaration
....................................... 40
14.2.4 Element Type . 40
11.2.4.1 Ranked Element . 40
11.2.1.2 Quantities . 40
11.2.2 Omitted Tag Minimization
............................ 40
41.2.3 Declared Content
.................................... 40
11.2.4 Content Model
...................................... 40
11.2.4.1 Connector
..................................... 41
11.2.4.2 Occurrence Indicator
............................ 41
44.2.4.3 Ambiguous Content Model
....................... 41
11.2.4.4 Data Tag Group
................................ 41
14.2.4.5 Quantities . 42
11.2.5 Exceptions . 42
11.2.5.1 Inclusions . 42
11.2.5.2 Exclusions . 42
11.3 Attribute Definition List Declaration 42
..........................
11.3.1 Quantities . . . . . .
41.3.2 Attribute Name .
11.3.3 Declared Value .
11.3.4 Default Value . . .
41.3.4.4 Quantities .
41.3.4.2 Capacities .
14.4 Notation Declaration . . . 43
11.5 Short Reference Mapping Declaration . 44
11.6 Short Reference Use Declaration . 44
11.6.1 Use in Document Type Declaration . 44
11.6.2 Use in Document Instance .
41.6.3 Current Map . 44
12 Markup Declarations: Link Process Definition . 44
12.1 Link Type Declaration . 44
12.1.1 Simple Link Specification . 45
42.1.2 Implicit Link Specification . 45
12.1.3 Explicit Link Specification . 45
12.1.3.1 Limits . 45
.......................... 45
12.1.4 LinkType Declaration Subset
42.1.4.1 Parameter Entities .
12.1.4.2 Link Attributes . 45
V
IS0 8879=4986(E)
.................................... 45
12.4.4.3 Simple Link
.......................................
12.2 Link Set Declaration 45
12.2.4 . 46
Source Element Specification
.......................... 46
12.2.2 Result Element Specification
...................................
12.3 Link Set Use Declaration 46
..........................
12.3.1 Use in LinkType Declaration 46
12.3.2 Use in Document Instance . 46
42.3.3 Current LinkSet . 46
.............................................. 47
13 SGML Declaration
...................................
43.1 Document Character Set 47
............................ 47
13.1.1 Character Set Description
............................. 47
13.1.1.1 Base Character Set
43.1.4.2 Described Character Set Portion . 47
..................... 48
13.1.2 Non-SGML Character Identification
13.2 Capacity Set . 48
.................................... 48
43.3 Concrete Syntax Scope
..........................................
43.4 Concrete Syntax 49
43.4.1 Public Concrete Syntax. . 49
13.4.2 Shunned Character Number Identification . 49
13.4.3 Syntax-reference Character Set . 50
.......................
13.4.4 Function Character Identification 50
......................................
13.4.5 Naming Rules 50
13.4.6 Delimiter Set . 51
............................. 51
43.4.6.1 General Delimiters
......................
43.4.6.2 Short Reference Delimiters. 51
.................................
13.4.7 Reserved Name Use 51
13.4.8 Quantity Set . 51
.............................................. 52
13.5 Feature Use
........................ 52
43.54 Markup Minimization Features
..................................
13.5.2 LinkType Features 52
......................................
13.5.3 Other Features 52
.............................
13.6 Application-specific Information 53
44 Reference and Core Concrete Syntaxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
15 Conformance . 53
............................... 53
15.1 Conforming SGML Document
454.4 Basic SGML Document . 53
............................. 53
15.1.2 Minimal SGML Document
................... 53
15.4.3 Variant Conforming SGML Document
...............................
15.2 Conforming SGML Application 53
45.2.4 Application Conventions . 53
15.2.2 Conformance of Documents . 53
........................ 53
15.2.3 Conformance of Documentation
..................................
15.3 Conforming SGML System 53
45.3.4 Conformance of Documentation . 54
....................
45.3.2 Conformance to System Declaration 54
15.3.3 Support for Reference Concrete Syntax . 54
45.3.4 Support for Reference Capacity Set . 55
45.3.5 Consistency of Parsing . 55
45.3.6 Application Conventions . 55
45.4 Validating SGML Parser . 56
45.4.1 Error Recognition . 56
454.2 Identification of SGML Messages . 56
........................... 56
15.4.3 Content of SGML Messages
...............................
15.5 Documentation Requirements 56
...............................
45.5.1 Standard Identification 56
15.5.2 Identification of SGML Constructs . 56
45.5.3 Terminology . 57
.............................. 57
15.5.4 Variant Concrete Syntax
vi
IS0 8879=1986(E)
........................................
15.6 System Declaration
Concrete Syntaxes Supported . 57
15.6.1
15.6.1.1 Concrete Syntax Changes .
........................ 57
15.6.1.2 Character Set Translation
15.6.2 Validation Services .
Annexes
A Introduction to Generalized Markup . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . , . 59
.........................................
A.1 The Markup Process.
............................................ 60
A.2 Descriptive Markup
A.3 Rigorous Markup .
A.4 Conclusion. .
A.5 Acknowledgments .
A.6 Bibliography .
B BasicConcepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
............ 66
B.l Documents, Document Type Definitions, and Procedures
B.1.1 Documents .
B.1.2 Document Type Definitions. .
............................................ 67
B.1.3 Procedures
B.2 Markup. .
8.3 Distinguishing Markup from Text .
B.3.1 Descriptive Markup Tags .
8.3.2 Other Markup .
B.3.3 Record Boundaries .
B.3.3.1 Record Boundaries in Data. .
........................ 70
8.3.3.2 Record Boundaries in Markup
8.4 Document Structure .
................................ 70
8.4.1 Document Type Definitions
B.4.2 Element Declarations .
B.4.2.1 Content Models .
B.4.2.2 Connectors and Occurrence Indicators .
8.4.2.3 Entity References in Models .
B.4.2.4 Name Groups .
.................................... 73
B.4.2.5 Data Characters
..................................... 73
8.4.2.6 Empty Content
.................................... 73
B.4.2.7 Non-SGML Data
........................ 74
8.4.2.8 Summary of Model Delimiters
B.5 Attributes .
B.5.1 Specifying Attributes .
B.5.1.1 Names . 74
.................................... 75
B.5.1.2 Attribute Values
13.5.2 Declaring Attributes .
........................... 75
B.5.2.1 Attribute Definition Syntax
............................ 76
B.5.2.2 Complex Attribute Values
B.5.2.3 Name Token Groups .
B.5.2.4 Changing Default Values .
B.6 Entities .
.................................. 78
B.6.1 Entity Reference Syntax
....................................... 78
B.6.2 Declaring Entities
8.6.2.1 Processing Instructions .
8.6.2.2 Entities with Entity References .
.................................... 79
B.6.2.3 External Entities
B.6.2,4 Public Entities. .
B.7 Characters. .
vii
IS0 8879-l 986( E)
8.7.1 Character Classification . 80
B.7.2 Character References . 81
........................ 82
B.7.3 Using Delimiter Characters as Data
8.8 Marked Sections . 83
................................
B.8.1 Ignoring a Marked Section 83
............................
B.8.2 Versions of a Single Document 84
.....................................
B.8.3 Unparsable Sections 84
.....................................
8.8.4 Temporary Sections 85
8.8.5 Keyword Specification . 85
...................... 85
B.8.6 Defining a Marked Section as an Entity
.....................................
B.9 Unique Identifier Attributes 86
B.10 Content Reference Attributes . 86
B.ll Content Model Exceptions . 87
B.ll.l Included Elements . 87
B.11.2 Excluded Elements . 87
....................................
B.12 Document Type Declaration 88
................................................
B.13 Data Content 88
B.13.1 Data Content Representations . 89
8.13.1.1 Character Data (PCDATA, CDATA, and RCDATA) . 89
8.13.1.2 Non-SGML Data (NDATA) . 89
B.13.2 Data Content Notations . 90
8.13.2.1 . 90
Notations for Character Data
....................... 91
B.13.2.2 Notations for Non-SGML Data.
B.13.2.3 Specifying Data Content Notations . 91
.................................................
B.14 Customizing 92
..................................
8.14.1 The SGML Declaration 92
B.14.1.1 Optional Features . 92
8.14.1.2 Variant Concrete Syntax . 92
B.14.2 Impact of Customization . 92
8.15 Conformance .
C Additional Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Cl Markup Minimization Features . 94
..................... 94
Cl.1 SHORTTAG: Tags With Omitted Markup
C.l.1.1 . 95
Unclosed Short Tags
........................................ 95
C.1.1.2 Empty Tags
C.l.1.3 Attribute Minimization . 95
Cl.2 OMITTAG: Tags May be Omitted . 96
C.1.2.1 Tag Omission Concepts . 97
C.1.2.2 Specifying Minimization . 97
C.1.2.3 End-tag Omission: Intruding Start-tag . 98
........ 98
C.1.2.4 End-tag Omission: End-tag of Containing Element
C.1.2.5 Start-tag Omission: Contextually Required Element . 99
C.1.2.6 Combination with Short Tag Minimization . 99
.................. 99
C.1.2.7 Markup Minimization Considerations
C.1.3 SHORTREF: Short Reference Delimiters May Replace
.............................
Complete Entity References 100
........
C.1.3.1 Typewriter Keyboarding: Generalized WYSIWYG 100
C.1.3.2 Typewriter Keyboarding Example: Defining a Short
Reference Map . 100
C.1.3.3 Typewriter Keyboarding Example: Activating a Short
Reference Map . 101
............................ 102
C.1.3.4 Tabular Matter Example
C.1.3.5 Special Requirements . 103
C.1.4 DATATAG: Data May Also be a Tag . 103
................... 106
C.1.5 RANK: Ranks May be Omitted from Tags
..................
C.2 LINK Features: SIMPLE, IMPLICIT, and EXPLICIT 107
................................. 108
C.2.1 Link Process Definitions
C.3 OtherFeatures .
. . .
VIII
IS0 8879-l 986(E)
C.3.1 CONCUR: Document Instances May Occur Concurrently .
..........
C.3.2 SUBDOC: Nested Subdocument Entities May Occur
..................... 109
C.3.3 FORMAL: Public Identifiers are Formal
D PublicText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
D.l Element Sets . 110
................................. 110
D.l.l Common Element Types
............................... 110
D.1.2 Pro Forma Element Types
....................................... 110
0.2 Data Content Notations.
..................................... 111
D.3 Variant Concrete Syntaxes
............................ 111
D.3.1 Multicode Concrete Syntaxes
D.4 Entity Sets .
D.4.1 General Considerations .
............................. 112
D.4.1.1 Format of Declarations
.................... 113
0.4.1.2 Corresponding Display Entity Sets
..................................... 113
D.4.1.3 Entity Names
.......................... 114
D.4.1.4 Organization of Entity Sets
.................................. 114
0.4.2 Alphabetic Characters
D.4.2.1 Latin . 114
........................ 117
0.4.2.2 Greek Alphabetic Characters
....................... 119
D.4.2.3 Cyrillic Alphabetic Characters
........................................... 121
D.4.3 General Use
.............. 121
D.4.3.1 Numeric and Special Graphic Characters
......................... 123
D.4.3.2 Diacritical Mark Characters
.............................. 123
D.4.3.3 Publishing Characters
.................... 125
D.4.3.4 Box and Line Drawing Characters
......................................... 126
0.4.4 Technical Use
.......................................... 126
0.4.4.1 General
................................... 128
0.4.4.2 Greek Symbols.
0.4.4.3 Alternative Greek Symbols .
D.4.5 Additional Mathematical Symbols .
D.4.5.1 Ordinary Symbols .
......................... 130
0.4.5.2 Binary and Large Operators
........................................ 131
0.4.5.3 Relations
................................. 133
0.4.5.4 Negated Relations
D.4.5.5 Arrow Relations .
...................... 135
D.4.5.6 Opening and Closing Delimiters
E Application Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
...................................... 136
E.1 Document Type Definition
................................... 140
E.2 Computer Graphics Metafile
............................. 140
E.3 Device-Independent Code Extension
................................ 140
E.3.1 Code Extension Facilities
................. 141
E.3.1.1 Avoiding False Delimiter Recognition
............ 143
E.3.1.2 Eliminating Device and Code Dependencies
F Implementation Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . 145
...................................... 145
F.l A Model of SGML Parsing
Physical Input .
F.I.l
F.l.l.l Entities .
F.1.1.2 Record Boundaries .
..................................... 145
F.1.2 Recognition Modes
.................................... 146
F.1.3 Markup Minimization
............................................ 147
F.1.4 Translation
............................ 147
F.1.5 Command Language Analogy
ix
IS0 8879=1986(E)
F.2 Initialization . 147
................................ 147
F.2.1 Initial Procedure Mapping
F.2.2 Link Process Specification . 147
F.2.3 Concurrent Document Instances . 147
F.3 Dynamic Procedure Mapping . 148
F.4 ErrorHandling .
G Conformance Classification and Certification . 149
G.l Classification Code . 149
GA.1 FeatureCode. . 149
G.1.2 Validation Code . 150
G.1.3 SyntaxCode . 151
G.2 Certification Considerations . 151
........................ 152
H Theoretical Basis for the SGML Content Model
HA Model Group Notation . 152
H.2 Application of Automata Theory . 152
..............................
H.3 Divergence from Automata Theory 153
..........................................
I Nonconforming Variations 154
I.1 Fixed-length Generic Identifiers . 154
Single Delimiter . 154
I.2
Figures
1 Character Classes: Abstract Syntax . 29
Character Classes: Concrete Syntax . 30
3 Reference Delimiter Set: General . 31
4 Reference Delimiter Set: Short References . 33
5 Reference Capacity Set . 49
Reference Quantity Set . 52
7 Reference Concrete Syntax . 54
Typical SGML Declaration for Basic SGML Document . 55
Element Markup . 69
IO Start-tag with 2 Attributes . 75
11 Multicode Basic Concrete Syntax . 112
Graphics Metafile Attributes (1 of 2): Encoding and View . 141
Graphics Metafile Attributes (2 of 2): Size and Rotation . 142
Function Characters for Device-independent Multicode Concrete
Syntaxes . 143
IS0 8879=1986(E)
FSV Conformance Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
xi
This page intentionally left blank
IS0 88794986(E)
Information Processing - Text and Office Systems -
Standard Generalized Markup Language (SGML)
0 Introduction Early computerized systems continued this
approach by adding the process-specific “markup”
This International Standard specifies a language for to the machine-readable document file. The markup
still consisted of specific processing instructions,
document representation referred to as the
“Standard Generalized Markup Language” (SGML). but now they were in the language of a formatting
SGML can be used for publishing in its broadest program, rather than a human compositor. The file
definition, ranging from single medium conventional could not easily be used for a different purpose, or
publishing to multi-media data base publishing. on a different computer system, without changing all
SGML can also be used in office document the markup.
processing when the benefits of human readability
and interchange with publishing systems are As users became more sophisticated, and as text
processors became more powerful, approaches
required.
were developed that alleviated this problem.
0.1 Background “Macro calls” (or “format calls”) were used to
identify points in the document where processing
was to occur. The actual processing instructions
A document can be viewed in the abstract as a
were kept outside of the document, in “procedures”
structure of various types of element. An author
(or “macro definitions” or “stored formats”), where
organizes a book into chapters that contain
they could more easily be changed.
paragraphs, for example, and figures that contain
figure captions. An editor organizes a magazine
into articles that contain paragraphs that contain While the macro calls could be placed anywhere in
words, and so on. a document, users began to recognize that most
were placed at the start or end of document
elements. It was natural, therefore, to choose
Processors treat these elements in different ways.
names for such macros that were “generic
A formatting proqram might print headings in a
identifiers” of the element types, rather than names
prominent type ’ face, leave space between
that suggested particular processing (for example,
paragraphs, and otherwise visually convey the
“heading” rather than “format-17”), and so the
structure and other attributes to the reader. An
practice of “generic coding” “generalized
information retrieval system would perhaps assign
(or
tagging”) began.
extra significance to words in a heading when
creating its dictionary.
Generic coding was a major step towards making
Although this connection between a document’s automated text processing systems reflect the
natural relationship between document attributes
attributes and its processing now seems obvious, it
and processing. The advent of “generalized markup
tended to be obscured by early text processing
methods. In the days before automated typesetting, languages” in the early 1970’s carried this trend
further by providing a formal language base for
an editor would “mark up” a manuscript with the
generic coding. A generalized markup language
specific processing instructions that would create
the desired format when executed by a compositor. observes two main principles:
Any connection between the instructions and the
document’s structure was purely in the editor’s
head.
0. I Background
IS0 8879-l 986(E)
alternative Crete syntaxes to their
and is con
a) Descriptive markup predominates
requIremen ts.
distinguished from processing instructions.
- Markup declarations that allow the user to
Descriptive markup includes both generic
define a specific vocabulary of generic
identifiers and other attributes of document
identifiers and attributes for different document
motivate processing
elements that
types.
instructions. The processing instructions,
which can be in any language, are normally
-
of the document in Provision for arbitrary data content. In
collected outside
generalized markup, “data” is anything that is
procedures.
not defined by the markup language. This can
include specialized “data content notations”
AS the source file is scanned for markup and
that require interpretation different from general
the various elements are recognized, the
text: formulas, images, non-Latin alphabets,
processing system executes the procedures
previously formatted text, or graphics.
associated with each element and attribute for
that process. For other processes, different
-
Entity references: a non-system-specific
procedures can be associated with the same
technique for referring to content located
elements and attributes without changing the
outside the mainstream of the document, such
document markup.
as separately-written chapters, pi characters,
photographs, etc.
When a processing instruction must be entered
directly in a document, it is delimited
-
Special delimiters for processing instructions to
differently from descriptive markup so that it
distinguish them from descriptive markup.
can easily be located and changed for different
Processing instructions can be entered when
processes.
needed for situations that cannot be handled by
the procedures, but they can easily be found
b) Markup is formally defined for each type of
and modified later when a document is sent to a
document.
different processing system.
A generalized markup language formalizes
document markup by incorporating “document For a generalized markup language to be an
Type definitions include a acceptable standard, however, requires more than
type definitions”.
just providing the required functional capabilities.
specification (like a formal grammar) of which
The language must have metalinguistic properties,
elements and attributes can occur in a
in order to satisfy the constraints imposed by the
document and in what order. With this
need to use it in a multiplicity of environments. The
information it is possible to determine whether
major constraints, and the means by which the
the markup for an individual document is
Standard Generalized Markup Language addresses
correct (that is, complies with the type
them,*can be summarized as follows:
definition) and also to supply markup that is
missing, because it can be inferred
a) Documents “marked up” with the language
unambiguously from other markup that is
must be processable by a wide range of text
present.
processing and word processing systems.
NOTE - A more detailed introduction to the concepts of generic
The full form of the language, with all optional
coding and the Standard Generalized Markup Language can be
features, offers generality and flexibility that
found in annex A.
can be exploited by sophisticated systems;
less powerful systems need not support the
db.2 Objectives
features. To facilitate interchange between
dissimilar systems, an “SGML declaration”
The Standard Generalized Markup Language
describes any markup features or concrete
standardizes the application of the generic coding
and generalized markup concepts. It provides a syntax variations used in a document.
coherent and unambiguous syntax for describing
The
whatever a user chooses to identify within a millions of existing text entry devices must
b)
document. The language includes: be s upported.
- An “abstract syntax SGML documents, with the reference concrete
” for descriptive markup of
document ele ments. syntax, can easily be keyboarded and
understood by humans, without machine
assistance. As a result:
- A “reference concrete syntax” that binds the
abstract syntax to particular delimiter
characters and quantities. Users can define
0 Introduction
IS0 8879-l 986(E)
-
g) The I angu em ust not d epend on a parti cular
Use of SGML need not await the
WI
data m hysical fi
development and acceptance of a new strea le orga nization.
or P
generation of hardware - just software to
the documents on existing The markup language has a virtual storage
process
machines. model in which documents consist of one or
-
more storage entities, each of which is a
Migration to such a new generation (when it
sequence of characters. All real file access is
comes) will be easier, as users will already
handled by the processing system, which can
be familiar with SGML.
decide whether the character sequence should
be viewed as continuous, or whether it should
c) There must be no character set dependency,
as documents might be keyed on a variety of reflect physical record boundaries.
devices.
“Marked up” text must coexist with other data.
h)
The language has no dependency on a
A processing system can allow text that
particular character set. Any character set that
conforms to this International Standard to
has bit combinations for letters, numerals,
occur in a data stream with other material, as
space, and delimiters is acceptable.
long as the system can locate the start and end
of the conforming text.
d) There must be no processing, system, or
device dependencies.
Similarly, a system can allow data content not
iS predominantly defined by SGML to occur logically within a
Generalized markup
descriptive and therefore inherently free of conforming document. The occurrence of such
The occasional data is indicated by markup declarations to
such dependencies.
facilitate interchange.
processing instruction is specially delimited so
it can be found and converted for interchange,
or when a different process renders the i) The markup must be usable by both humans
instruction irrelevant. and programs.
The Standard Generalized Markup Language
References to external parts of a document are
is intended as a suitable interface for
indirect. The mappings to real system storage
keyboarding and interchange without
are made in “external entity declarations” that
preprocessors. It allows extensive tailoring to
occur at the start of the document, where they
accommodate user preferences in text entry
can easily be modifi4 for interchange.
conventions and the requirements of a variety
The concrete syntax can be changed with the of keyboards and displays.
SGML declaration to accommodate any
However, it is recognized that many
reserved system characters.
implementers will want to take advantage of
the language’s information capture capabilities
e) There must be no national language bias.
to provide intelligent editing or to create SGML
documents from a word processing front-end
The characters used for names can be
environment. SGML accommodates such uses
augmented by any special national characters.
by providing the following capabilities:
Generic identifiers, attribute names, and other
-- Element content can be stored separately
names used in descriptive markup are defined
from the markup.
by the user in element and entity declarations.
- Control characters can be used as
and keywords used in delimiters.
The declaration na mes
n als #o be chang ed. - Mixed modes of data representation are
markup declaration s ca
permitted in a document.
- Multiple concurrent logical and layout
Multiple character repertoires, as used in
structures are supported.
multi-lingual documents, are supported.
0.3 Brganisation
f) The language must accommodate familiar
typewriter and word processor conventions.
The organization of this International Standard is as
“data tag” follows:
The “short reference” and
capabilities support typewriter text entry
conventions. Normal text containing a) The physical organization of an SGML
document as an entity structure is specified in
paragraphs and quotations is interpretable as
clause 6.
SGML although it is keyable with no visible
markup.
0.3 Organization
IS0 88794986(E)
b) Specifies a reference concrete syntax that
b) The logical organization of an SGML document
binds the abstract syntax to specific characters
as an element structure, and its representation
and numeric values, and criteria for defining
with descriptive markup, is specified in clause
7. variant concrete syntaxes.
discussed in c) Defines conforming documents in terms of
c) Processing instructions are
their use of components of the language.
clause 8.
such as d) Defines conforming systems in terms of their
d) Common markup constructs,
ability to process conforming documents and
characters, entity references, and processing
to recognize markup errors in them.
instructions, are covered in clause 9.
e) Specifies how data not defined by this
e) Markup declarations with general applicability
International Standard (such as images,
(comment, entity, and marked section) are
graphics, or formatted text) can be included in
specified in clause 10.
a conforming document.
f) Markup declarations that are used primarily to
NOTE - This International Standard does not:
specify
...
Norme internationale
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION.MEXflYHAPOfiHAR OPI-AHM3ALWlR Il0 CTAHflAPTM3AUMM~ORGANISATiON INTERNATIONALE DE NORMALISATION
Traitement de l’information - Systèmes bureautiques -
Langage normalisé de balisage généralisé (SGML)
Information processing - Text and office systems - Standard Generalized Markup Language (SGML)
Première édition - 1986-10-15
(incorporant I’Amendement 1 : 1988)
Réf. no:ISO8879-1986 (FI
CDU 681.3.06:655.53
Descripteurs : traitement de l’information, traitement de textes, échange d’information, documentation, document, structure logique,
programmation des calculateurs, langage artificiel, langage de programmation, SGML.
Prix basé sur 164 pages
Avant-propos
L’ISO (Organisation internationale de normalisation) est une fédération mondiale
d’organismes nationaux de normalisation (comités membres de I’ISO). L’élaboration
des Normes internationales est confiée aux comités techniques de I’ISO. Chaque
comité membre intéressé par une étude a le droit de faire partie du comité technique
créé à cet effet. Les organisations internationales, gouvernementales et non gouverne-
mentales, en liaison avec I’ISO, participent également aux travaux.
Les projets de Normes internationales adoptés par les comités techniques sont soumis
aux comités membres pour approbation, avant leur acceptation comme Normes inter-
nationales par le Conseil de I’ISO. Les Normes internationales sont approuvées confor-
mément aux procédures de I’ISO qui requièrent l’approbation de 75 % au moins des
comités membres votants.
La Norme internationale ISO 8879 a été élaborée par le comité technique ISO/TC 97,
Systèmes de traitement de l’information. Cette version francaise incorpore I’Amende-
ment 1 qui a été publié séparément en anglais en 1988. ’
L’attention des utilisateurs est attirée sur le fait que toutes les Normes internationales
sont de temps en temps soumises à révision et que toute référence faite à une autre
Norme internationale dans le présent document implique qu’il s’agit, sauf indication
contraire, de la dernière édition.
0 Organisation internationale de normalisation, 1986 et 1990 0
Version francaise tirée en 1990
Imprimé en Suisse
Page blanche
ISO 8879-I 986(F)
Table des matières
0 Introduction . 1
0.1 Le contexte .
0.2 Objectifs .
0.3 Organisation . 4
1 Objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . .* . . . . . . . . . . . . . . . 4
2 Domaine d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Références . . . . .D. 5
4 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Notation
............................................ 23
5.1 Unités lexicales syntaxiques
........................ 23
5.2 Symboles d’ordre et de choix
........................ 23
6 Structuration en entités 23
................................
6.1 Document SGML
................................ 23
6.2 Entités SGML
................................... 24
6.3 Séparateur S
................................... 24
6.4 Fin d’entité 24
.....................................
6.5 Déclaration SGML déduite 24
..........................
6.6 Entités textuelles 24
................................
7 Structuration en Mments
............................... 25
7.1 Prologue 25
......................................
7.2 Élément document 25
...............................
7.2.1 Limites 25
..................................
7.3 Élément 25
.......................................
7.3.1 Minimisation par omission de balises
............ 25
7.3.1 .l Omission d’une balise de début . 25
7.3.1.2 Omission d’une balise de fin . 26
7.3.2 Minimisation du balisage par le texte
............ 26
7.3.3 Quantités . 26
7.4 Balise de début
................................. 26
7.4.1 Minimisation 26
..............................
7.4.1.1 Balise de début vide 26
...................
7.4.1.2 Balise de début non fermée
............. 27
7.4.1.3 Balise de début autorisant une balise de fin
nulle . 27
7.4.2 Quantités 27
7.5 Balise de fin 27
....................................
7.5.1 Minimisation
.............................. 27
7.5.1.1 Balise de fin vide
..................... 27
7.5.1.2 Balise de fin non fermée . 27
7.5.1.3 Balise de fin nulle 27
.....................
7.6 Contenu
....................................... 28
7.6.1 Limites d’enregistrement
..................... 28
7.7 Spécification de type de document . 29
7.8 Spécification de l’identificateur générique (IG) . 29
7.8.1 Fonctionnalité niveau 29
.......................
7.8.1.1 Identificateur générique complet
.......... 29
ISO 8879-l 986(F)
7.8.1.2 Radical de niveau . 29
7.9 Liste de spécifications d’attributs . 29
7.9.1 Minimisation . 29
7.9.1.1 Omission de la spécification d’attribut . 29
7.9.1.2 Omission du nom d’attribut . 30
7.9.2 Quantités . 30
7.9.3 Spécification de valeur d’attribut . 30
7.9.3.1 Minimisation . 30
7.9.4 Valeur d’attribut . 30
7.9.4.1 Exigences syntaxiques . 30
7.9.4.2 Attribut fixé . 30
7.9.4.3 Nom d’entité générale . 31
7.9.4.4 Notation . 31
7.9.5 Quantités . 31
8 Instructions de traitement . 31
8.1 Quantités . 31
9 Structures communes . 31
9.1 Données textuelles remplaçables . 31
9.2 Données textuelles . 32
9.2.1 Caractère SGML . 32
9.2.2 Caractère de fonction . 32
9.3 Nom . 32
9.3.1 Quantités . 32
9.4 Appels d’entité . 32
9.4.1 Quantités . 33
9.4.2 Limites . 33
9.4.3 Appels d’entités obscurs . 33
9.4.4 Appel d’entité désignée . 33
9.4.4.1 Déclaration d’entité applicable . 33
9.4.5 Fin d’appel . 34
9.4.6 Appels abrégés . 34
9.4.6.1 Chaîne de référence équivalente . 34
9.5 Appel de caractère . 35
9.6 Reconnaissance des délimiteurs . 35
9.6.1 Modes de reconnaissance . 35
9.6.2 Contraintes liées au contexte . 36
9.6.3 Ordre de reconnaissance . 37
9.6.4 Délimiteurs commençant par le même caractère . 37
9.6.5 Appels abrégés avec séquences de blancs . 37
9.6.5.1 Quantités . 37
9.6.6 Caractères constitutifs de noms . 37
9.7 Suppression du balisage . 37
9.8 Capacité . 37
10 Déclarations de balisage : généralités . 38
10.1 Parties de la déclaration . 39
10.1 .l Séparateur de paramètre . 39
10.1.2 Quantités . 39
10.1.3 Groupe . 39
10.1.3.1 Quantités . 39
10.1.4 Séparateur de déclarations . 39
10.1.5 Type d’élément associé . 40
10.1.6 Identificateur externe . 40
10.1.6.1 Quantités . 40
.........................
10.1.6.2 Capacités 40
10.1.7 Contenu littéral minimum . 40
10.1.7.1 Quantités . 40
. . .
III
ISO 8879-l 986(F)
10.2 Identificateur public formel . 40
10.2.1 Identificateur de dépositaire . 40
10.2.1 .l Identificateur de dépositaire ISO . 41
10.2.1.2 Identificateur de dépositaire enregistré . 41
10.2.1.3 Identificateur de dépositaire non enregistré . 41
10.2.2 Identificateur de texte . 41
10.2.2.1 Classe de texte public . 41
10.2.2.2 Description de texte public . 41
10.2.2.3 Langue du texte public . 41
10.2.2.4 Séquence de désignation de texte public . 42
10.2.2.5 Version affichée de texte public . 42
10.3 Déclaration de commentaire . 42
10.4 Déclaration de section marquée . 42
10.4.1 Quantités . 42
10.4.2 Spécification de mot-clé de statut . 42
10.5 Déclaration d’entité . 43
10.5.1 Nom d’entité . 43
10.5.1.1 Quantités . 43
10.5.1.2 Capacités . 43
10.5.2 Texte d’entité . 43
10.5.3 Texte brut . 44
10.5.4 Texte entre crochets . 44
10.5.4.1 Quantités . 44
10.5.5 Spécification d’entité externe . 44
11 Déclarations de balisage : Définition de type de document . 45
11.1 Déclaration de type de document . 45
II .2 Déclaration d’élément . 45
11.2.1 Type d’élément . 45
II .2.1 .I Élément hiérarchisé . 45
..........................
11.2.1.2 Quantités 46
11.2.2 Minimisation par omission de balises . 46
11.2.3 Contenu déclaré . 46
11.2.4 Modèle de contenu . 46
11.2.4.1 Connecteur . 47
11.2.4.2 Symbole d’occurrence . 47
11.2.4.3 Modèle de contenu ambigu . 47
11.2.4.4 Groupe de balises textuelles . 47
11.2.4.5 Quantités . 48
11.2.5 Exceptions . 48
11.2.5.1 Inclusions . 48
11.2.5.2 Exclusions . 48
11.3 Déclaration de liste de définitions d’attributs . 49
11.3.1 Quantités . 49
11.3.2 Nom d’attribut . 49
11.3.3 Valeur déclarée . 49
11.3.4 Valeur par défaut . 49
11.3.4.1 Quantités . 50
11.3.4.2 Capacités . 50
11.4 Déclaration de notation . 50
11.4.1 Attributs du texte . 50
11.4.1.1 Nom de notation associé . 50
11.4.1.2 Spécification d’attribut du texte . 50
11.5 Déclaration d’assignation d’appel abrégé . 50
11.6 Déclaration d’utilisation d’appel abrégé . 51
11.6.1 Utilisation dans une déclaration de type de document 51
11.6.2 Utilisation dans une instance de document . 51
11.6.3 Table de correspondance active . 51
iv
ISO 8879-l 986(F)
12 Déclarations de balisage : Definition de processus de liens . 51
12.1 Déclaration de type de lien .
12.1.1 Spécification de lien simple . 52
12.1.1.1 Limites. .
12.1.2 Spécification de lien implicite . 52
12.1.3 Spécification de lien explicite . 52
12.1.3.1 Limites. 52
...........................
12.1.4 Sous-ensemble de déclaration de type de lien . 52
12.1.4.1 Entités 52
............................
12.1.4.2 Attribut de lien .
12.1.4.3 Lien simple . 52
12.2 Déclaration d’ensemble de liens 53
.....................
12.2.1 Spécification d’élément source .
12.2.2 Règle de liaison explicite .
12.2.3 Déclaration d’ensemble de liens ID . 54
12.3 Déclaration d’utilisation d’ensembles de liens . 54
12.4 Ensemble de liens en cours . 54
13 Déclaration SGML 54
....................................
13.1 Jeu de caractères du document 55
.....................
13.1 .l Description de jeu de caractères 55
..............
13.1 .l .l Jeu de caractères de base . 55
13.1.1.2 Portion de jeu de caractères décrite . 55
13.1.2 Identification de caractères non-SGML . 56
13.2 Ensemble de capacités 56
...........................
13.3 Portée de la syntaxe concrète 56
......................
13.4 Syntaxe concrète 57
...............................
13.4.1 Syntaxe concrète publique . 57
13.4.2 Identification de numéro de caractère esquivé . 58
13.4.3 Jeu de caractères de référence de la syntaxe . 58
13.4.4 Identification de caractère de fonction 58
...........
13.4.5 Règles de désignation . 58
13.4.6 Jeu de délimiteurs . 59
13.4.6.1 Délimiteurs généraux . 59
13.4.6.2 Délimiteurs d’appel abrégé . 59
13.4.7 Usage de noms réservés 60
....................
13.4.8 Ensemble de quantités 60
.....................
13.5 Utilisation des fonctionnalités 61
.......................
13.5.1 Fonctionnalités de minimisation du balisage . 61
13.5.2 Fonctionnalités type de lien . 61
13.5.3 Autres fonctionnalités . 61
13.6 Information spécifique à l’application . 61
14 Syntaxe concréte de référence et syntaxe concrète minimale . . . 61
15 Conformité . 62
15.1 Document conforme SGML
........................ 62
15.1.1 Document SGML de base . 62
15.1.2 Document SGML minimal . 62
15.1.3 Variante de document conforme SGML . 62
15.2 Application conforme SGML 62
........................
15.2.1 Conventions d’application
................... 63
15.2.2 Conformité des documents
.................. 63
15.2.3 Conformité de la documentation . 63
15.3 Système conforme SGML 63
.........................
15.3.1 Conformité de la documentation . 63
15.3.2 Conformité par rapport à la déclaration de système . 63
15.3.3 Gestion de la syntaxe concrète de référence
..... 63
15.3.4 Gestion de l’ensemble des capacités de référence . . 63
V
ISO 8879-l 986(F)
15.3.5 Cohérence du parsing . 63
................... 64
15.3.6 Conventions d’application
15.4 Parser SGML de validation . 64
15.4.1 Reconnaissance d’erreur . 64
15.4.2 Identification des messages SGML . 65
............... 65
15.4.3 Contenu des messages SGML
...............
15.5 Exigences concernant la documentation 65
15.5.1 Identification de la norme . 65
15.5.2 Identification de structures SGML . 65
15.5.3 Terminologie . 65
15.5.4 Variante de la syntaxe concrète . 65
15.6 Déclaration de système . 65
15.6.1 Syntaxes concrètes acceptées . 66
15.6.1.1 Changements dans la syntaxe concrète . 66
15.6.2 Services de validation . 66
.......................... 67
15.6.3 Gestion de SDIF
Annexes
A Introduction au balisage généralisé . . . . . . . . . . . . . . . . . . . . . . . 68
A.1 Le balisage . 68
A.2 Le balisage descriptif . 69
A.3 Balisage rigoureux . 71
A.4 Conclusion . 74
A.5 Remerciements . 74
A.6 Bibliographie . 75
B Conceptsdebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
B.l Documents, définitions de types de documents et procédures 76
B.1 .l Documents . 76
8.1.2 Définitions de types de documents . 76
B.1.3 Procédures . 77
8.2 Balisage . 77
B.3 Distinguer le balisage du texte . 78
B.3.1 Balises descriptives . 78
B.3.2 Autre balisage . 79
8.3.3 Limites d’enregistrement . 80
B.3.3.1 Limites d’enregistrement dans les données . 80
B.3.3.2 Limites d’enregistrements dans le balisage . 80
B.4 Structure du document . 80
B.4.1 Définitions de types de document . 81
8.4.2 Déclarations d’éléments . 81
8.4.2.1 Modèles de contenu . 81
B.4.2.2 Connecteurs et symboles d’occurrence . 82
B.4.2.3 Appels d’entités dans les modèles . 83
8.4.2.4 Groupes de noms . 83
B.4.2.5 Caractères du texte . 83
8.4.2.6 Contenu vide . 84
8.4.2.7 Données non-SGML . 84
B.4.2.8 Résumé des délimiteurs de modèle . 84
...................................
B.5 Attributs . . . 85
B.5.1 La spécification des attributs . 85
B.5.1.1 Noms . 85
8.5.1.2 Valeurs d’attributs . 85
.....................
B.5.2 Déclaration des attributs 86
B.5.2.1 Syntaxe des définitions d’attributs . 86
vi
ISO 8879-l 986(F)
B.5.2.2 Valeurs d’attributs complexes . 87
B.5.2.3 Groupe d’unités lexicales nominales . 88
B.5.2.4 Changer les valeurs par défaut . 88
B.6 Entités . 88
B.6.1 Syntaxe pour les appels d’entités . 88
8.6.2 Déclaration d’entités . 89
B.6.2.1 Instructions de traitement . 90
B.6.2.2 Entités contenant des appels d’entités . 90
B.6.2.3 Entités externes .
8.6.2.4 Entités publiques .
8.7 Caractères . 91
8.7.1 Classification de caractères . 91
B.7.2 Appels de caractères 92
.......................
.... 93
B.7.3 Caractères délimiteurs utilisés comme données
8.8 Sections marquées . 94
B.8.1 Ignorer une section marquée . 94
8.8.2 Versions d’un document unique 95
...............
B.8.3 Sections protégées du parsing
................ 95
B.8.4 Sections temporaires . 96
B.8.5 Spécification de mot-clé . 96
B.8.6 Définition d’une section marquée en tant qu’entité . . 96
B.9 Attributs
B.10 Attributs d’appel de contenu 97
.......................
B.11 Exceptions au modèle de contenu
................... 98
B.11 .l Éléments inclus . 98
BAI.2 Éléments exclus . 98
B.12 Déclaration de type de document . 99
B.13 Contenu textuel . 99
B.13.1 Représentations du contenu textuel . . . . . . . . . . . . 100
B.13.1.1 Données textuelles (PCDATA, CDATA et
RCDATA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .lOO
8.13.1.2 Données non-SGML (NDATA) . . . . . . . . . . . 100
8.13.2 Notations de contenu textuel . . . . . . . . . . . . . . . . . 1 OI
B.13.2.1 Notations pour les données textuelles . . . . . 1 OI
B.13.2.2 Notation de données non-SGML . . . . . . . . . 102
B.13.2.3 La spécification des notations de
contenu textuel
............................. 102
B.14 Personnalisation . 103
B.14.1 La déclaration SGML 103
......................
B.14.1.1 Fonctionnalités optionnelles 103
.............
8.14.1.2 Variante de la syntaxe concrète . 103
B.14.2 Impact de la personnalisation
................ 104
B.15 Conformité 104
....................................
C Concepts complémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
C.l Fonctionnalités de minimisation du balisage . 105
Cl.1 SHORTTAG : Balises avec omission de balisage . 106
C.l.1.1 Balises abrégées non fermées . 106
C.1.1.2 Balises vides . 106
C.1.1.3 Minimisation des attributs
............... 106
C.1.2 OMITTAG : Les balises peuvent être omises
...... 107
C.1.2.1 Principes de l’omission de balisage . 107
C.1.2.2 Indication de la minimisation . 108
C.1.2.3 Omission de balise de fin : intrusion d’une
balise de début 109
............................
C.1.2.4 Omission de balise de fin : Balise de fin d’un
élément englobant . - . . . . . . . . . . . . . . . . . . . . . . . . 109
vii
ISO 8879=1986(F)
C.1.2.5 Omission de balise de début : élément
obligatoire d’après le contexte . . . . . . . . . . . . . . . . . . 109
C.1.2.6 Combinaison avec la minimisation
par abréviation de balises . . . . . . . . . . . . . . . . . . . . . 110
C.1.2.7 Considérations de minimisation du balisage . . 110
C.1.3 SHORTREF : Les délimiteurs d’appels abrégés
peuvent remplacer des appels d’entités complets . . . . . . . . 110
C.1.3.1 Frappe au clavier : WYSIWYG généralisé . . . 111
C.1.3.2 Exemple de saisie clavier : définition d’une
table de correspondance d’appels abrégés . . . . . . . . . II 1
C.1.3.3 Exemple de saisie clavier : activation d’une
table de correspondance d’appel abrégé . . . . . . . . . . 112
C.1.3.4 Exemple de tableau . . . . . . . . . . . . . . . . . . . 113
C.1.3.5 Exigences particulières . . . . . . . . . . . . . . . . . 114
C.1.4 DATATAG : Les données peuvent également
constituer une balise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
C.1.5 RANK : les niveaux peuvent être omis des balises . . 117
C.2 Fonctionnalités LINK : SIMPLE, IMPLICIT et EXPLICIT . . . . 118
C.2.1 Définitions de processus de lien . . . . . . . . . . . . . . . 118
C.3 Autres fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II 8
C.3.1 CONCUR : Des instances de document peuvent
apparaître de façon concurrente . . . . . . . . . . . . . . . . . . . . 119
C.3.2 SUBDOC : Des entités sous-documents imbriqués
peuvent apparaître . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
C.3.3 FORMAL : Les identificateurs publics sont formels . . 120
D Texte public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
D.1 Jeux d’éléments 121
.................................
D.l.l Types d’éléments communs
.................. 121
D.1.2 Types d’éléments pro forma
.................. 121
0.2 Notations de contenu textuel
........................
D.3 Variantes de la syntaxe concrète
.....................
D.3.1 Syntaxes concrètes multicodes
................ 122
D.4 Jeux d’entités
................................... 122
D.4.1 Considérations générales
.................... 123
0.4.1.1 Format des déclarations
................ 123
19.4.1.2 Jeux d’entités affichables correspondants . 124
D.4.1.3 Noms d’entités 124
.......................
D.4.1.4 Organisation des jeux d’entités
........... 125
D.4.2 Caractères alphabétiques
.................... 125
D.4.2.1 Alphabet latin 125
........................
D.4.2.2 Caractères de l’alphabet grec 128
............
D.4.2.3 Caractères de l’alphabet cyrillique
......... 130
D.4.3 Usage général
............................
D.4.3.1 Caractères graphiques numériques et
spécialisés 132
................................
D.4.3.2 Caractères diacritiques 133
.................
D.4.3.3 Caractères utilisés dans l’édition
.......... 133
D.4.3.4 Caractères utilisés pour le dessin d’encadrés
et de lignes
...............................
D.4.4 Usage technique
..........................
0.4.4.1 Général 137
............................
D.4.4.2 Symboles grecs
...................... 138
0.4.4.3 Autres symboles grecs
................. 139
D.4.5 Symboles mathématiques supplémentaires
....... 139
D.4.5.1 Symboles ordinaires
................... 139
D.4.5.2 Opérateurs binaires et de grande taille
...... 140
D.4.5.3 Relations
........................... 141
. . .
VIII
ISO 8879-l 986(F)
D.4.5.4 Négations . 143
D.4.5.5 Flèches .
. 1 . 145
D.4.5.6 Délimiteurs ouvrant et fermant
E Exemples d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
E.1 Définition de type de document . 146
E.2 Computer Graphies Metafile . 149
...... 149
E.3 Extension de codes indépendante de la configuration
E.3.1 Fonctionnalités d’extension de codes .
E.3.1 .l Éviter des erreurs de reconnaissance de
délimiteurs . 151
E.3.1.2 Élimination des dépendances vis-à-vis de la
configuration et des codes . 153
F Considérations relatives à l’implémentation . . . . . . . . . . . . . . . . . 154
F.1 Un modèle de parsing SGML .
FA.1 Entrée physique . 154
F.l.l.l Entités . 154
F.1.1.2 Limites d’enregistrement . 154
F.1.2 Modes de reconnaissance . 154
F.1.3 Minimisation du balisage . 155
FA.4 Traduction . 156
F.1.5 Analogie avec un langage de programmation . 156
F.2 Initialisation . 156
F.2.1 Assignation de procédure initiale . 156
F.2.2 Spécification de processus de lien . 156
F.2.3 Instances de document concurrentes . 157
F.3 Assignation de procédure dynamique . 157
F.4 Traitement des erreurs .
G Classification de conformité et certification . . . . . . . . . . . . . . . . . 158
G.1 Code de classification . 158
G.1.1 Code de fonctionnalité . 158
G.1.2 Code de validation .
G.1.3 Code de syntaxe . 160
G.2 Considérations de certification .
. . . . . . . . . . . . . . . 161
H Base théorique du modéle de contenu SGML
H.l Notation de groupe modèle .
H.2 Application de la théorie des automates . 161
H.3 Différence par rapport à la théorie des automates . 162
I Variantes non conformes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
1.1 Identificateurs génériques de longueur fixe . 163
1.2 Délimiteur unique . 163
ix
ISO 8879-l 986(F)
Figures
Classes de caractères : Syntaxe abstraite . . . . . . . . . . . . . . . . . .
Classes de caractères : Syntaxe concrète . . . . . . . . . . . . . . . . . .
Ensemble des délimiteurs de référence : Général . . . . . . . . . . . . 36
Ensemble des délimiteurs de référence : Appels abrégés . . . . . . . 38
Ensemble des capacités de référence . . . . . . . . . . . . . . . . . . . . .
Ensemble des quantités de référence . . . . . . . . . . . . . . . . . . . . . 60
Syntaxe concrète de référence . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple-type de déclaration SGML pour un document SGML
de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Balisage d’un élément . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 79
10 Balise de début avec 2 attributs . . . . . . . . . . . . . . . . . . . . . . . . . 85
11 Syntaxe concrète de base multicode . . . . . . . . . . . . . . . . . . . . . . 123
12 Graphies Metafile Attributes (1 sur 2) : Encodage et vue . . . . . . . 150
13 Graphies Metafile Attributes (2 sur 2) : Taille et rotation . . . . . . . . 152
14 Caractères de fonction pour syntaxes concrètes multicode
indépendantes de la configuration . . . . . . . . . . . . . . . . . . . . . . . . 153
15 Classification de conformité FSV . . . . . . . . . . . . . . . . . . . . . . . . 159
NORME INTERNATIONALE
ISO 88794986 (FI
Traitement de l’information -Systèmes bureautiques - Langage normalisé de
balisage généralisé (SGML)
méthodes de traitement automatique du texte avaient
0 Introdu ction
tendance à la masquer. Avant l’automatisation de la
La présente norme internationale décrit les spécifica- composition, un secrétaire d’édition << codait >’ un
tions d’un langage de description de document nommé manuscriten y inscrivant des instructions de traitement
SGML, Standard Generaked Markup Language, soit spécifiques qui permettaient d’obtenir la présentation
<< langage normalisé de balisage généralisé a’. SGML voulue, après exécution par un compositeur. La
relation entre les instructions et la structure du docu-
peut être utilisé dans l’édition, au sens le plus général
ment n’existait que pour le secrétaire d’édition.
de ce terme, qui s’étend de l’édition traditionnelle sur
support unique jusqu’à l’édition multimédia à partir de
Cette approche s’est maintenue dans les premiers
bases de données. SGML peut également être utilisé
systèmes informatiques avec l’insertion d’un << bali-
les documents en environnement
pour traiter
sage )> déclenchant des actions particulières dans le
lorsque l’on recherche à la fois la
bureautique,
fichier document lisible par la machine. Ce balisage
possibilité de relecture par des humains et de transfert
est, lui encore, constitué d’instructions de traitement
vers des systèmes de publication.
spécifiques, mais elles ont cette fois été transcrites
dans un langage propre au programme de formatage,
0.1 Le contexte
et non plus dans celui de la personne qui compose.
Sans transformation préalable complète des codes qui
Un document peut être analysé de façon abstraite
y figurent, il est difficile de se servir du fichier en
comme une structure constituée de plusieurs types
question pour d’autres applications ou de le transférer
d’éléments. L’auteur organise son livre en le découpant
en chapitres qui contiennent des paragraphes et, le sur tout autre type d’ordinateur.
cas échéant, des illustrations qui contiennent à leur
Le développement de méthodes pour résoudre ce
tour des légendes. Le secrétaire de rédaction d’un
problème est allé de pair avec la progression du degré
magazine le structure en articles, qui contiennent des
d’expertise acquise par les utilisateurs et la montée en
paragraphes contenant eux-mêmes des mots, etc.
puissance des traitements de texte. Les << appels
macros >>, ou > ont été utilisés
Les programmes prennent en compte ces éléments de
pour identifier les endroits d’un document qui doivent
différentes façons. On peut avoir recours à un
être soumis à un traitement particulier dans un docu-
programme de formatage pour mettre en valeur les
ment. Les instructions de traitement proprement dites
titres avec un type de caractères approprié, aérer les
étaient stockées à l’extérieur du document, dans des
paragraphes en laissant du blanc, révéler au lecteur
<< procédures >’ (ou
par toute une série de procédés visuels la structure du « définitions de macro >), ou
<< formats stockés »), où elles pouvaient être plus
document ou d’autres attributs. On peut envisager
facilement modifiées.
d’attribuer aux mots d’un titre, à l’aide d’un programme
de recherche documentaire, une signification
Bien que les macros puissent être appelées n’importe
supplémentaire au moment de la création d’un lexique.
où dans le document, les utilisateurs s’aperçurent que
la plupart d’entre elles étaient placées au début ou à la
La relation entre les attributs d’un document et son
fin de certains éléments du document. II parut donc
traitement automatique semble aujourd’hui aller de soi,
naturel de choisir des noms de macros qui identifiaient
mais il n’en a pas toujours été ainsi ; les premières
0.1 Le contexte
ISO 8879=1986(F)
NOTE - On trouvera une introduction plus détaillée aux
les classes d’éléments de façon générique, plutôt que
concepts de codage générique et au langage normalisé de
des noms invoquant un traitement particulier (par
balisage généralisé dans l’annexe A.
exemple, << titre >> plutôt que << format-17 >B) ; c’est ainsi
que l’on commença à pratiquer le <( codage généri-
0.2 Objectifs
que >> (ou << balisage généralisé +
Le Langage normalisé de balisage généralisé norma-
Le codage générique a constitué une étape décisive
lise l’application des concepts de codage générique et
dans. l’élaboration de systèmes de traitement automa-
de balisage généralisé. II fournit une syntaxe cohérente
tisé du texte reflétant la relation naturelle qui unit les
et non ambiguë pour décrire tout ce qu’un utilisateur
attributs d’un document et leur traitement. L’apparition,
choisit d’identifier à l’intérieur d’un document. Le
au début des années 1970, des << langages de bali-
langage comprend :
‘1 a renforcé cette tendance en fournis-
sage généralisé
sant au codage générique le fondement d’un langage
-
une << syntaxe abstraite ‘> pour le balisage descriptif
formel. Un langage de balisage généralisé respecte
des éléments d’un document.
deux principes fondamentaux :
- une << syntaxe concrète de référence ‘> qui relie la
Le balisage descriptif est prédominant, et il se
a>
syntaxe abstraite à des caractères particuliers servant
distingue des instructions de traitement.
de délimiteurs et à des quantités. Les utilisateurs
peuvent définir d’autres syntaxes concrètes pour
Le balisage descriptif comprend à la fois des
répondre à leurs propres besoins.
identificateurs génériques et d’autres attributs
d’éléments du document qui déclenchent les
-des déclarations de balisage permettant à l’utilisateur
instructions de traitement. Les instructions de
de définir un vocabulaire spécifique d’identificateurs
traitement, qui peuvent être écrites dans n’im-
génériques et d’attributs pour différents types de
porte quel langage, sont généralement stockées
documents.
à l’extérieur du document, dans des procédures.
- des moyens d’utiliser des contenus textuels
En examinant le fichier source pour analyser le
arbitraires. Dans le balisage généralisé, on appelle
balisage et en reconnaître les différents élé-
tout ce qui n’est pas défini par le langage
ments, le système de traitement exécute les
de balisage. II peut s’agir de c< notations de contenu
procédures associées à chaque élément et à
textuel 1’ nécessitant une interprétation différente de
chaque attribut pour ce traitement. D’autres
celle du texte général : formules, illustrations,
traitements sont possibles : des procédures
alphabets non latins, texte déjà formaté, ou
différentes peuvent être associées aux mêmes
graphiques.
éléments et attributs sans modifier le balisage
du document.
- des appels d’entités : il s’agit d’une technique
indépendante du système utilisé qui permet d’appeler
Lorsqu’on doit entrer directement une instruction
des contenus situés à l’extérieur du corps du docu-
de traitement dans un document, il faut la déli-
ment, comme des chapitres séparés, des polices
miter d’une autre manière que le balisage des-
casseau, des photographies, etc.
criptif de façon à en faciliter la localisation et la
modification pour d’autres traitements.
-des délimiteurs particuliers encadrant les instructions
de traitement, qui servent à les distinguer du balisage
Le balisage est défini formellement pour chaque
b)
descriptif. Les instructions de traitement peuvent être
type de document.
introduites dans les cas qui ne peuvent être traités par
les procédures, mais elles peuvent alors être facile-
Un langage de balisage généralisé formalise le
ment retrouvées voire modifiées ultérieurement au
balisage d’un document en incorporant des
moment d’envoyer le document vers un système de
<< définitions de type de document >Y Les défini-
traitement différent.
tions de type (de document) spécifient (comme
les grammaires formelles) les éléments et les
Mais pour qu’un langage de balisage généralisé puisse
attributs qui peuvent se trouver dans un docu-
être accepté comme norme, il faut qu’il possède plus
ment et l’ordre dans lequel ils peuvent apparai-
que les fonctionnalités strictement indispensables. II
tre. Cette information permet de déterminer si le
doit être doté de propriétés métalinguistiques, afin de
balisage d’un document donné est correct (c’est-
pouvoir être utilisé dans de multiples environnements.
à-dire correspond à la définition de type de
Voici résumées les exigences les plus i
mportantes
document) ainsi que de compléter le balisage
,auxquelles SGML doit pouvoir répondre, et
les moyens
manquant, celui-ci pouvant en effet être déduit
mis en œuvre pour y parvenir :
sans ambiguïté des balises présentes.
0 n traduction
ISO 8879-I 986(F)
Les documents
a)
doivent pouvoir être traités par un grand nombre
Les appels à des parties externes à un docu-
de systèmes et de logiciels de traitement de
ment sont exprimés de façon indirecte. Les
texte.
correspondances avec les dispositifs de stoc-
La forme complète du langage, munie de toutes kage des systèmes existants s’expriment par
ces fonctionnalités optionnelles, offre un degré des << déclarations d’entités externes ‘3 qui
de généralité et de flexibilité qui lui permet d’être apparaissent au début du document, là où elles
.
exploitée par des systèmes sophistiqués ; il peuvent être facilement modifiées lors des
n’est pas nécessaire que des systèmes moins échanges.
puissants soient dotés de toutes ces fonctionna-
La syntaxe concrète peut être modifiée dans la
lités. Pour faciliter l’échange entre systèmes dif-
déclaration SGML afin de pouvoir s’accorder
férents, une <( déclaration SGML ‘> décrit chaque
avec l’ensemble des caractères réservés de
fonctionnalité de balisage ou toutes les variantes
n’importe quel système.
par rapport à la syntaxe concrète utilisée dans
un document.
Rien ne doit être lié à une langue particulière.
e>
Le parc installé de plusieurs millions de sys-
b)
Les caractères disponibles pour les noms peu-
tèmes de saisie de texte doit pouvoir continuer
vent s’enrichir des caractères qui sont spécifi-
à être utilisé.
ques à une langue particulière. Les identifica-
teurs génériques, les noms d’attributs et les
Les documents SGML, munis de leur syntaxe
autres noms utilisés dans le balisage descriptif
concrète de référence, peuvent facilement être
sont définis par l’utilisateur dans les déclarations
saisis et compris par tous, sans l’assistance
d’éléments et d’entités.
d’une machine. Par conséquent :
Les noms de déclarations et les mots clés
- II n’est pas nécessaire d’attendre que naisse
utilisés dans les déclarations de balisage peu-
et que soit acceptée une nouvelle génération de
vent également être modifiés.
matériels pour utiliser SGML - on peut se
contenter des logiciels de traitement de docu-
Les répertoires de caractères multiples comme
ments sur les machines existantes.
ceux utilisés dans les documents multilingues
- La migration vers cette nouvelle génération de sont autorisés.
matériel (quand viendra son heure) sera d’autant
Le langage doit s’accorder avec les conventions
plus facile que les utilisateurs se seront déjà f 1
habituelles utilisées en dactylographie et en
familiarisés avec SGML.
traitement de texte.
II ne doit pas y avoir la moindre dépendance par
c)
Les <( appels abrégés >B et les << balises tex-
rapport à un jeu de caractères spécifique, étant
tuelles ” peuvent être tapés sur un clavier
donné que les documents doivent pouvoir être
normal de machine à écrire ou d’ordinateur. Un
tapés sur des machines différentes.
texte courant contenant des paragraphes et des
Le langage ne dépend d’aucun jeu de caractè- citations peut être interprété comme texte SGML
bien qu’il puisse être saisi sans aucun balisage
res spécifique. Tout jeu de caractères qui utilise
explicite.
des combinaisons d’éléments binaires pour
représenter les lettres, les chiffres, les espaces
Le langage doit être indépendant du flux de
et les délimiteurs est admis. 9>
données ou de l’organisation physique des
fichiers.
II ne doit pas y avoir la moindre dépendance par
d)
rapport à un logiciel, à un système ou à un
Le langage de balisage possède un modèle de
matériel donnés.
stockage virtuel dans lequel les documents sont
Le balisage généralisé est avant tout descriptif formés d’une ou de plusieurs entités de stocka-
ge, chacune étant faite d’une séquenc.e de
et donc par essence non soumis à de telles
caractères. Tout accès réel à un fichier est
dépendances. S’il faut insérer de temps en
temps une instruction de traitement spécifique, effectué par le système de traitement, qui peut
décider si la séquence de caractères doit être
on veillera à la placer entre des délimiteurs de
considérée comme continue, ou si elle doit
façon à ce que l’on puisse aisément la retrouver
refléter les limites physiques des enre-
et la convertir lors d’un échange, ou pour le cas
gistrements.
où un traitement différent rendrait cette instruc-
0.2 Objectifs
ISO 8879-l 986(F)
Les instructions de traitement sont présentées
Le texte << balisé >> doit coexister avec d’autres
h)
dans la clause 8.
données.
Un système de traitement. peut autoriser la Les techniques de balisage courant, comme les
présence de texte conforme à cette norme caractères, les appels d’entités et les instruc-
tions de traitement, sont présentées à la clause
internationale dans un flux de données, en
même temps que d’autres informations, à condi- 9 .
tion que le système soit capable de détecter le
Les déclarations de balisage et leurs conditions
début et la fin du texte conforme.
générales d’application (commentaire, entité et
section marquée) sont spécifiées par la clause
De la même façon, un système peut permettre
à du contenu textuel non défini par SGML 10.
d’apparaître logiquement à l’intérieur d’un docu-
Les déclarations de balisage qui sont utilisées
ment conforme à la norme. L’occurrence de ces
en premier lieu pour spécifier les définitions de
données est indiquée par des déclarations de
type de document (type de document, élément,
balisage afin de faciliter l’échange.
notation, table de correspondance d’appels
abrégés et utilisation d’appels abrégés) sont
Le balisage doit pouvoir être utilisé à la fois par
définies à la clause 11.
l’homme et par la machine.
Les déclarations de balisage qui sont utilisées
SGML est conçu comme une interface adaptée
en premier lieu pour spécifier les définitions de
à la saisie et à l’échange des textes sans dispo-
processus de lien (types de liens, attributs de
ser d’un préprocesseur. L’utilisateur dispose de
liens, ensembles de liens et utilisation d’ensem-
nombreuses possibilités d’adapter SGML à ses
bles de liens) sont définies à la clause 12.
conventions propres de saisie du texte ainsi qu’à
une grande variété de claviers et d’écrans.
La déclaration SGML, qui spécifie le jeu de
Cependant, il est un fait que de nombreux caractères du document, l’ensemble des capaci-
fabricants de systèmes voudront tirer parti des tés, la syntaxe concrète et les fonctionnalités,
possibilités du langage en matière de saisie de est définie à la clause 13.
données pour fournir un outil d’édition intelligent
La syntaxe concrète de référence est définie à
ou pour créer des documents SGML à
...
Norme internationale
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION.MEXflYHAPOfiHAR OPI-AHM3ALWlR Il0 CTAHflAPTM3AUMM~ORGANISATiON INTERNATIONALE DE NORMALISATION
Traitement de l’information - Systèmes bureautiques -
Langage normalisé de balisage généralisé (SGML)
Information processing - Text and office systems - Standard Generalized Markup Language (SGML)
Première édition - 1986-10-15
(incorporant I’Amendement 1 : 1988)
Réf. no:ISO8879-1986 (FI
CDU 681.3.06:655.53
Descripteurs : traitement de l’information, traitement de textes, échange d’information, documentation, document, structure logique,
programmation des calculateurs, langage artificiel, langage de programmation, SGML.
Prix basé sur 164 pages
Avant-propos
L’ISO (Organisation internationale de normalisation) est une fédération mondiale
d’organismes nationaux de normalisation (comités membres de I’ISO). L’élaboration
des Normes internationales est confiée aux comités techniques de I’ISO. Chaque
comité membre intéressé par une étude a le droit de faire partie du comité technique
créé à cet effet. Les organisations internationales, gouvernementales et non gouverne-
mentales, en liaison avec I’ISO, participent également aux travaux.
Les projets de Normes internationales adoptés par les comités techniques sont soumis
aux comités membres pour approbation, avant leur acceptation comme Normes inter-
nationales par le Conseil de I’ISO. Les Normes internationales sont approuvées confor-
mément aux procédures de I’ISO qui requièrent l’approbation de 75 % au moins des
comités membres votants.
La Norme internationale ISO 8879 a été élaborée par le comité technique ISO/TC 97,
Systèmes de traitement de l’information. Cette version francaise incorpore I’Amende-
ment 1 qui a été publié séparément en anglais en 1988. ’
L’attention des utilisateurs est attirée sur le fait que toutes les Normes internationales
sont de temps en temps soumises à révision et que toute référence faite à une autre
Norme internationale dans le présent document implique qu’il s’agit, sauf indication
contraire, de la dernière édition.
0 Organisation internationale de normalisation, 1986 et 1990 0
Version francaise tirée en 1990
Imprimé en Suisse
Page blanche
ISO 8879-I 986(F)
Table des matières
0 Introduction . 1
0.1 Le contexte .
0.2 Objectifs .
0.3 Organisation . 4
1 Objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . .* . . . . . . . . . . . . . . . 4
2 Domaine d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Références . . . . .D. 5
4 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Notation
............................................ 23
5.1 Unités lexicales syntaxiques
........................ 23
5.2 Symboles d’ordre et de choix
........................ 23
6 Structuration en entités 23
................................
6.1 Document SGML
................................ 23
6.2 Entités SGML
................................... 24
6.3 Séparateur S
................................... 24
6.4 Fin d’entité 24
.....................................
6.5 Déclaration SGML déduite 24
..........................
6.6 Entités textuelles 24
................................
7 Structuration en Mments
............................... 25
7.1 Prologue 25
......................................
7.2 Élément document 25
...............................
7.2.1 Limites 25
..................................
7.3 Élément 25
.......................................
7.3.1 Minimisation par omission de balises
............ 25
7.3.1 .l Omission d’une balise de début . 25
7.3.1.2 Omission d’une balise de fin . 26
7.3.2 Minimisation du balisage par le texte
............ 26
7.3.3 Quantités . 26
7.4 Balise de début
................................. 26
7.4.1 Minimisation 26
..............................
7.4.1.1 Balise de début vide 26
...................
7.4.1.2 Balise de début non fermée
............. 27
7.4.1.3 Balise de début autorisant une balise de fin
nulle . 27
7.4.2 Quantités 27
7.5 Balise de fin 27
....................................
7.5.1 Minimisation
.............................. 27
7.5.1.1 Balise de fin vide
..................... 27
7.5.1.2 Balise de fin non fermée . 27
7.5.1.3 Balise de fin nulle 27
.....................
7.6 Contenu
....................................... 28
7.6.1 Limites d’enregistrement
..................... 28
7.7 Spécification de type de document . 29
7.8 Spécification de l’identificateur générique (IG) . 29
7.8.1 Fonctionnalité niveau 29
.......................
7.8.1.1 Identificateur générique complet
.......... 29
ISO 8879-l 986(F)
7.8.1.2 Radical de niveau . 29
7.9 Liste de spécifications d’attributs . 29
7.9.1 Minimisation . 29
7.9.1.1 Omission de la spécification d’attribut . 29
7.9.1.2 Omission du nom d’attribut . 30
7.9.2 Quantités . 30
7.9.3 Spécification de valeur d’attribut . 30
7.9.3.1 Minimisation . 30
7.9.4 Valeur d’attribut . 30
7.9.4.1 Exigences syntaxiques . 30
7.9.4.2 Attribut fixé . 30
7.9.4.3 Nom d’entité générale . 31
7.9.4.4 Notation . 31
7.9.5 Quantités . 31
8 Instructions de traitement . 31
8.1 Quantités . 31
9 Structures communes . 31
9.1 Données textuelles remplaçables . 31
9.2 Données textuelles . 32
9.2.1 Caractère SGML . 32
9.2.2 Caractère de fonction . 32
9.3 Nom . 32
9.3.1 Quantités . 32
9.4 Appels d’entité . 32
9.4.1 Quantités . 33
9.4.2 Limites . 33
9.4.3 Appels d’entités obscurs . 33
9.4.4 Appel d’entité désignée . 33
9.4.4.1 Déclaration d’entité applicable . 33
9.4.5 Fin d’appel . 34
9.4.6 Appels abrégés . 34
9.4.6.1 Chaîne de référence équivalente . 34
9.5 Appel de caractère . 35
9.6 Reconnaissance des délimiteurs . 35
9.6.1 Modes de reconnaissance . 35
9.6.2 Contraintes liées au contexte . 36
9.6.3 Ordre de reconnaissance . 37
9.6.4 Délimiteurs commençant par le même caractère . 37
9.6.5 Appels abrégés avec séquences de blancs . 37
9.6.5.1 Quantités . 37
9.6.6 Caractères constitutifs de noms . 37
9.7 Suppression du balisage . 37
9.8 Capacité . 37
10 Déclarations de balisage : généralités . 38
10.1 Parties de la déclaration . 39
10.1 .l Séparateur de paramètre . 39
10.1.2 Quantités . 39
10.1.3 Groupe . 39
10.1.3.1 Quantités . 39
10.1.4 Séparateur de déclarations . 39
10.1.5 Type d’élément associé . 40
10.1.6 Identificateur externe . 40
10.1.6.1 Quantités . 40
.........................
10.1.6.2 Capacités 40
10.1.7 Contenu littéral minimum . 40
10.1.7.1 Quantités . 40
. . .
III
ISO 8879-l 986(F)
10.2 Identificateur public formel . 40
10.2.1 Identificateur de dépositaire . 40
10.2.1 .l Identificateur de dépositaire ISO . 41
10.2.1.2 Identificateur de dépositaire enregistré . 41
10.2.1.3 Identificateur de dépositaire non enregistré . 41
10.2.2 Identificateur de texte . 41
10.2.2.1 Classe de texte public . 41
10.2.2.2 Description de texte public . 41
10.2.2.3 Langue du texte public . 41
10.2.2.4 Séquence de désignation de texte public . 42
10.2.2.5 Version affichée de texte public . 42
10.3 Déclaration de commentaire . 42
10.4 Déclaration de section marquée . 42
10.4.1 Quantités . 42
10.4.2 Spécification de mot-clé de statut . 42
10.5 Déclaration d’entité . 43
10.5.1 Nom d’entité . 43
10.5.1.1 Quantités . 43
10.5.1.2 Capacités . 43
10.5.2 Texte d’entité . 43
10.5.3 Texte brut . 44
10.5.4 Texte entre crochets . 44
10.5.4.1 Quantités . 44
10.5.5 Spécification d’entité externe . 44
11 Déclarations de balisage : Définition de type de document . 45
11.1 Déclaration de type de document . 45
II .2 Déclaration d’élément . 45
11.2.1 Type d’élément . 45
II .2.1 .I Élément hiérarchisé . 45
..........................
11.2.1.2 Quantités 46
11.2.2 Minimisation par omission de balises . 46
11.2.3 Contenu déclaré . 46
11.2.4 Modèle de contenu . 46
11.2.4.1 Connecteur . 47
11.2.4.2 Symbole d’occurrence . 47
11.2.4.3 Modèle de contenu ambigu . 47
11.2.4.4 Groupe de balises textuelles . 47
11.2.4.5 Quantités . 48
11.2.5 Exceptions . 48
11.2.5.1 Inclusions . 48
11.2.5.2 Exclusions . 48
11.3 Déclaration de liste de définitions d’attributs . 49
11.3.1 Quantités . 49
11.3.2 Nom d’attribut . 49
11.3.3 Valeur déclarée . 49
11.3.4 Valeur par défaut . 49
11.3.4.1 Quantités . 50
11.3.4.2 Capacités . 50
11.4 Déclaration de notation . 50
11.4.1 Attributs du texte . 50
11.4.1.1 Nom de notation associé . 50
11.4.1.2 Spécification d’attribut du texte . 50
11.5 Déclaration d’assignation d’appel abrégé . 50
11.6 Déclaration d’utilisation d’appel abrégé . 51
11.6.1 Utilisation dans une déclaration de type de document 51
11.6.2 Utilisation dans une instance de document . 51
11.6.3 Table de correspondance active . 51
iv
ISO 8879-l 986(F)
12 Déclarations de balisage : Definition de processus de liens . 51
12.1 Déclaration de type de lien .
12.1.1 Spécification de lien simple . 52
12.1.1.1 Limites. .
12.1.2 Spécification de lien implicite . 52
12.1.3 Spécification de lien explicite . 52
12.1.3.1 Limites. 52
...........................
12.1.4 Sous-ensemble de déclaration de type de lien . 52
12.1.4.1 Entités 52
............................
12.1.4.2 Attribut de lien .
12.1.4.3 Lien simple . 52
12.2 Déclaration d’ensemble de liens 53
.....................
12.2.1 Spécification d’élément source .
12.2.2 Règle de liaison explicite .
12.2.3 Déclaration d’ensemble de liens ID . 54
12.3 Déclaration d’utilisation d’ensembles de liens . 54
12.4 Ensemble de liens en cours . 54
13 Déclaration SGML 54
....................................
13.1 Jeu de caractères du document 55
.....................
13.1 .l Description de jeu de caractères 55
..............
13.1 .l .l Jeu de caractères de base . 55
13.1.1.2 Portion de jeu de caractères décrite . 55
13.1.2 Identification de caractères non-SGML . 56
13.2 Ensemble de capacités 56
...........................
13.3 Portée de la syntaxe concrète 56
......................
13.4 Syntaxe concrète 57
...............................
13.4.1 Syntaxe concrète publique . 57
13.4.2 Identification de numéro de caractère esquivé . 58
13.4.3 Jeu de caractères de référence de la syntaxe . 58
13.4.4 Identification de caractère de fonction 58
...........
13.4.5 Règles de désignation . 58
13.4.6 Jeu de délimiteurs . 59
13.4.6.1 Délimiteurs généraux . 59
13.4.6.2 Délimiteurs d’appel abrégé . 59
13.4.7 Usage de noms réservés 60
....................
13.4.8 Ensemble de quantités 60
.....................
13.5 Utilisation des fonctionnalités 61
.......................
13.5.1 Fonctionnalités de minimisation du balisage . 61
13.5.2 Fonctionnalités type de lien . 61
13.5.3 Autres fonctionnalités . 61
13.6 Information spécifique à l’application . 61
14 Syntaxe concréte de référence et syntaxe concrète minimale . . . 61
15 Conformité . 62
15.1 Document conforme SGML
........................ 62
15.1.1 Document SGML de base . 62
15.1.2 Document SGML minimal . 62
15.1.3 Variante de document conforme SGML . 62
15.2 Application conforme SGML 62
........................
15.2.1 Conventions d’application
................... 63
15.2.2 Conformité des documents
.................. 63
15.2.3 Conformité de la documentation . 63
15.3 Système conforme SGML 63
.........................
15.3.1 Conformité de la documentation . 63
15.3.2 Conformité par rapport à la déclaration de système . 63
15.3.3 Gestion de la syntaxe concrète de référence
..... 63
15.3.4 Gestion de l’ensemble des capacités de référence . . 63
V
ISO 8879-l 986(F)
15.3.5 Cohérence du parsing . 63
................... 64
15.3.6 Conventions d’application
15.4 Parser SGML de validation . 64
15.4.1 Reconnaissance d’erreur . 64
15.4.2 Identification des messages SGML . 65
............... 65
15.4.3 Contenu des messages SGML
...............
15.5 Exigences concernant la documentation 65
15.5.1 Identification de la norme . 65
15.5.2 Identification de structures SGML . 65
15.5.3 Terminologie . 65
15.5.4 Variante de la syntaxe concrète . 65
15.6 Déclaration de système . 65
15.6.1 Syntaxes concrètes acceptées . 66
15.6.1.1 Changements dans la syntaxe concrète . 66
15.6.2 Services de validation . 66
.......................... 67
15.6.3 Gestion de SDIF
Annexes
A Introduction au balisage généralisé . . . . . . . . . . . . . . . . . . . . . . . 68
A.1 Le balisage . 68
A.2 Le balisage descriptif . 69
A.3 Balisage rigoureux . 71
A.4 Conclusion . 74
A.5 Remerciements . 74
A.6 Bibliographie . 75
B Conceptsdebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
B.l Documents, définitions de types de documents et procédures 76
B.1 .l Documents . 76
8.1.2 Définitions de types de documents . 76
B.1.3 Procédures . 77
8.2 Balisage . 77
B.3 Distinguer le balisage du texte . 78
B.3.1 Balises descriptives . 78
B.3.2 Autre balisage . 79
8.3.3 Limites d’enregistrement . 80
B.3.3.1 Limites d’enregistrement dans les données . 80
B.3.3.2 Limites d’enregistrements dans le balisage . 80
B.4 Structure du document . 80
B.4.1 Définitions de types de document . 81
8.4.2 Déclarations d’éléments . 81
8.4.2.1 Modèles de contenu . 81
B.4.2.2 Connecteurs et symboles d’occurrence . 82
B.4.2.3 Appels d’entités dans les modèles . 83
8.4.2.4 Groupes de noms . 83
B.4.2.5 Caractères du texte . 83
8.4.2.6 Contenu vide . 84
8.4.2.7 Données non-SGML . 84
B.4.2.8 Résumé des délimiteurs de modèle . 84
...................................
B.5 Attributs . . . 85
B.5.1 La spécification des attributs . 85
B.5.1.1 Noms . 85
8.5.1.2 Valeurs d’attributs . 85
.....................
B.5.2 Déclaration des attributs 86
B.5.2.1 Syntaxe des définitions d’attributs . 86
vi
ISO 8879-l 986(F)
B.5.2.2 Valeurs d’attributs complexes . 87
B.5.2.3 Groupe d’unités lexicales nominales . 88
B.5.2.4 Changer les valeurs par défaut . 88
B.6 Entités . 88
B.6.1 Syntaxe pour les appels d’entités . 88
8.6.2 Déclaration d’entités . 89
B.6.2.1 Instructions de traitement . 90
B.6.2.2 Entités contenant des appels d’entités . 90
B.6.2.3 Entités externes .
8.6.2.4 Entités publiques .
8.7 Caractères . 91
8.7.1 Classification de caractères . 91
B.7.2 Appels de caractères 92
.......................
.... 93
B.7.3 Caractères délimiteurs utilisés comme données
8.8 Sections marquées . 94
B.8.1 Ignorer une section marquée . 94
8.8.2 Versions d’un document unique 95
...............
B.8.3 Sections protégées du parsing
................ 95
B.8.4 Sections temporaires . 96
B.8.5 Spécification de mot-clé . 96
B.8.6 Définition d’une section marquée en tant qu’entité . . 96
B.9 Attributs
B.10 Attributs d’appel de contenu 97
.......................
B.11 Exceptions au modèle de contenu
................... 98
B.11 .l Éléments inclus . 98
BAI.2 Éléments exclus . 98
B.12 Déclaration de type de document . 99
B.13 Contenu textuel . 99
B.13.1 Représentations du contenu textuel . . . . . . . . . . . . 100
B.13.1.1 Données textuelles (PCDATA, CDATA et
RCDATA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .lOO
8.13.1.2 Données non-SGML (NDATA) . . . . . . . . . . . 100
8.13.2 Notations de contenu textuel . . . . . . . . . . . . . . . . . 1 OI
B.13.2.1 Notations pour les données textuelles . . . . . 1 OI
B.13.2.2 Notation de données non-SGML . . . . . . . . . 102
B.13.2.3 La spécification des notations de
contenu textuel
............................. 102
B.14 Personnalisation . 103
B.14.1 La déclaration SGML 103
......................
B.14.1.1 Fonctionnalités optionnelles 103
.............
8.14.1.2 Variante de la syntaxe concrète . 103
B.14.2 Impact de la personnalisation
................ 104
B.15 Conformité 104
....................................
C Concepts complémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
C.l Fonctionnalités de minimisation du balisage . 105
Cl.1 SHORTTAG : Balises avec omission de balisage . 106
C.l.1.1 Balises abrégées non fermées . 106
C.1.1.2 Balises vides . 106
C.1.1.3 Minimisation des attributs
............... 106
C.1.2 OMITTAG : Les balises peuvent être omises
...... 107
C.1.2.1 Principes de l’omission de balisage . 107
C.1.2.2 Indication de la minimisation . 108
C.1.2.3 Omission de balise de fin : intrusion d’une
balise de début 109
............................
C.1.2.4 Omission de balise de fin : Balise de fin d’un
élément englobant . - . . . . . . . . . . . . . . . . . . . . . . . . 109
vii
ISO 8879=1986(F)
C.1.2.5 Omission de balise de début : élément
obligatoire d’après le contexte . . . . . . . . . . . . . . . . . . 109
C.1.2.6 Combinaison avec la minimisation
par abréviation de balises . . . . . . . . . . . . . . . . . . . . . 110
C.1.2.7 Considérations de minimisation du balisage . . 110
C.1.3 SHORTREF : Les délimiteurs d’appels abrégés
peuvent remplacer des appels d’entités complets . . . . . . . . 110
C.1.3.1 Frappe au clavier : WYSIWYG généralisé . . . 111
C.1.3.2 Exemple de saisie clavier : définition d’une
table de correspondance d’appels abrégés . . . . . . . . . II 1
C.1.3.3 Exemple de saisie clavier : activation d’une
table de correspondance d’appel abrégé . . . . . . . . . . 112
C.1.3.4 Exemple de tableau . . . . . . . . . . . . . . . . . . . 113
C.1.3.5 Exigences particulières . . . . . . . . . . . . . . . . . 114
C.1.4 DATATAG : Les données peuvent également
constituer une balise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
C.1.5 RANK : les niveaux peuvent être omis des balises . . 117
C.2 Fonctionnalités LINK : SIMPLE, IMPLICIT et EXPLICIT . . . . 118
C.2.1 Définitions de processus de lien . . . . . . . . . . . . . . . 118
C.3 Autres fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II 8
C.3.1 CONCUR : Des instances de document peuvent
apparaître de façon concurrente . . . . . . . . . . . . . . . . . . . . 119
C.3.2 SUBDOC : Des entités sous-documents imbriqués
peuvent apparaître . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
C.3.3 FORMAL : Les identificateurs publics sont formels . . 120
D Texte public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
D.1 Jeux d’éléments 121
.................................
D.l.l Types d’éléments communs
.................. 121
D.1.2 Types d’éléments pro forma
.................. 121
0.2 Notations de contenu textuel
........................
D.3 Variantes de la syntaxe concrète
.....................
D.3.1 Syntaxes concrètes multicodes
................ 122
D.4 Jeux d’entités
................................... 122
D.4.1 Considérations générales
.................... 123
0.4.1.1 Format des déclarations
................ 123
19.4.1.2 Jeux d’entités affichables correspondants . 124
D.4.1.3 Noms d’entités 124
.......................
D.4.1.4 Organisation des jeux d’entités
........... 125
D.4.2 Caractères alphabétiques
.................... 125
D.4.2.1 Alphabet latin 125
........................
D.4.2.2 Caractères de l’alphabet grec 128
............
D.4.2.3 Caractères de l’alphabet cyrillique
......... 130
D.4.3 Usage général
............................
D.4.3.1 Caractères graphiques numériques et
spécialisés 132
................................
D.4.3.2 Caractères diacritiques 133
.................
D.4.3.3 Caractères utilisés dans l’édition
.......... 133
D.4.3.4 Caractères utilisés pour le dessin d’encadrés
et de lignes
...............................
D.4.4 Usage technique
..........................
0.4.4.1 Général 137
............................
D.4.4.2 Symboles grecs
...................... 138
0.4.4.3 Autres symboles grecs
................. 139
D.4.5 Symboles mathématiques supplémentaires
....... 139
D.4.5.1 Symboles ordinaires
................... 139
D.4.5.2 Opérateurs binaires et de grande taille
...... 140
D.4.5.3 Relations
........................... 141
. . .
VIII
ISO 8879-l 986(F)
D.4.5.4 Négations . 143
D.4.5.5 Flèches .
. 1 . 145
D.4.5.6 Délimiteurs ouvrant et fermant
E Exemples d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
E.1 Définition de type de document . 146
E.2 Computer Graphies Metafile . 149
...... 149
E.3 Extension de codes indépendante de la configuration
E.3.1 Fonctionnalités d’extension de codes .
E.3.1 .l Éviter des erreurs de reconnaissance de
délimiteurs . 151
E.3.1.2 Élimination des dépendances vis-à-vis de la
configuration et des codes . 153
F Considérations relatives à l’implémentation . . . . . . . . . . . . . . . . . 154
F.1 Un modèle de parsing SGML .
FA.1 Entrée physique . 154
F.l.l.l Entités . 154
F.1.1.2 Limites d’enregistrement . 154
F.1.2 Modes de reconnaissance . 154
F.1.3 Minimisation du balisage . 155
FA.4 Traduction . 156
F.1.5 Analogie avec un langage de programmation . 156
F.2 Initialisation . 156
F.2.1 Assignation de procédure initiale . 156
F.2.2 Spécification de processus de lien . 156
F.2.3 Instances de document concurrentes . 157
F.3 Assignation de procédure dynamique . 157
F.4 Traitement des erreurs .
G Classification de conformité et certification . . . . . . . . . . . . . . . . . 158
G.1 Code de classification . 158
G.1.1 Code de fonctionnalité . 158
G.1.2 Code de validation .
G.1.3 Code de syntaxe . 160
G.2 Considérations de certification .
. . . . . . . . . . . . . . . 161
H Base théorique du modéle de contenu SGML
H.l Notation de groupe modèle .
H.2 Application de la théorie des automates . 161
H.3 Différence par rapport à la théorie des automates . 162
I Variantes non conformes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
1.1 Identificateurs génériques de longueur fixe . 163
1.2 Délimiteur unique . 163
ix
ISO 8879-l 986(F)
Figures
Classes de caractères : Syntaxe abstraite . . . . . . . . . . . . . . . . . .
Classes de caractères : Syntaxe concrète . . . . . . . . . . . . . . . . . .
Ensemble des délimiteurs de référence : Général . . . . . . . . . . . . 36
Ensemble des délimiteurs de référence : Appels abrégés . . . . . . . 38
Ensemble des capacités de référence . . . . . . . . . . . . . . . . . . . . .
Ensemble des quantités de référence . . . . . . . . . . . . . . . . . . . . . 60
Syntaxe concrète de référence . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple-type de déclaration SGML pour un document SGML
de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Balisage d’un élément . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 79
10 Balise de début avec 2 attributs . . . . . . . . . . . . . . . . . . . . . . . . . 85
11 Syntaxe concrète de base multicode . . . . . . . . . . . . . . . . . . . . . . 123
12 Graphies Metafile Attributes (1 sur 2) : Encodage et vue . . . . . . . 150
13 Graphies Metafile Attributes (2 sur 2) : Taille et rotation . . . . . . . . 152
14 Caractères de fonction pour syntaxes concrètes multicode
indépendantes de la configuration . . . . . . . . . . . . . . . . . . . . . . . . 153
15 Classification de conformité FSV . . . . . . . . . . . . . . . . . . . . . . . . 159
NORME INTERNATIONALE
ISO 88794986 (FI
Traitement de l’information -Systèmes bureautiques - Langage normalisé de
balisage généralisé (SGML)
méthodes de traitement automatique du texte avaient
0 Introdu ction
tendance à la masquer. Avant l’automatisation de la
La présente norme internationale décrit les spécifica- composition, un secrétaire d’édition << codait >’ un
tions d’un langage de description de document nommé manuscriten y inscrivant des instructions de traitement
SGML, Standard Generaked Markup Language, soit spécifiques qui permettaient d’obtenir la présentation
<< langage normalisé de balisage généralisé a’. SGML voulue, après exécution par un compositeur. La
relation entre les instructions et la structure du docu-
peut être utilisé dans l’édition, au sens le plus général
ment n’existait que pour le secrétaire d’édition.
de ce terme, qui s’étend de l’édition traditionnelle sur
support unique jusqu’à l’édition multimédia à partir de
Cette approche s’est maintenue dans les premiers
bases de données. SGML peut également être utilisé
systèmes informatiques avec l’insertion d’un << bali-
les documents en environnement
pour traiter
sage )> déclenchant des actions particulières dans le
lorsque l’on recherche à la fois la
bureautique,
fichier document lisible par la machine. Ce balisage
possibilité de relecture par des humains et de transfert
est, lui encore, constitué d’instructions de traitement
vers des systèmes de publication.
spécifiques, mais elles ont cette fois été transcrites
dans un langage propre au programme de formatage,
0.1 Le contexte
et non plus dans celui de la personne qui compose.
Sans transformation préalable complète des codes qui
Un document peut être analysé de façon abstraite
y figurent, il est difficile de se servir du fichier en
comme une structure constituée de plusieurs types
question pour d’autres applications ou de le transférer
d’éléments. L’auteur organise son livre en le découpant
en chapitres qui contiennent des paragraphes et, le sur tout autre type d’ordinateur.
cas échéant, des illustrations qui contiennent à leur
Le développement de méthodes pour résoudre ce
tour des légendes. Le secrétaire de rédaction d’un
problème est allé de pair avec la progression du degré
magazine le structure en articles, qui contiennent des
d’expertise acquise par les utilisateurs et la montée en
paragraphes contenant eux-mêmes des mots, etc.
puissance des traitements de texte. Les << appels
macros >>, ou > ont été utilisés
Les programmes prennent en compte ces éléments de
pour identifier les endroits d’un document qui doivent
différentes façons. On peut avoir recours à un
être soumis à un traitement particulier dans un docu-
programme de formatage pour mettre en valeur les
ment. Les instructions de traitement proprement dites
titres avec un type de caractères approprié, aérer les
étaient stockées à l’extérieur du document, dans des
paragraphes en laissant du blanc, révéler au lecteur
<< procédures >’ (ou
par toute une série de procédés visuels la structure du « définitions de macro >), ou
<< formats stockés »), où elles pouvaient être plus
document ou d’autres attributs. On peut envisager
facilement modifiées.
d’attribuer aux mots d’un titre, à l’aide d’un programme
de recherche documentaire, une signification
Bien que les macros puissent être appelées n’importe
supplémentaire au moment de la création d’un lexique.
où dans le document, les utilisateurs s’aperçurent que
la plupart d’entre elles étaient placées au début ou à la
La relation entre les attributs d’un document et son
fin de certains éléments du document. II parut donc
traitement automatique semble aujourd’hui aller de soi,
naturel de choisir des noms de macros qui identifiaient
mais il n’en a pas toujours été ainsi ; les premières
0.1 Le contexte
ISO 8879=1986(F)
NOTE - On trouvera une introduction plus détaillée aux
les classes d’éléments de façon générique, plutôt que
concepts de codage générique et au langage normalisé de
des noms invoquant un traitement particulier (par
balisage généralisé dans l’annexe A.
exemple, << titre >> plutôt que << format-17 >B) ; c’est ainsi
que l’on commença à pratiquer le <( codage généri-
0.2 Objectifs
que >> (ou << balisage généralisé +
Le Langage normalisé de balisage généralisé norma-
Le codage générique a constitué une étape décisive
lise l’application des concepts de codage générique et
dans. l’élaboration de systèmes de traitement automa-
de balisage généralisé. II fournit une syntaxe cohérente
tisé du texte reflétant la relation naturelle qui unit les
et non ambiguë pour décrire tout ce qu’un utilisateur
attributs d’un document et leur traitement. L’apparition,
choisit d’identifier à l’intérieur d’un document. Le
au début des années 1970, des << langages de bali-
langage comprend :
‘1 a renforcé cette tendance en fournis-
sage généralisé
sant au codage générique le fondement d’un langage
-
une << syntaxe abstraite ‘> pour le balisage descriptif
formel. Un langage de balisage généralisé respecte
des éléments d’un document.
deux principes fondamentaux :
- une << syntaxe concrète de référence ‘> qui relie la
Le balisage descriptif est prédominant, et il se
a>
syntaxe abstraite à des caractères particuliers servant
distingue des instructions de traitement.
de délimiteurs et à des quantités. Les utilisateurs
peuvent définir d’autres syntaxes concrètes pour
Le balisage descriptif comprend à la fois des
répondre à leurs propres besoins.
identificateurs génériques et d’autres attributs
d’éléments du document qui déclenchent les
-des déclarations de balisage permettant à l’utilisateur
instructions de traitement. Les instructions de
de définir un vocabulaire spécifique d’identificateurs
traitement, qui peuvent être écrites dans n’im-
génériques et d’attributs pour différents types de
porte quel langage, sont généralement stockées
documents.
à l’extérieur du document, dans des procédures.
- des moyens d’utiliser des contenus textuels
En examinant le fichier source pour analyser le
arbitraires. Dans le balisage généralisé, on appelle
balisage et en reconnaître les différents élé-
tout ce qui n’est pas défini par le langage
ments, le système de traitement exécute les
de balisage. II peut s’agir de c< notations de contenu
procédures associées à chaque élément et à
textuel 1’ nécessitant une interprétation différente de
chaque attribut pour ce traitement. D’autres
celle du texte général : formules, illustrations,
traitements sont possibles : des procédures
alphabets non latins, texte déjà formaté, ou
différentes peuvent être associées aux mêmes
graphiques.
éléments et attributs sans modifier le balisage
du document.
- des appels d’entités : il s’agit d’une technique
indépendante du système utilisé qui permet d’appeler
Lorsqu’on doit entrer directement une instruction
des contenus situés à l’extérieur du corps du docu-
de traitement dans un document, il faut la déli-
ment, comme des chapitres séparés, des polices
miter d’une autre manière que le balisage des-
casseau, des photographies, etc.
criptif de façon à en faciliter la localisation et la
modification pour d’autres traitements.
-des délimiteurs particuliers encadrant les instructions
de traitement, qui servent à les distinguer du balisage
Le balisage est défini formellement pour chaque
b)
descriptif. Les instructions de traitement peuvent être
type de document.
introduites dans les cas qui ne peuvent être traités par
les procédures, mais elles peuvent alors être facile-
Un langage de balisage généralisé formalise le
ment retrouvées voire modifiées ultérieurement au
balisage d’un document en incorporant des
moment d’envoyer le document vers un système de
<< définitions de type de document >Y Les défini-
traitement différent.
tions de type (de document) spécifient (comme
les grammaires formelles) les éléments et les
Mais pour qu’un langage de balisage généralisé puisse
attributs qui peuvent se trouver dans un docu-
être accepté comme norme, il faut qu’il possède plus
ment et l’ordre dans lequel ils peuvent apparai-
que les fonctionnalités strictement indispensables. II
tre. Cette information permet de déterminer si le
doit être doté de propriétés métalinguistiques, afin de
balisage d’un document donné est correct (c’est-
pouvoir être utilisé dans de multiples environnements.
à-dire correspond à la définition de type de
Voici résumées les exigences les plus i
mportantes
document) ainsi que de compléter le balisage
,auxquelles SGML doit pouvoir répondre, et
les moyens
manquant, celui-ci pouvant en effet être déduit
mis en œuvre pour y parvenir :
sans ambiguïté des balises présentes.
0 n traduction
ISO 8879-I 986(F)
Les documents
a)
doivent pouvoir être traités par un grand nombre
Les appels à des parties externes à un docu-
de systèmes et de logiciels de traitement de
ment sont exprimés de façon indirecte. Les
texte.
correspondances avec les dispositifs de stoc-
La forme complète du langage, munie de toutes kage des systèmes existants s’expriment par
ces fonctionnalités optionnelles, offre un degré des << déclarations d’entités externes ‘3 qui
de généralité et de flexibilité qui lui permet d’être apparaissent au début du document, là où elles
.
exploitée par des systèmes sophistiqués ; il peuvent être facilement modifiées lors des
n’est pas nécessaire que des systèmes moins échanges.
puissants soient dotés de toutes ces fonctionna-
La syntaxe concrète peut être modifiée dans la
lités. Pour faciliter l’échange entre systèmes dif-
déclaration SGML afin de pouvoir s’accorder
férents, une <( déclaration SGML ‘> décrit chaque
avec l’ensemble des caractères réservés de
fonctionnalité de balisage ou toutes les variantes
n’importe quel système.
par rapport à la syntaxe concrète utilisée dans
un document.
Rien ne doit être lié à une langue particulière.
e>
Le parc installé de plusieurs millions de sys-
b)
Les caractères disponibles pour les noms peu-
tèmes de saisie de texte doit pouvoir continuer
vent s’enrichir des caractères qui sont spécifi-
à être utilisé.
ques à une langue particulière. Les identifica-
teurs génériques, les noms d’attributs et les
Les documents SGML, munis de leur syntaxe
autres noms utilisés dans le balisage descriptif
concrète de référence, peuvent facilement être
sont définis par l’utilisateur dans les déclarations
saisis et compris par tous, sans l’assistance
d’éléments et d’entités.
d’une machine. Par conséquent :
Les noms de déclarations et les mots clés
- II n’est pas nécessaire d’attendre que naisse
utilisés dans les déclarations de balisage peu-
et que soit acceptée une nouvelle génération de
vent également être modifiés.
matériels pour utiliser SGML - on peut se
contenter des logiciels de traitement de docu-
Les répertoires de caractères multiples comme
ments sur les machines existantes.
ceux utilisés dans les documents multilingues
- La migration vers cette nouvelle génération de sont autorisés.
matériel (quand viendra son heure) sera d’autant
Le langage doit s’accorder avec les conventions
plus facile que les utilisateurs se seront déjà f 1
habituelles utilisées en dactylographie et en
familiarisés avec SGML.
traitement de texte.
II ne doit pas y avoir la moindre dépendance par
c)
Les <( appels abrégés >B et les << balises tex-
rapport à un jeu de caractères spécifique, étant
tuelles ” peuvent être tapés sur un clavier
donné que les documents doivent pouvoir être
normal de machine à écrire ou d’ordinateur. Un
tapés sur des machines différentes.
texte courant contenant des paragraphes et des
Le langage ne dépend d’aucun jeu de caractè- citations peut être interprété comme texte SGML
bien qu’il puisse être saisi sans aucun balisage
res spécifique. Tout jeu de caractères qui utilise
explicite.
des combinaisons d’éléments binaires pour
représenter les lettres, les chiffres, les espaces
Le langage doit être indépendant du flux de
et les délimiteurs est admis. 9>
données ou de l’organisation physique des
fichiers.
II ne doit pas y avoir la moindre dépendance par
d)
rapport à un logiciel, à un système ou à un
Le langage de balisage possède un modèle de
matériel donnés.
stockage virtuel dans lequel les documents sont
Le balisage généralisé est avant tout descriptif formés d’une ou de plusieurs entités de stocka-
ge, chacune étant faite d’une séquenc.e de
et donc par essence non soumis à de telles
caractères. Tout accès réel à un fichier est
dépendances. S’il faut insérer de temps en
temps une instruction de traitement spécifique, effectué par le système de traitement, qui peut
décider si la séquence de caractères doit être
on veillera à la placer entre des délimiteurs de
considérée comme continue, ou si elle doit
façon à ce que l’on puisse aisément la retrouver
refléter les limites physiques des enre-
et la convertir lors d’un échange, ou pour le cas
gistrements.
où un traitement différent rendrait cette instruc-
0.2 Objectifs
ISO 8879-l 986(F)
Les instructions de traitement sont présentées
Le texte << balisé >> doit coexister avec d’autres
h)
dans la clause 8.
données.
Un système de traitement. peut autoriser la Les techniques de balisage courant, comme les
présence de texte conforme à cette norme caractères, les appels d’entités et les instruc-
tions de traitement, sont présentées à la clause
internationale dans un flux de données, en
même temps que d’autres informations, à condi- 9 .
tion que le système soit capable de détecter le
Les déclarations de balisage et leurs conditions
début et la fin du texte conforme.
générales d’application (commentaire, entité et
section marquée) sont spécifiées par la clause
De la même façon, un système peut permettre
à du contenu textuel non défini par SGML 10.
d’apparaître logiquement à l’intérieur d’un docu-
Les déclarations de balisage qui sont utilisées
ment conforme à la norme. L’occurrence de ces
en premier lieu pour spécifier les définitions de
données est indiquée par des déclarations de
type de document (type de document, élément,
balisage afin de faciliter l’échange.
notation, table de correspondance d’appels
abrégés et utilisation d’appels abrégés) sont
Le balisage doit pouvoir être utilisé à la fois par
définies à la clause 11.
l’homme et par la machine.
Les déclarations de balisage qui sont utilisées
SGML est conçu comme une interface adaptée
en premier lieu pour spécifier les définitions de
à la saisie et à l’échange des textes sans dispo-
processus de lien (types de liens, attributs de
ser d’un préprocesseur. L’utilisateur dispose de
liens, ensembles de liens et utilisation d’ensem-
nombreuses possibilités d’adapter SGML à ses
bles de liens) sont définies à la clause 12.
conventions propres de saisie du texte ainsi qu’à
une grande variété de claviers et d’écrans.
La déclaration SGML, qui spécifie le jeu de
Cependant, il est un fait que de nombreux caractères du document, l’ensemble des capaci-
fabricants de systèmes voudront tirer parti des tés, la syntaxe concrète et les fonctionnalités,
possibilités du langage en matière de saisie de est définie à la clause 13.
données pour fournir un outil d’édition intelligent
La syntaxe concrète de référence est définie à
ou pour créer des documents SGML à
...












Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...