1、INTERNATIONAL STANDARD ISO/IEC 10179 First edition 1996-04-01 Information technology - Processing languages - Document Style Semantics and Specification Language (DSSSL) Technologies de /information - Langages de traitement - %mantique de prksentation de documents et langage de spbifications (DSSSL)
2、 Reference number ISO/IEC 10179:1996(E) Processed and adopted by ASC NCITS and approved by ANSI as an American National Standard.Date of ANSI Approval: 1/11/99Published by American National Standards Institute,11 West 42nd Street, New York, New York 10036Copyright 1999 by Information Technology Indu
3、stry Council (ITI).All rights reserved.These materials are subject to copyright claims of International Standardization Organization (ISO),International Electrotechnical Commission (IEC), American National Standards Institute (ANSI), andInformation Technology Industry Council (ITI). Not for resale.
4、No part of this publication may be reproducedin any form, including an electronic retrieval system, without the prior written permission of ITI. All requestspertaining to this standard should be submitted to ITI, 1250 Eye Street NW, Washington, DC 20005.Printed in the United States of AmericaAdopted
5、 by INCITS (InterNational Committee for Information Technology Standards) as an American National Standard.Date of ANSI Approval: 1/11/99Published by American National Standards Institute,25 West 43rd Street, New York, New York 10036Copyright 2002 by Information Technology Industry Council (ITI).All
6、 rights reserved.These materials are subject to copyright claims of International Standardization Organization (ISO), InternationalElectrotechnical Commission (IEC), American National Standards Institute (ANSI), and Information Technology Industry Council(ITI). Not for resale. No part of this public
7、ation may be reproduced in any form, including an electronic retrieval system, withoutthe prior written permission of ITI. All requests pertaining to this standard should be submitted to ITI, 1250 Eye Street NW,Washington, DC 20005.Printed in the United States of AmericaISO/IEC 10179:1996(E) Q ISOll
8、EC Contents Page 1 Scope . 1 2 Conformance . 2 3 Normative References . 3 4 Definitions . 4 5 Notation and Conventions . 7 5.1 Syntax Productions . 7 5.2 Procedure Prototypes 8 6 DSSSL Overview 8 6.1 Areas of Standardization 9 6.2 Conceptual Model . 10 6.3 DSSSL Languages 1 1 6.3.1 The Transformatio
9、n Language 1 1 6.3.1.1 Components of the Transformation Process . 12 6.3.1.2 Model for Coded Characters, Characters, and Glyph Identifiers 13 6.3.2 The Style Language . 14 6.3.2.1 Components of the Formatting Process 15 6.3.2.2 Grove Building . 15 6.3.2.3 Flow Object Tree 15 6.3.2.4 Flow Object Clas
10、ses . 16 6.3.2.5 Areas . 17 6.3.2.6 Page and Column Geometry . 18 6.3.2.7 Expression Language 18 6.3.2.8 Model for Coded Characters, Characters, and Glyph Identifiers 19 7 DSSSL Specifications 19 7.1 DSSSL Document Architecture 20 7.1.1 Features 24 7.1.2 SGML Grove Plan . 24 7.1.3 Character Repertoi
11、re 25 7.1.4 Standard Characters . 25 7.1.5 Other Characters 26 7.1.6 Baseset Encoding . 26 7.1.7 Literal Described Character . 26 7.1.8 Sdata Entity Mapping 27 7.1.9 Separator Characters 27 7.1.10 Name Characters 27 7.1.11 Character Combination 27 7.2 Public Identifiers . 27 7.3 Lexical Conventions
12、. 27 7.3.1 Case Sensitivity . 27 0 ISOAEC 1996 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from the publisher. ISO
13、/IEC Copyright Office l Case Postale 56 l CH-1211 Geneve 20 l Switzerland Printed in Switzerland ii Q I SO/IEC ISO/IEC 10179:1996(E) 7.3.2 Identifiers .28 7.3.3 Tokens, Whitespace, and Comments . 28 8 Expression Language . 29 8.1 Overview of the Expression Language . 30 8.2 Basic Concepts 30 8.2.1 V
14、ariables and Regions . .30 82.2 True and False 31 82.3 External Representations 31 8.2.4 Disjointness of Types . 31 8.3 Expressions . 32 83.1 Primitive Expression Types . 32 8.3.1.1 Variable Reference . ,32 8.3.1.2 Literals . 33 8.3.1.3 Procedure Call . 34 8.3.1.4 Lambda Expression .34 8.3.1.5 Condi
15、tional Expression . 36 8.3.2 Derived Expression Types . 36 8.3.2.1 Cond-expression 36 8.3.2.2 Case-expression . 37 8.3.2.3 And-expression .37 8.3.2.4 Or-expression 38 8.3.2.5 Binding expressions . .38 8.3.2.6 Named-let 39 8.3.2.7 Quasiquotation . .40 8.4 Definitions .4 1 8.5 Standard Procedures . .4
16、3 8.51 Booleans . 43 8.5.1.1 Negation 43 8.5.1.2 Boolean Type Predicate . .44 8.5.2 Equivalence 4 4 8.5.3 Pairs and Lists 45 8.5.3.1 Pair Type Predicate .46 8.5.3.2 Pair Construction Procedure . 46 8.5.3.3 car Procedure . 46 8.5.3.4 cdr Procedure 47 8.5.3.5 c. . .r Procedures .47 8.5.3.6 Empty List
17、Type Predicate 48 8.5.3.7 List Type Predicate . 48 8.5.3.8 List Construction . 48 8.5.3.9 List Length . .48 8.5.3.10 Lists Appendance . .49 8.5.3.11 List Reversal 49 8.5.3.12 Sublist Extraction . .49 8.5.3.13 List Access . .49 8.5.3.14 List Membership .50 8.5.3.15 Association Lists .50 8.5.4 Symbols
18、 . .50 8.5.4.1 Symbol Type Predicate . 5 1 . 111 ISO/IEC 10179:1996(E) Q ISOllEC 8.5.4.2 Symbol to String Conversion . 51 8.5.4.3 String to Symbol Conversion . 51 8.5.5 Keywords . 51 8.5.5.1 Keyword Type Predicate 52 8.5.5.2 Keyword to String Conversion . 52 8.5.5.3 String to Keyword Conversion . 52
19、 8.5.6 Named Constants . 52 8.5.7 Quantities and Numbers 52 8.5.7.1 Numerical Types . 52 8.5.7.2 Exactness 53 8.5.7.3 Implementation Restrictions . 54 8.5.7.4 Syntax of Numerical Constants 55 8.5.7.5 Number Type Predicates 56 8.5.7.6 Exactness Predicates . 56 8.5.7.7 Comparison Predicates . 56 8.5.7
20、.8 Numerical Property Predicates . 57 8.5.7.9 Maximum and Minimum 57 8.5.7.10 Addition 57 8.5.7.11 Multiplication . 58 8.5.7.12 Subtraction 58 8.5.7.13 Division 58 8.5.7.14 Absolute Value . 58 8.5.7.15 Number-theoretic Division . 59 8.5.7.16 Real to Integer Conversion . 59 8.5.7.17 en and Natural Lo
21、garithm . 60 8.5.7.18 Trigonometric Functions 60 8.5.7.19 Inverse Trigonometric Functions 60 8.5.7.20 Square Root 61 8.5.7.21 Exponentiation 61 8.5.7.22 Exactness Conversion . 61 8.5.7.23 Quantity to Number Conversion . 61 8.5.7.24 Number to String Conversion . 61 8.5.7.25 String to Number Conversio
22、n . 63 8.5.8 Characters 63 8.5.8.1 Character Properties . 64 8.5.8.2 Language-dependent Operations 64 8.5.8.3 Character Type Predicate 67 8.5.8.4 Character Comparison Predicates . 67 8.5.8.5 Case-insensitive Character Predicates 67 8.5.8.6 Character Case Conversion 68 8.5.8.7 Character Properties .
23、68 8.5.9 Strings 68 8.5.9.1 String Type Predicate . 69 8.5.9.2 String Construction . 69 8.5.9.3 String Length 69 8.5.9.4 String Access 69 8.5.9.5 String Equivalence 69 8.5.9.6 String Comparison 69 iv 8 lSO/IEC ISO/IEC 10179:1996(E) 8.5.9.7 Substring Extraction . .70 8.5.9.8 String Appendance . .70 8
24、.5.9.9 Conversion between Strings and Lists 70 8.5.10 Procedures 70 8.5.10.1 Procedure Type Predicate . 7 0 8.5.10.2 Procedure Application .71 8.5.10.3 Mapping Procedures over Lists .71 8.5.10.4 External Procedures 71 8.5.11 Date and Time . .72 8.5.12 Error Signaling .72 8.6 Core Expression Language
25、 . 72 8.6.1 Syntax . 72 8.6.2 Procedures . .74 9 Groves 75 9.1 Nodal Properties . .76 9.2 Grove Plans .77 9.3 Property Set Definition .78 9.3.1 Common Attributes . .78 9.3.1.1 Component Names . .78 9.3.1.2 Specification Documents . .79 9.3.2 Modules 79 9.3.3 Data Type Definition 8 0 9.3.4 Class Defi
26、nition . -8 1 9.3.5 Property Definition . 81 9.3.6 Normalization Rule Definition .82 9.4 Intrinsic Properties 83 9.5 Auxiliary Groves . 84 9.6 SGML Property Set .84 9.7 DSSSL SGML Grove Plan 122 10 Standard Document Query Language 123 10.1 Primitive Procedures .123 10.1.1 Application Binding .123 10
27、.1.2 Node Lists . .124 10.1.3 Named Node Lists . .124 10.1.4 Error Reporting 125 10.1.5 Application Name Transformation 125 10.1.6 Property Values . .125 10.1.7 SGML Grove Construction 126 10.2 Derived Procedures -126 10.2.1 HyTime Support .126 10.2.2 List Operations . 130 10.2.3 Generic Property Op
28、erations . .137 10.2.4 Core Query Language . .143 10.2.4.1 Navigation . 143 10.2.4.2 Counting . .143 10.2.4.3 Accessing Attribute Values . 144 10.2.4.4 Testing Current Location . .145 10.2.4.5 Entities and Notations . 146 V ISOAEC10179:1996(E) Q ISO/IEC 10.2. 14 point Bodoni). Central to the concept
29、 of generic coding is the separation of the information content of documents from the format or appearance of the content. The generic coding concept gained prominence in the early 1970s and came to fruition with the development of SGML. While SGML provides the language for modeling classes of docum
30、ents, it does not prescribe any particular model or pre-defined tag set. A set of rules (consisting primarily of a DTD and its supporting documentation) that applies SGML to a class of documents is known as an SGML application. SGML standardizes the representation of the document structure, leaving
31、it to users to develop their own techniques for interfacing with formatters and other processors, such as general purpose translators. DSSSL is designed to support this second class of applications by providing a standardized architecture for formatting and other processing specifications, allowing
32、users to interchange such specifications within a standardized framework. A DSSSL specification is normally external to the SGML document to which it applies, and thus multiple specifications may be applied to a given SGML document to yield various presentations of the same data. SGML provides the a
33、bility to distinguish between the intrinsic content and structure of a document, on the one hand, and the specifications for processing it on the other. With DSSSL, formatting and other processing specifications may be interchanged in conjunction with SGML documents to provide the standardized speci
34、fication of document display while preserving the essential distinction between content and format. xi ISO/IEC 10179:1996(E) Q ISOIIEC xii INTERNATIONAL STANDARD IsoflEc ISO/IEC 10179: 1996(E) Information technology - Processing languages - Document Style Semantics and Specification Language (DSSSL)
35、 1 Scope This International Standard is designed to specify the processing of valid SGML documents. DSSSL defines the semantics, syntax, and processing model of two languages for the specification of document processing: a) The transformation language for transforming SGML documents marked up in acc
36、ordance with one or more DTDs into other SGML documents marked up in accordance with other DTDs. The specification of this transformation process is fully defined by this International Standard. b) The style language, where the result is achieved by applying a set of formatting characteristics to po
37、rtions of the data, and the specification is, therefore, as precise as the application requires, leaving some formatting decisions, such as line-end and column-end decisions, to the composition and layout process. The DSSSL style language is intended to be used in a wide variety of environments with
38、 typographic requirements ranging from simple single-column layouts to complex multiple- column layouts. This International Standard does not standardize a formatter nor does it standardize composition or other processing algorithms, Rather, it provides the means whereby an implementation may extern
39、alize style characteristics and other techniques for associating style information with an SGML document. DSSSL provides a mechanism for specifying the use of external processes to manipulate data. The nature of these processes is outside the scope of DSSSL, but may include typical data management f
40、unctions, such as sorting and indexing; typical composition functions, such as hyphenation algorithms; and graphics or multimedia processes for non-SGML data. Documents that have already been formatted or do not contain any hierarchical structural information or generic markup are not within the fie
41、ld of application of this International Standard. DSSSL expresses specifications to be performed by some processor that accepts an input document and produces an output document. DSSSL is independent of the type of formatter, formatting system, or other transformation processor. ISO/IEC 10179:1996(E
42、) Q ISO/IEC DSSSL includes a) Constructs that provide access to, and control of, all possible marked-up information in an SGML document, as well as mechanisms for string processing to allow for the manipulation of non-marked up data. This is provided by the Standard Document Query Language (SDQL) co
43、mponent of DSSSL. NOTE 1 String processing is necessary so that no special markers need be embedded in the source document to indicate presentational changes. The display of a dropped or raised capital letter in a larger point size at the beginning of a line or paragraph is an example of a case wher
44、e string processing may be used to isolate the first character or group of characters in order to achieve a desired presentational effect. b) Provisions for specifying the relationship between one or more SGML documents as input to a transformation process and zero or more resulting SGML documents a
45、s the output of the process. c) Provisions for specifying the relationships between the SGML document(s), as expressed in the source Document Type Definition(s), and the result of the formatting process. The output of the formatting process may be an ISO/IEC 10180 Standard Page Description Language
46、(SPDL) document or it may be a document in some other, possibly proprietary, form. d) Provisions for describing the typographic style and layout of a document. e) Definitions of a machine-processable syntax for the representation of a DSSSL specification and its various components. f) Provisions for
47、 creating new DSSSL characteristics and their associated values, as well as new flow object classes. These are declared in the declarations for the style language portion of the DSSSL specification. This International Standard is intended for use in a wide variety of SGML application environments, i
48、ncluding both electronic publishing and conventional printing. 2 Conformance DSSSL includes two independent languages, the transformation language and the style language, which specify processing of an SGML document. A DSSSL specification contains a number of process specifications, each of which us
49、es either the style language or the transformation language. A process specification that uses the style language is a style-specification. A process specification that uses the transformation language is a transformation-specification. If a style-specification complies with all the provisions of this International Standard, it is a conforming DSSSL style-specification. If a transformation-specification complies with all the provisions of this International Standard, it is a conforming DSSSL transformation-specification. In both the style language and transformation language, some fa