1、 Reference number ISO/IEC TR 19758:2003/Amd.1:2005(E) ISO/IEC 2005TECHNICAL REPORT ISO/IEC TR 19758 First edition 2003-04-01 AMENDMENT 1 2005-07-01 Information technology Document description and processing languages DSSSL library for complex compositions AMENDMENT 1: Extensions to basic composition
2、 styles and tables Technologies de linformation Description de document et langages de traitement Bibliothque DSSSL pour compositions complexes AMENDEMENT 1: Extensions aux styles de composition de base et aux tableaux ISO/IEC TR 19758:2003/Amd.1:2005(E) PDF disclaimer This PDF file may contain embe
3、dded typefaces. In accordance with Adobes licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this file, parties accept therein the responsibility of
4、not infringing Adobes licensing policy. The ISO Central Secretariat accepts no liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters
5、were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below. ISO/IEC 2005 All rights reserved. Unless otherwise
6、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 either ISO at the address below or ISOs member body in the country of the requester. ISO copyright offi
7、ce Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyrightiso.org Web www.iso.org Published in Switzerland ii ISO/IEC 2005 All rights reservedISO/IEC TR 19758:2003/Amd.1:2005(E) ISO/IEC 2005 All rights reserved iii Foreword ISO (the International Organization
8、for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective
9、organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information tec
10、hnology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of the joint technical committee is to prepare International Standards. Draft International Standa
11、rds adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. In exceptional circumstances, the joint technical committee may propose the publication of a T
12、echnical Report of one of the following types: type 1, when the required support cannot be obtained for the publication of an International Standard, despite repeated efforts; type 2, when the subject is still under technical development or where for any other reason there is the future but not imme
13、diate possibility of an agreement on an International Standard; type 3, when the joint technical committee has collected data of a different kind from that which is normally published as an International Standard (“state of the art”, for example). Technical Reports of types 1 and 2 are subject to re
14、view within three years of publication, to decide whether they can be transformed into International Standards. Technical Reports of type 3 do not necessarily have to be reviewed until the data they provide are considered to be no longer valid or useful. Attention is drawn to the possibility that so
15、me of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Amendment 1 to ISO/IEC TR 19758:2003 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 34,
16、Document description and processing languages. This amendment provides additional DSSSL library specifications for basic composition styles and table compositions. ISO/IEC TR 19758:2003/Amd.1:2005(E) ISO/IEC 2005 All rights reserved 1 Information technology Document description and processing langua
17、ges DSSSL library for complex compositions AMENDMENT 1 Extensions to basic composition styles and tables Page 5, Clause 4.4 Add the following clause 4.4.1 before 4.5: “ 4.4.1 Graphical method using the Unwin module concept Content-driven specification can be determined by using a graphical method ba
18、sed on the Unwin module concept. The following procedure and Figure A1.1 show how all four margins are specified graphically using the Unwin module concept. a) Specify S point. b) Draw diagonal line from the top-right edge through S point to bottom left edge. c) Draw line from left page of bottom-le
19、ft edge to right page of top-right edge. d) Draw line from left page of top-left edge to right page of bottom-right edge. e) Draw line from left page of top-left edge to left page of bottom right edge. f) Draw line from right page of top-left edge to right page of bottom right edge. g) Draw horizont
20、al line from S point until reaching line which was drawn in procedure d). h) Draw vertical line from point A until reaching line which was drawn in procedure b). i) Draw horizontal line from point B and vertical line from S to set point C. Figure A1.1 Procedure of graphical method 1.33 3 10.6 1.0 1.
21、0 1.33 2.0 2.0 10.6 S a b c 1 d f g e h i A BCISO/IEC TR 19758:2003/Amd.1:2005(E) 2 ISO/IEC 2005 All rights reservedIt is difficult to flow content into areas defined using the Unwin. Figure A1.2 Specification of starting point The number of em characters in a line and the number of lines in a page
22、must be specified in a content-driven specification. As shown in figure A1.2, starting point S is determined by the closest starting point on diagonal line A that will give the largest number of designated em characters in a line between diagonal lines A and B. The following equation is used to calc
23、ulate the length of the line floating direction: By adopting this equation, the graphical method can be applied to content-driven method. When using the above content-driven method as part of a DSSSL library, specification of right margin, font size, number of lines and line spacing is required. Sin
24、ce the use of four sets of data is not efficient within a DSSSL library, users should limit the inputting data to values of gutter margin (*gutter-margin*) and font size (*default-font-size*). The default value of line-spacing is designated as 1.5 em. ” Page 14, Clause 4.18 Add the following clauses
25、 after 4.18.2: “ 4.18.3 Rounded corner table The shape of a table is rectangular, though corners are allowed to be rounded. If you wish to round the corner of table, use *corner-rounded-table-style* under the specification of element table. The radius of the corner is specified using (define *base-t
26、able-corner-radius* 3pt). By changing the number within define, the radius of table corner is specified as the value of it. The default value of a table corner radius is 3pt. Diagonal Line A Diagonal Line B length of line direction = (number of line -1) (line spacing) + (character size) ISO/IEC TR 1
27、9758:2003/Amd.1:2005(E) ISO/IEC 2005 All rights reserved 3 4.18.4 Table header column and row Figure A1.3 Major Table layout Table header column and table header row should be defined as siblings of table column and table row respectively. The table header column and table header row should have the
28、 same children as table column and table row respectively, and initially be specified with their background color of light-gray, as shown in figure A1.3. 4.18.5 Multiple strings in table cells Figure A1.4 Multiple strings in table cell Multiple table cell should be defined as siblings of table-cell
29、, and have its children; row string and column string . The row string includes #PCDATA which are related to row data. The column string includes #PCDATA which are related to column data. The multiple table cell with the following specification will be rendered as shown at the top-left cell of figur
30、e A1.4. alpha num 4.18.5.1 Diagonal line through table If you wish to draw a diagonal line through a whole table, such as a league match table, specify the diagonal line as the attribute of the element TABLE. One restriction of this designation is that the number of columns and rows to which the dia
31、gonal is applied must be the same number. 4.18.6 Word wrapping It is possible to reduce the font size if the string in a cell is larger than the width of the cell. This is designated using the attribute DesFSize=”#t”, which indicated that the font size is to be reduced if the cell width is exceeded.
32、 “#f” means a linefeed must be inserted to wrap the remainder of the word onto a second line. ” alpha num Row Column Table header row Table header column Cell ISO/IEC TR 19758:2003/Amd.1:2005(E) 4 ISO/IEC 2005 All rights reservedPage 34, Clause 6 Add the following specification before “; Position of
33、 image area“: ; graphical method using the Unwin module concept ; ; (define *gutter-margin* 10mm) (define *default-font-size* 15pt) (define *a4-width* 210.0mm) (define *a4-height* 297.0mm) (define-unit linefeed (* *default-font-size* 1.5) (declare-initial-value font-size *default-font-size*) (declar
34、e-initial-value line-spacing 1linefeed) (define _PH_ *a4-height*) (define _PW_ *a4-width*) (define _TM_ (* *gutter-margin* (/ _PH_ _PW_) (define _BM_ (* 2 _TM_) (define _LM_ (* 2 _RM_) (define _RM_ *gutter-margin*) (define _RW_ (* *default-font-size* (ceiling (/ (- *a4-width* (* 3 _RM_) *default-fon
35、t-size*) (define *linenumber* (ceiling (/ (- (+ (- *a4-height* (* 3 _TM_) 1linefeed) *default-font- size*) 1linefeed) (define _RH_ (+ (* (- *linenumber* 1) 1linefeed) *default-font-size*) (define-page-model unwin_module_a4_left (filling-direction top-to-bottom) (width _PW_) (height _PH_) (region (wi
36、dth _RW_) (height _RH_) (x-origin (- *a4-width* _RW_ _RM_) (y-origin _BM_) ) (define-page-model unwin_module_a4_right (filling-direction top-to-bottom) (width _PW_) (height _PH_) (region (width _RW_) (height _RH_) (x-origin _RM_) (y-origin _BM_) ) ISO/IEC TR 19758:2003/Amd.1:2005(E) ISO/IEC 2005 All
37、 rights reserved 5 Page 56, Clause 9 Replace existing Table specification with the following specification: ; = TABLES = ; Specification of table corner rounded style (declare-characteristic table-corner-rounded “UNREGISTERED:Next Solution/Characteristic:table-corner-rounded“ “#f“) ; Specification o
38、f actual table element (element TABLE (let (number-of-columns (node-list-reduce (node-list-rest (children (current-node) (lambda (cols nd) (max cols (node-list-length (children nd) 0) (make display-group space-before: %block-sep% space-after: %block-sep% start-indent: %body-start-indent% (with-mode
39、table-caption-mode (process-first-descendant “CAPTION“) (make table use: *table-style* ; Replace below designation to above if you wish to round table corner ; use: *corner-rounded-table-style* (process-children) (mode table-caption-mode (element CAPTION (make paragraph ; use: para-style quadding: c
40、enter font-weight: bold space-before: %block-sep% space-after: %para-sep% start-indent: (inherited-start-indent); (literal (string-append “Table “ (format-number (element-number) “1“) “. “) (process-children-trim) (element CAPTION (empty-sosofo) ; dont show caption inside the table (element TC (make
41、-column “COLUMN_WIDTH“) (element THC (make-background-column “COLUMN_WIDTH“) (element THR (make table-row use: *background-cell-style* (process-children-trim) ISO/IEC TR 19758:2003/Amd.1:2005(E) 6 ISO/IEC 2005 All rights reserved(element TR (make table-row (process-children-trim) (element MTD (make-
42、multiple-cell (make paragraph (process-matching-children “RSTR“) (make paragraph (process-matching-children “CSTR“) (element TH (make table-cell ;n-rows-spanned: (string-number (attribute-string “COLSPAN“) quadding: center use: *cell-style* (make paragraph font-weight: bold space-before: 0.25em spac
43、e-after: 0.25em start-indent: 0.25em end-indent: 0.25em quadding: start (process-children-trim) (element TD (make table-cell ;n-rows-spanned: (string-number (attribute-string “COLSPAN“) quadding: center use: *cell-style* (make paragraph space-before: 0.25em space-after: 0.25em start-indent: 0.25em e
44、nd-indent: 0.25em quadding: start (process-children-trim) ; All definition toward table designation (define *rgb-color-space* (color-space “ISO/IEC 10179:1996/Color-Space Family:Device RGB“) (define (rgb R G B) (color *rgb-color-space* (/ R 255) (/ G 255) (/ B 255) (define *lightgray* (rgb 211 211 2
45、11) (define *base-background-color* *lightgray*) (define *base-table-border* #t) (define *base-table-corner-radius* 3pt) (define *base-display-alignment* center) (define *base-cell-margin* 1mm) (define *base-cell-border* #t) (define *base-cell-row-alignment* center) (define *table-style* (style tabl
46、e-border: *base-table-border* display-alignment: *base-display-alignment*) (define *corner-rounded-table-style* (style use: *table-style* ISO/IEC TR 19758:2003/Amd.1:2005(E) ISO/IEC 2005 All rights reserved 7table-corner-radius: *base-table-corner-radius* table-corner-rounded: “#t“) (define *cell-ma
47、rgin-style* (style cell-before-row-margin: *base-cell-margin* cell-after-row-margin: *base-cell-margin* cell-before-column-margin: *base-cell-margin* cell-after-column-margin: *base-cell-margin* ) (define *cell-border-style* (style cell-before-row-border: *base-cell-border* cell-before-column-border
48、: *base-cell-border* ) (define *cell-style* (style use: (merge-style *cell-border-style* *cell-margin-style*) cell-row-alignment: *base-cell-row-alignment*) (define *background-cell-style* (style cell-background?: #t background-color: *base-background-color* use: *cell-style* ) (define (make-column attribute) (make table-column width: (* 1mm (string-number (attribute-string attribute) (define (make-background-column attribute) (make table-column use: *background-cell-style* width: (* 1mm (string-number (attribute-string attribute) (define *nonborder-style* (styl