1、International Standard $ 8879 0 a 4 d!E!b INTERNATIONAL ORGANIZATION FOR STANDARDIZATION*MEYHAFOt,HAR OPTAHMSALWR fl0 CTAHAAPTH3Al,b4II*ORGANlSATlON INTERNATIONALE DE NORMALISATION Information processing - Text and office systems - Standard Generalized Markup Language (SGML) Traitement de linformati
2、on - Systkmes bureautiques - Langage standard gh4ralis6 de balisage ISGMLI First edition - 1995-10-15 z UDC 591.3.05 Ref. No. IS0 9979-1995 (EI 8 z Descriptors : data processing, documentation, logical structure, programming (computers), artificial languages, programming languages ai k Price based o
3、n 155 pages Adopted by INCITS (InterNational Committee for Information Technology Standards) as an American National Standard.Date of ANSI Approval: 1/13/99Published by American National Standards Institute,25 West 43rd Street, New York, New York 10036Copyright 2002 by Information Technology Industr
4、y Council (ITI).All rights reserved.These materials are subject to copyright claims of InternationalStandardization Organization (ISO), International ElectrotechnicalCommission (IEC), American National Standards Institute (ANSI),and Information Technology Industry Council (ITI). Not for resale.No pa
5、rt of this publication may be reproduced in any form,including an electronic retrieval system, without the prior writtenpermission of ITI. All requests pertaining to this standard should besubmitted to ITI, 1250 Eye Street NW, Washington, DC 20005.Printed in the United States of AmericaForeword IS0
6、(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 comm
7、ittee 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 a
8、pproval 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 9979 was prepared by Technical Committee ISO/TC 97, ln- formation processing sys
9、tems. 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 0 Printed in Switzerland ii I
10、S0 8879-1986(E) Contents 0 Introduction . 0.1 Background 0.2 Objectives . 0.3 Organization . . 1 1 2 3 1 Scope 4 2 Field of Application . 4 3 References 5 4 Definitions 5 5 Notation . 5.1 Syntactic Tokens 5.2 Ordering and Selection Symbols 6 Entity Structure 21 6.1 SGML Document . 21 6.2 SGML Entiti
11、es I 21 6.2.1 S Separator . . 22 6.2.2 Entity End . 22 6.2.3 Implied SGML Declaration . 22 6.3 Non-SGML Data Entity . . . 22 7 Element Structure . 22 7.1 Prolog 22 7.2 Document Element . 22 7.2.1 Limits 22 7.3 Element 22 7.3.1 Omitted Tag Minimization . 22 7.3.1.1 Start-tag Omission . 22 7.3.1.2 End
12、-tag Omission 23 7.3.2 Data Tag Minimization 23 7.3.3 Quantities . 23 7.4 Start-tag 23 7.4.1 Minirnization 23 7.4.1.1 Empty Start-tag . 23 7.4.1.2 Unclosed Start-tag . 24 7.4.1.3 NET-enabling Start-tag . 24 7.4.2 Quantities . 24 7.5 End-tag . 24 7.5.1 Minimization 24 7.5.1.1 Empty End-tag 24 7.5.1.2
13、 Unclosed End-tag 24 7.5.1.3 Null End-tag 24 7.6 Content . 24 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 . 25 7.8 Generic Identifier (GI) Specification . 26 7.8.1 RankFeature 26 7.8.1.1 FIJII Generic Identif
14、ier 26 7.8.1.2 RankStem . 26 7.9 Attribute Specification List . 26 20 21 21 . . . III IS0 8879-1986(E) 7.9.1 Minimization . 7.9.1.1 Omitted Attribute Specification 7.9.1.2 Omitted Attribute Name . 7.9.2 Quantities 7.9.3 Attribute Value Specification 7.9.3.1 Minimization . 7.9.4 Attribute Value 7.9.4
15、.1 Syntactic Requirements . 7.9.4.2 Fixed Attribute . 7.9.4.3 General Entity Name 7.9.4.4 Notation 7.9.4.5 Quantities . . 26 . 26 . 26 . 26 . 26 . 27 . 27 . 27 . 27 . 27 . 27 . 27 . 27 . 28 . 28 . 28 . 28 . 28 . 28 . 28 . 28 . 28 . 28 . 28 . 29 . 29 . 29 . 29 . 29 . 30 . 30 . 30 . 31 . 32 . 32 . 32
16、. 32 . 32 . 32 . 32 . 34 . 34 . 34 . 34 . 34 . 34 . 34 . 34 . 35 . 35 . 35 . 35 . 35 . 35 . 35 . 35 . 35 . 35 . 8 Processing Instruction 8.1 Quantities . 9 Common Constructs 9.1 Replaceable Character Data 9.2 Character Data . 9.2.1 SGML Character 9.2.2 Function Character 9.3 Name . 9.3.1 Quantities
17、9.4 Entity References . 9.4.1 Quantities . 9.4.2 Limits . 9.4.3 Obfuscatory Entity References . 9.4.4 Named Entity Reference 9.4.5 Reference End 9.4.6 Short Reference 9.4.6.1 Equivalent Reference String 9.5 Character Reference 9.6 Delimiter Recognition 9.6.1 Recognition Modes 9.6.2 Contextual Constr
18、aints . 9.6.3 Order of Recognition . 9.6.4 Delimiters Starting with the Same Character 9.65 Short References with Blank Sequences 9.6.5.1 Quantities . 9.6.6 Name Characters . 9.7 Markup Suppression . 9.8 Capacity . IO Markup Declarations: General 10.1 Parts of Declarations 10.1.1 Parameter Separator
19、 10.1.2 Parameter Literal . 10.1.2.1 Quantities . 10.1.3 Group . 10.1.3.1 Quantities . 10.1.4 Declaration Separator. . IO-l.5 Associated Element Type . 10.1.6 External Identifier . 10.1.6.1 Quantities . 10.1.6.2 Capacities . 10.1.7 Minimum Literal 10.1.7.1 Quantities . 10.2 Formal Public Identifier.
20、 10.2.1 Owner Identifier . 10.2.1.1 IS0 Owner Identifier 10.2.1.2 Registered Owner Identifier . . . . iv IS0 8879-l 986(E) 10.2.1.3 Unregistered Owner Identifier . 10.2.2 Text Identifier 10.2.2.1 Public Text Class 10.2.2.2 Public Text Description . 10.2.2.3 Public Text Language 10.2.2.4 Public Text
21、Designating Sequence 10.2.2.5 Public Text Display Version . 10.3 Comment Declaration . 10.4 Marked Section Declaration 10.4.1 Quantities . 10.4.2 Status Keyword Specification . 10.5 Entity Declaration 10.5.1 Entity Name . 10.5.1.1 Quantities 10.5.1.2 Capacities 10.5.2 Entity Text. 10.5.3 Data Text .
22、 10.5.4 Bracketed Text . 10.5.4.1 Quantities 10.55 External Entity Specification . . . . . . . . . . . . . . . 36 . 36 . 36 36 . 36 . 36 37 37 37 . 37 . 37 38 . 38 38 38 38 38 . 39 . 39 . 39 . . . . . . . . . . . . . . 11 Markup Declarations: Document Type Definition 11.1 Document Type Declaration 1
23、1.2 Element Declaration 11.2.1 Element Type 11.2.1.1 Ranked Element . 11.2.1.2 Quantities 11.2.2 Omitted Tag Minimization . 11.2.3 Declared Content. 11.2.4 Content Model . 11.2.4.1 Connector 11.2.4.2 Occurrence Indicator . 11.2.4.3 Ambiguous Content Model 11.2.4.4 Data Tag Group . 11.2.4.5 Quantitie
24、s 11.2.5 Exceptions 11.2.5.1 Inclusions 11.2.5.2 Exclusions. . 11.3 Attribute Definition List Declaration . 11.3.1 Quantities . 11.3.2 Attribute Name 11.3.3 Declared Value 11.3.4 Default Value 11.3.4.1 Quantities 11.3.4.2 Capacities 11.4 Notation Declaration 11.5 Short Reference Mapping Declaration
25、. 11.6 Short Reference Use Declaration . 11.6.1 Use in Document Type Declaration . 11.6.2 Use in Document Instance . 11.6.3 Current Map . . . . 39 39 40 40 . 40 . 40 . 40 . 40 . 40 41 41 . 41 . 41 . 42 . 42 . 42 42 42 . 42 . 42 43 43 43 . 43 . 43 . 44 . 44 . 44 . 44 44 . . . . . . . . . . . . . . .
26、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Markup Declarations: Link Process Definition . 12.1 Link Type Declaration . . . . . . . 12.1.1 Simple Link Specification 12.1.2 Implicit Link Specification . 12.1.3 Explicit Link Specification . . . . . 12.1.3.1 Limits . . . . . . .
27、. . . 12.1.4 Link Type Declaration Subset . 12.1.4.1 Parameter Entities . 12.1.4.2 Link Attributes . . . 44 . 44 45 45 45 45 45 45 45 . . . . . . . . . V IS0 8879-1986(E) 12.1.4.3 Simple Link. 12.2 Link Set Declaration . 12.2.1 Source Element Specification 12.2.2 Result Element Specification 12.3 Li
28、nk Set Use Declaration . . 12.3.1 Use in Link Type Declaration 12.3.2 Use in Document Instance . 12.3.3 Current Link Set 13 SGML Declaration 13.1 Document Character Set . 13.1.1 Character Set Description 13.1.1.1 Base Character Set . 13.1.1.2 Described Character Set Portion 13.1.2 Non-SGML Character
29、 Identification . 13.2 Capacity Set. . 13.3 Concrete Syntax Scope 13.4 Concrete Syntax 13.4.1 Public Concrete Syntax . 13.4.2 Shunned Character Number Identification 13.4.3 Syntax-reference Character Set 13.4.4 Function Character Identification 13.4.5 Naming Rules 13.4.6 Delimiter Set . 13.4.6.1 Gen
30、eral Delimiters . 13.4.6.2 Short Reference Delimiters. 13.4.7 Reserved Name Use . 13.4.8 Quantity Set 13.5 Feature Use 13.5.1 Markup Minimization Features 13.5.2 Link Type Features 13.5.3 Other Features 13.6 Application-specific Information . 14 Reference and Core Concrete Syntaxes 15 Conformance .
31、15.1 Conforming SGML Document 15.1.1 Basic SGML Document 15.1.2 Minimal SGML Document 15.1.3 Variant Conforming SGML Document 15.2 Conforming SGML Application 15.2.1 Application Conventions . 15.2.2 Conformance of Documents 15.2.3 Conformance of Documentation . 15.3 Conforming SGML System . 15.3.1 C
32、onformance of Documentation 15.3.2 Conformance to System Declaration . 15.3.3 Support for Reference Concrete Syntax 15.3.4 Support for Reference Capacity Set . 15.3.5 Consistency of Parsing 15.3.6 Application Conventions . 15.4 Validating SGML Parser . 15.4.1 Error Recognition 15.4.2 Identification
33、of SGML Messages . 15.4.3 Content of SGML Messages 15.5 Documentation Requirements 15.5.1 Standard Identification 15.5.2 Identification of SGML Constructs . 15.5.3 Terminology . 15.5.4 Variant Concrete Syntax . . . . . . . . . . . . . . . . . . .: . . . . . . . , 45 45 46 46 46 46 46 46 47 47 47 47
34、47 48 48 48 49 49 49 50 50 50 51 . 51 51 51 51 52 52 52 52 53 53 53 53 53 53 53 53 53 53 53 53 54 54 54 55 55 55 . 56 56 56 56 56 56 56 57 57 vi IS0 8879-1986(E) 15.6 System Declaration . 15.6.1 Concrete Syntaxes Supported 15.6.1.1 Concrete Syntax Changes . 15.6.1.2 Character Set Translation . 15.6.
35、2 Validation Services . . 57 . 57 . 57 . 57 . 58 Annexes A Introduction to Generalized Markup . . . . . 59 A.1 The Markup Process A.2 Descriptive Markup A.3 Rigorous Markup. A.4 Conclusion . A.5 Acknowledgments A.6 Bibliography . . . . . . . . . . . . . . . . . . . , . . . . 59 60 . 62 64 65 65 B Ba
36、sicConcepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 B.l Documents, Document Type Definitions, and Procedures 66 B.1.1 Documents . 66 B.1.2 Document Type Definitions. . 66 8.1.3 Procedures 67 8.2 Markup 67 8.3 Distinguishing Markup from
37、 Text . 68 8.3.1 Descriptive Markup Tags . 68 8.3.2 Other Markup . 69 8.3.3 Record Boundaries 69 8.3.3.1 Record Boundaries in Data . 70 B-3.3.2 Record Boundaries in Markup 70 8.4 Document Structure . 70 8.4.1 Document Type Definitions. . 70 8.4.2 Element Declarations 71 8.4.2.1 Content Models 71 8.4
38、.2.2 Connectors and Occurrence Indicators . 71 8.4.2.3 Entity References in Models 72 B-4.2.4 Name Groups 72 B-4.2.5 Data Characters 73 8.4.2.6 Empty Content . 73 8.4.2.7 Non-SGML Data 73 B-4.2.8 Summary of Model Delimiters 74 8.5 Attributes 74 8.5.1 Specifying Attributes . 74 8.5.1.1 Names 74 8.5.1
39、.2 Attribute Values 75 8.5.2 Declaring Attributes . 75 8.5.2.1 Attribute Definition Syntax . 75 8.5.2.2 Complex Attribute Values 76 8.5.2.3 Name Token Groups 77 8.5.2.4 Changing Default Values . 77 B.6 Entities 78 B.6.1 Entity Reference Syntax 78 B.6.2 Declaring Entities . 78 B-6.2.1 Processing Inst
40、ructions 79 8.6.2.2 Entities with Entity References 79 8.6.2.3 External Entities 79 8.6.2.4 Public Entities 80 8.7 Characters . 80 vii IS0 8879-1986(E) 8.7.1 Character Classification 8.7.2 Character References . 8.7.3 Using Delimiter Characters as Data . 8.8 Marked Sections . 8.8.1 Ignoring a Marked
41、 Section . 8.8.2 Versions of a Single Document . 8.8.3 Unparsable Sections 8.8.4 Temporary Sections 8.8.5 Keyword Specification 8.8.6 Defining a Marked Section as an Entity . B.9 Unique Identifier Attributes B.10 Content Reference Attributes B-11 Content Model Exceptions B.11.1 Included Elements . B
42、-11.2 Excluded Elements B-12 Document Type Declaration . 8.13 Data Content . 8.13.1 Data Content Representations . B.13.1.1 Character Data (PCDATA, CDATA, and RCDATA) B.13.1.2 Non-SGML Data (NDATA) . 8.13.2 Data Content Notations . B-13.2.1 Notations for Character Data . B-13.2.2 Notations for Non-S
43、GML Data. 8.13.2.3 Specifying Data Content Notations . 8.14 Customizing 8.14.1 The SGML Declaration . 8.14.1.1 Optional Features 8.14.1.2 Variant Concrete Syntax . B.14.2 Impact of Customization 8.15 Conformance . C Additional Concepts . 94 C.l Markup Minimization Features . Cl.1 SHORTTAG: Tags With
44、 Omitted Markup C.l.l.l Unclosed Short Tags . C.1.1.2 Empty Tags . C.1.1.3 Attribute Minimization C.1.2 OMITTAG: Tags May be Omitted C.1.2.1 Tag Omission Concepts C.1.2.2 Specifying Minimization C.1.2.3 End-tag Omission: Intruding Start-tag . C.1.2.4 End-tag Omission: End-tag of Containing Element .
45、 C.1.2.5 Start-tag Omission: Contextually Required Element . C.1.2.6 Combination with Short Tag Minimization C.1.2.7 Markup Minimization Considerations . C.1.3 SHORTREF: Short Reference Delimiters May Replace Complete Entity References . C.1.3.1 Typewriter Keyboarding: Generalized WYSIWYG C.1.3.2 Ty
46、pewriter Keyboarding Example: Defining a Short Reference Map C.1.3.3 Typewriter Keyboarding Example: Activating a Short Reference Map C.1.3.4 Tabular Matter Example C.1.3.5 Special Requirements Cl.4 DATATAG: Data May Also be a Tag . C.1.5 RANK: Ranks May be Omitted from Tags . C.2 LINK Features: SIM
47、PLE, IMPLICIT, and EXPLICIT C.2.1 Link Process Definitions . C.3 Other Features . . . . , . . I . . . . 80 . 81 . 82 . 83 83 84 84 . 85 85 . 85 86 86 87 87 87 88 88 89 . 89 89 90 90 91 . 91 92 92 92 . 92 92 93 94 94 95 95 95 96 97 97 . 98 98 99 99 99 100 100 100 101 102 103 103 106 107 108 108 IS0 8
48、879-1986(E) C-3.1 CONCUR: Document Instances May Occur Concurrently 108 C-3.2 SUBDOC: Nested Subdocument Entities May Occur 109 C.3.3 FORMAL: Public Identifiers are Formal . 109 D PublicText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
49、10 D.l Element Sets . 110 D.1.1 Common Element Types . 110 D.1.2 Pro Forma Element Types . 110 D.2 Data Content Notations 110 D.3 Variant Concrete Syntaxes . Ill D.3.1 Multicode Concrete Syntaxes 111 D.4 EntitySets 111 D-4.1 General Considerations . 112 D.4.1.1 Format of Declarations . 112 D-4.1.2 Corresponding Display Entity Sets 113 D.4.1.3 Entity Names . 113 D.4.1.4 Organization of Entity Sets 114 0.4.2 Alphabetic Characters 114 D-4.2.1 Latin 114 0.4.2.2 Greek Alphabetic Characters 117 D-4.2.3 Cyrillic Alphabetic Characters . 119 0.4.3 General Use . 121 D.4.3.1 Numeric and Special Grap