home *** CD-ROM | disk | FTP | other *** search
/ Internet Standards / CD1.mdf / nist / oiw / agreemnt / 27w_9403.txt < prev    next >
Text File  |  1994-05-22  |  539KB  |  14,521 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.           Working Implementation
  9.           Agreements for Open Systems
  10.           Interconnection Protocols:
  11.           Part 27 - Open Document Architecture Level 2 to Level 3 Migration
  12.           DAP
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.           Output from the March 1994 Open Systems Environment Implementors'
  26.           Workshop (OIW)
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.           Acting SIG Chair:  Jon Stewart, Quality One Software Corporation
  60.           SIG Editor:    Jim Wing, IBM Software Solutions Div. 
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.           Foreword
  84.  
  85.           This part of  the Working Implementation Agreements  was prepared
  86.           by the   of the  Open Systems Environment  Implementors' Workshop
  87.           (OIW).  
  88.  
  89.           This text was approved by the Plenary of the Workshop. 
  90.  
  91.           This  Specification is  intended to  be  used only  as a  working
  92.           agreement to  aid the  development of  an Implementation  Support
  93.           Requirements  (ISR)  on the  FOD36  |  PM-36  DAP for  the  North
  94.           American region. This ISR will  eventually be added as the second
  95.           part of Part  16 of the OIW Agreements,  which currently contains
  96.           only the FOD36 | PM-36 DAP.
  97.  
  98.           This  Specification  is  not  intended  to  be  a   new  Document
  99.           Application Profile for  the North American or any  other region.
  100.           Therefore this Specification  uses the same DAP identifier as the
  101.           FOD36 | PM-36 DAP.
  102.  
  103.           Annex A forms an integral part of this part of the Specification.
  104.           Annexes B and C are for information only.
  105.  
  106.                               
  107.  
  108.           Future changes and additions to this version of these Implementor
  109.           Agreements will be published as  a new part with redline (shaded)
  110.           for next text and stikeout (---) for deleted text.
  111.  
  112.           This part  uses a convention of double and single quotes that has
  113.           been established  by ISO  for use  in the  ODA base standard  and
  114.           related document application  profiles. The convention is  to use
  115.           within the text double  quotes to accentuate ODA  attribute names
  116.           and single quotes to accentuate values for those attributes.
  117.                 
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                                           ii
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  141.  
  142.  
  143.  
  144.                                        Contents
  145.  
  146.  
  147.           List of figures . . . . . . . . . . . . . . . . . . . . . . .  xi
  148.  
  149.           List of tables  . . . . . . . . . . . . . . . . . . . . . . . xii
  150.  
  151.           Part 27  - Open Document  Architecture Level 2  to Level  3
  152.                  Migration DAP  . . . . . . . . . . . . . . . . . . . .   1
  153.  
  154.           Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   1
  155.  
  156.           1  Scope  . . . . . . . . . . . . . . . . . . . . . . . . . .   2
  157.  
  158.           2  Normative references . . . . . . . . . . . . . . . . . . .   3
  159.           2.1    Paired  Recommendations  |  International  Standards
  160.                  equivalent in technical content  . . . . . . . . . . .   3
  161.           2.2  Additional references  . . . . . . . . . . . . . . . . .   5
  162.  
  163.           3  Definitions  . . . . . . . . . . . . . . . . . . . . . . .   7
  164.  
  165.           4  Relationship with other profiles . . . . . . . . . . . . .   8
  166.  
  167.           5  Conformance  . . . . . . . . . . . . . . . . . . . . . . .   8
  168.           5.1  Data stream conformance  . . . . . . . . . . . . . . . .   8
  169.           5.2  Implementation conformance . . . . . . . . . . . . . . .   9
  170.  
  171.           6   Characteristics supported by  this document application
  172.                  profile  . . . . . . . . . . . . . . . . . . . . . . .  10
  173.           6.1  Overview . . . . . . . . . . . . . . . . . . . . . . . .  10
  174.           6.1.1  General  . . . . . . . . . . . . . . . . . . . . . . .  10
  175.           6.1.2  Processable form documents . . . . . . . . . . . . . .  11
  176.           6.1.3  Formatted processable form documents . . . . . . . . .  11
  177.           6.1.4  Generic documents  . . . . . . . . . . . . . . . . . .  12
  178.           6.1.5  Document profile   . . . . . . . . . . . . . . . . . .  13
  179.           6.2  Logical characteristics  . . . . . . . . . . . . . . . .  13
  180.           6.2.1  Introduction . . . . . . . . . . . . . . . . . . . . .  13
  181.           6.2.2  Overview of the logical structure  . . . . . . . . . .  13
  182.           6.2.3  Body part of the logical structure . . . . . . . . . .  13
  183.           6.2.3.1  DocumentLogicalRoot  . . . . . . . . . . . . . . . .  13
  184.           6.2.3.2  Passage  . . . . . . . . . . . . . . . . . . . . . .  14
  185.           6.2.3.3  NumberedSegment  . . . . . . . . . . . . . . . . . .  15
  186.           6.2.3.4  Number
  187.           . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  16
  188.           6.2.3.5  Paragraph  . . . . . . . . . . . . . . . . . . . . .  17
  189.           6.2.3.6  BodyText, BodyRaster and BodyGeometric . . . . . . .  17
  190.           6.2.3.7  Footnote . . . . . . . . . . . . . . . . . . . . . .  18
  191.  
  192.  
  193.                                          iii
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  207.  
  208.           6.2.3.8  FootnoteReference  . . . . . . . . . . . . . . . . .  19
  209.           6.2.3.9  FootnoteBody . . . . . . . . . . . . . . . . . . . .  19
  210.           6.2.3.10  FootnoteNumber  . . . . . . . . . . . . . . . . . .  20
  211.           6.2.3.11  FootnoteText  . . . . . . . . . . . . . . . . . . .  20
  212.           6.2.3.12  Phrase  . . . . . . . . . . . . . . . . . . . . . .  21
  213.           6.2.3.12.1  Reference . . . . . . . . . . . . . . . . . . . .  21
  214.           6.2.3.12.2  ReferencedContent . . . . . . . . . . . . . . . .  22
  215.           6.2.3.13  Constituents used to represent tables . . . . . . .  23
  216.           6.2.3.13.1  Introduction  . . . . . . . . . . . . . . . . . .  23
  217.           6.2.3.13.2  Table . . . . . . . . . . . . . . . . . . . . . .  23
  218.           6.2.3.13.3  Row . . . . . . . . . . . . . . . . . . . . . . .  23
  219.           6.2.3.13.4  EntryElement  . . . . . . . . . . . . . . . . . .  23
  220.           6.2.3.13.5  EntryText, EntryRaster and EntryGeometric . . . .  24
  221.           6.2.3.14  Constituents representing lists . . . . . . . . . .  24
  222.           6.2.3.14.1  Introduction  . . . . . . . . . . . . . . . . . .  24
  223.           6.2.3.14.2  NumberedList  . . . . . . . . . . . . . . . . . .  25
  224.           6.2.3.14.3  UnNumberedList  . . . . . . . . . . . . . . . . .  25
  225.           6.2.3.14.4  DefinitionList  . . . . . . . . . . . . . . . . .  25
  226.           6.2.3.14.5  ListItem  . . . . . . . . . . . . . . . . . . . .  26
  227.           6.2.3.14.6  ListTerm  . . . . . . . . . . . . . . . . . . . .  26
  228.           6.2.4  Common content part of the logical structure . . . . .  26
  229.           6.2.4.1  CommonContent  . . . . . . . . . . . . . . . . . . .  26
  230.           6.2.4.2  CommonText . . . . . . . . . . . . . . . . . . . . .  27
  231.           6.2.4.3  PageNumber . . . . . . . . . . . . . . . . . . . . .  27
  232.           6.2.4.4  CommonRaster . . . . . . . . . . . . . . . . . . . .  28
  233.           6.2.4.5  CommonGeometric  . . . . . . . . . . . . . . . . . .  28
  234.           6.2.4.6  CommonReference  . . . . . . . . . . . . . . . . . .  28
  235.           6.2.4.7  TableNumber  . . . . . . . . . . . . . . . . . . . .  28
  236.           6.2.1  Overview of the layout characteristics . . . . . . . .  30
  237.           6.2.2  DocumentLayoutRoot . . . . . . . . . . . . . . . . . .  31
  238.           6.2.3  PageSet  . . . . . . . . . . . . . . . . . . . . . . .  31
  239.           6.2.4  Page characteristics . . . . . . . . . . . . . . . . .  31
  240.           6.2.4.1  Page constituents  . . . . . . . . . . . . . . . . .  31
  241.           6.2.4.2  Page dimensions  . . . . . . . . . . . . . . . . . .  33
  242.           6.2.4.3  Nominal page sizes . . . . . . . . . . . . . . . . .  33
  243.           6.2.4.4  Page offset  . . . . . . . . . . . . . . . . . . . .  33
  244.           6.2.4.5  Page layout characteristics  . . . . . . . . . . . .  34
  245.           6.2.4.5.1  General characteristics  . . . . . . . . . . . . .  34
  246.           6.2.4.5.2  Body area layout . . . . . . . . . . . . . . . . .  35
  247.           6.2.4.5.3  Header/footer area layout  . . . . . . . . . . . .  35
  248.           6.2.4.5.4  Page layout  . . . . . . . . . . . . . . . . . . .  35
  249.           6.2.5  Body area characteristics  . . . . . . . . . . . . . .  37
  250.           6.2.5.1  General characteristics  . . . . . . . . . . . . . .  38
  251.           6.2.5.2  BasicBody  . . . . . . . . . . . . . . . . . . . . .  38
  252.           6.2.5.3  VariableCompositeBody  . . . . . . . . . . . . . . .  38
  253.           6.2.5.4  BasicFloat . . . . . . . . . . . . . . . . . . . . .  39
  254.           6.2.5.5  SnakingColumns . . . . . . . . . . . . . . . . . . .  40
  255.           6.2.5.6  SynchronizedColumns  . . . . . . . . . . . . . . . .  42
  256.           6.2.5.7  ColumnVariable . . . . . . . . . . . . . . . . . . .  43
  257.           6.2.5.8  ColumnFixed  . . . . . . . . . . . . . . . . . . . .  44
  258.  
  259.                                           iv
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  273.  
  274.           6.2.5.9  FootnoteArea . . . . . . . . . . . . . . . . . . . .  45
  275.           6.2.5.10  Constituents used for laying out tables . . . . . .  46
  276.           6.2.5.10.1  Overview  . . . . . . . . . . . . . . . . . . . .  46
  277.           6.2.5.10.2  TableArea . . . . . . . . . . . . . . . . . . . .  47
  278.           6.2.5.10.3  TableHeader . . . . . . . . . . . . . . . . . . .  48
  279.           6.2.5.10.4  TableLabel  . . . . . . . . . . . . . . . . . . .  48
  280.           6.2.5.10.5  TableLabelContent . . . . . . . . . . . . . . . .  49
  281.           6.2.5.10.6  RowArea . . . . . . . . . . . . . . . . . . . . .  49
  282.           6.2.5.10.7  Cell  . . . . . . . . . . . . . . . . . . . . . .  49
  283.           6.2.6  Header and footer area characteristics . . . . . . . .  50
  284.           6.2.6.1  General characteristics  . . . . . . . . . . . . . .  50
  285.           6.2.6.2  BasicHeader and BasicFooter  . . . . . . . . . . . .  50
  286.           6.2.6.3  CompositeHeader and CompositeFooter  . . . . . . . .  50
  287.           6.2.6.4  SourcedContentVariable . . . . . . . . . . . . . . .  51
  288.           6.2.6.5  ArrangedContentVariable  . . . . . . . . . . . . . .  52
  289.           6.2.6.6  SourcedContentFixed  . . . . . . . . . . . . . . . .  52
  290.           6.2.6.7  ArrangedContentFixed . . . . . . . . . . . . . . . .  53
  291.           6.2.7  GenericBlock and SpecificBlock . . . . . . . . . . . .  53
  292.           6.3.1  Flow controls  . . . . . . . . . . . . . . . . . . . .  54
  293.           6.3.1.1  Allocation of content to page sets . . . . . . . . .  54
  294.           6.3.1.2  Page breaks  . . . . . . . . . . . . . . . . . . . .  55
  295.           6.3.1.3  Allocation of content to body areas  . . . . . . . .  56
  296.           6.3.1.3.1   General mechanism  for laying out content  in a
  297.                  composite body area  . . . . . . . . . . . . . . . . .  56
  298.           6.3.1.3.2  Layout into BasicFloat frames  . . . . . . . . . .  57
  299.           6.3.1.3.3  Layout in SnakingColumns frames  . . . . . . . . .  58
  300.           6.3.1.3.4  Layout in SynchronizedColumns frames . . . . . . .  58
  301.           6.3.1.3.5  Layout of tables . . . . . . . . . . . . . . . . .  58
  302.           6.3.1.3.6  Layout of footnotes  . . . . . . . . . . . . . . .  60
  303.           6.3.1.4  Allocation of content to header and footer areas . .  60
  304.           6.3.2  Layout of document content . . . . . . . . . . . . . .  60
  305.           6.3.2.1  Margins  . . . . . . . . . . . . . . . . . . . . . .  61
  306.           6.3.2.2  Separation . . . . . . . . . . . . . . . . . . . . .  61
  307.           6.3.2.3  Indivisibility . . . . . . . . . . . . . . . . . . .  61
  308.           6.3.2.4  Same layout object . . . . . . . . . . . . . . . . .  62
  309.           6.3.2.5  Concatenation  . . . . . . . . . . . . . . . . . . .  63
  310.           6.3.2.6  Block alignment  . . . . . . . . . . . . . . . . . .  63
  311.           6.3.3    Layout controls  applicable  in  the absence  of a
  312.                  generic layout structure . . . . . . . . . . . . . . .  63
  313.           6.4  Content layout and imaging characteristics . . . . . . .  64
  314.           6.4.1  Character content  . . . . . . . . . . . . . . . . . .  65
  315.           6.4.1.1  Introduction . . . . . . . . . . . . . . . . . . . .  65
  316.           6.4.1.2  Character content architecture class . . . . . . . .  66
  317.           6.4.1.3  Character repertoires  . . . . . . . . . . . . . . .  66
  318.           6.4.1.4  Code extension techniques  . . . . . . . . . . . . .  67
  319.           6.4.1.5  Line spacing . . . . . . . . . . . . . . . . . . . .  68
  320.           6.4.1.6  Character spacing  . . . . . . . . . . . . . . . . .  69
  321.           6.4.1.7  Character path and line progression  . . . . . . . .  70
  322.           6.4.1.8  Character positioning controls . . . . . . . . . . .  71
  323.           6.4.1.9  Character orientation  . . . . . . . . . . . . . . .  71
  324.  
  325.                                           v
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  339.  
  340.           6.4.1.10  Emphasis  . . . . . . . . . . . . . . . . . . . . .  72
  341.           6.4.1.11  Tabulation  . . . . . . . . . . . . . . . . . . . .  73
  342.           6.4.1.12  Alignment . . . . . . . . . . . . . . . . . . . . .  74
  343.           6.4.1.13  First line format . . . . . . . . . . . . . . . . .  74
  344.           6.4.1.14  Widow and orphan sizes  . . . . . . . . . . . . . .  75
  345.           6.4.1.15  Fonts . . . . . . . . . . . . . . . . . . . . . . .  75
  346.           6.4.1.16  Kerning offset  . . . . . . . . . . . . . . . . . .  76
  347.           6.4.1.17  Proportional line spacing . . . . . . . . . . . . .  76
  348.           6.4.1.18  Superscripts and subscripts . . . . . . . . . . . .  76
  349.           6.4.1.19  Line breaks . . . . . . . . . . . . . . . . . . . .  76
  350.           6.4.1.20  Substitution of characters  . . . . . . . . . . . .  76
  351.           6.4.1.21  Initial point . . . . . . . . . . . . . . . . . . .  77
  352.           6.4.1.22  Use of control functions  . . . . . . . . . . . . .  77
  353.           6.4.1.23  Formatting the content  . . . . . . . . . . . . . .  78
  354.           6.4.2  Raster graphics content  . . . . . . . . . . . . . . .  78
  355.           6.4.2.1  Introduction . . . . . . . . . . . . . . . . . . . .  78
  356.           6.4.2.2  Raster graphics content architecture . . . . . . . .  78
  357.           6.4.2.3  Raster graphics encoding methods . . . . . . . . . .  79
  358.           6.4.2.4  Pel path and line progression  . . . . . . . . . . .  80
  359.           6.4.2.5  Clipping . . . . . . . . . . . . . . . . . . . . . .  81
  360.           6.4.2.6  Pel spacing  . . . . . . . . . . . . . . . . . . . .  82
  361.           6.4.2.7  Spacing ratio  . . . . . . . . . . . . . . . . . . .  82
  362.           6.4.2.8  Image dimensions . . . . . . . . . . . . . . . . . .  83
  363.           6.4.3  Geometric graphics content . . . . . . . . . . . . . .  83
  364.           6.5.1  Resource-documents . . . . . . . . . . . . . . . . . .  84
  365.           6.5.2  External-documents . . . . . . . . . . . . . . . . . .  84
  366.           6.5.3  Border . . . . . . . . . . . . . . . . . . . . . . . .  84
  367.           6.5.4  Application comments . . . . . . . . . . . . . . . . .  84
  368.           6.5.5  Alternative representation . . . . . . . . . . . . . .  85
  369.           6.5.6  Automatic numbering and referencing mechanisms . . . .  85
  370.           6.5.6.1  Introduction . . . . . . . . . . . . . . . . . . . .  86
  371.           6.5.6.2  Bindings . . . . . . . . . . . . . . . . . . . . . .  86
  372.           6.5.6.2.1  Binding 'prefixes-<n>' . . . . . . . . . . . . . .  86
  373.           6.5.6.2.2  Binding 'suffixes-<n>' . . . . . . . . . . . . . .  87
  374.           6.5.6.2.3  Binding 'numberstring-<n>' . . . . . . . . . . . .  87
  375.           6.5.6.2.4  Binding 'numbers-<n>'  . . . . . . . . . . . . . .  87
  376.           6.5.6.2.5  Binding 'fnotestring'  . . . . . . . . . . . . . .  88
  377.           6.5.6.3  Numbering of segments  . . . . . . . . . . . . . . .  88
  378.           6.5.6.4  Numbering of lists . . . . . . . . . . . . . . . . .  89
  379.           6.5.6.5  Numbering of tables  . . . . . . . . . . . . . . . .  90
  380.           6.5.6.6  Footnote numbering . . . . . . . . . . . . . . . . .  91
  381.           6.5.6.7  Page numbering . . . . . . . . . . . . . . . . . . .  91
  382.           6.5.6.8  Common references  . . . . . . . . . . . . . . . . .  93
  383.           6.5.7  User readable comments . . . . . . . . . . . . . . . .  94
  384.           6.5.8  User visible name  . . . . . . . . . . . . . . . . . .  94
  385.           6.6  Document management features . . . . . . . . . . . . . .  94
  386.           6.6.1  Document constituent information . . . . . . . . . . .  95
  387.           6.6.1.1  Presence of document constituents  . . . . . . . . .  95
  388.           6.6.1.2  Resource-document information  . . . . . . . . . . .  95
  389.           6.6.1.3  External-document information  . . . . . . . . . . .  95
  390.  
  391.                                           vi
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  405.  
  406.           6.6.2  Document identification information  . . . . . . . . .  96
  407.           6.6.2.1  Document application profile information . . . . . .  96
  408.           6.6.2.2  Document architecture class information  . . . . . .  96
  409.           6.6.2.3  Content architecture classes information . . . . . .  96
  410.           6.6.2.4  ODA version information  . . . . . . . . . . . . . .  96
  411.           6.6.2.5  Document reference . . . . . . . . . . . . . . . . .  96
  412.           6.6.3  Document default information . . . . . . . . . . . . .  97
  413.           6.6.4  Non-basic characteristics information  . . . . . . . .  97
  414.           6.6.4.1  Profile character sets . . . . . . . . . . . . . . .  98
  415.           6.6.4.2  Comments character sets  . . . . . . . . . . . . . .  98
  416.           6.6.4.3  Alternative representation character sets  . . . . .  99
  417.           6.6.5  Fonts list . . . . . . . . . . . . . . . . . . . . . .  99
  418.           6.6.6  Document management attributes . . . . . . . . . . . . 100
  419.           6.6.6.1  Additional information . . . . . . . . . . . . . . . 100
  420.  
  421.           7  Specification of constituent constraints . . . . . . . . . 101
  422.           7.1  Introduction . . . . . . . . . . . . . . . . . . . . . . 101
  423.           7.1.1  Diagrams of relationships of logical constituents  . . 101
  424.           7.1.2  Notation . . . . . . . . . . . . . . . . . . . . . . . 109
  425.           7.2  Document profile constituent constraints . . . . . . . . 111
  426.           7.2.1  Macro definitions  . . . . . . . . . . . . . . . . . . 111
  427.           7.2.2  Constituent constraints  . . . . . . . . . . . . . . . 118
  428.           7.2.2.1  DocumentProfile  . . . . . . . . . . . . . . . . . . 118
  429.           7.3  Logical constituent constraints  . . . . . . . . . . . . 124
  430.           7.3.1  Macro definitions  . . . . . . . . . . . . . . . . . . 124
  431.           7.3.2  Factor constraints . . . . . . . . . . . . . . . . . . 138
  432.           7.3.2.1  FACTOR ANY-LOGICAL . . . . . . . . . . . . . . . . . 139
  433.           7.3.2.2  FACTOR COMP-LOGICAL  . . . . . . . . . . . . . . . . 139
  434.           7.3.2.3  FACTOR BASIC-LOGICAL . . . . . . . . . . . . . . . . 139
  435.           7.3.2.4  FACTOR ANY-COMMON  . . . . . . . . . . . . . . . . . 139
  436.           7.3.3  Constituent constraints  . . . . . . . . . . . . . . . 139
  437.           7.3.3.1  DocumentLogicalRoot  . . . . . . . . . . . . . . . . 140
  438.           7.3.3.2  Passage  . . . . . . . . . . . . . . . . . . . . . . 140
  439.           7.3.3.3  NumberedSegment  . . . . . . . . . . . . . . . . . . 140
  440.           7.3.3.4  Number . . . . . . . . . . . . . . . . . . . . . . . 141
  441.           7.3.3.5  Paragraph  . . . . . . . . . . . . . . . . . . . . . 141
  442.           7.3.3.6  Phrase . . . . . . . . . . . . . . . . . . . . . . . 142
  443.           7.3.3.7  Footnote . . . . . . . . . . . . . . . . . . . . . . 142
  444.           7.3.3.8  FootnoteNumber . . . . . . . . . . . . . . . . . . . 143
  445.           7.3.3.9  FootnoteReference  . . . . . . . . . . . . . . . . . 143
  446.           7.3.3.10  FootnoteBody  . . . . . . . . . . . . . . . . . . . 143
  447.           7.3.3.11  FootnoteText  . . . . . . . . . . . . . . . . . . . 144
  448.           7.3.3.12  BodyText  . . . . . . . . . . . . . . . . . . . . . 144
  449.           7.3.3.13  Reference . . . . . . . . . . . . . . . . . . . . . 144
  450.           7.3.3.14  ReferencedContent . . . . . . . . . . . . . . . . . 145
  451.           7.3.3.15  BodyRaster  . . . . . . . . . . . . . . . . . . . . 145
  452.           7.3.3.16  BodyGeometric . . . . . . . . . . . . . . . . . . . 146
  453.           7.3.3.17  CommonContent . . . . . . . . . . . . . . . . . . . 146
  454.           7.3.3.18  CommonText  . . . . . . . . . . . . . . . . . . . . 146
  455.           7.3.3.19  CommonReference . . . . . . . . . . . . . . . . . . 147
  456.  
  457.                                          vii
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  471.  
  472.           7.3.3.20  CommonRaster  . . . . . . . . . . . . . . . . . . . 147
  473.           7.3.3.21  CommonGeometric . . . . . . . . . . . . . . . . . . 147
  474.           7.3.3.22  PageNumber  . . . . . . . . . . . . . . . . . . . . 148
  475.           7.3.3.23  TableNumber . . . . . . . . . . . . . . . . . . . . 148
  476.           7.3.3.24  NumberedList  . . . . . . . . . . . . . . . . . . . 148
  477.           7.3.3.25  UnNumberedList  . . . . . . . . . . . . . . . . . . 148
  478.           7.3.3.26  DefinitionList  . . . . . . . . . . . . . . . . . . 149
  479.           7.3.3.27  ListItem  . . . . . . . . . . . . . . . . . . . . . 149
  480.           7.3.3.28  ListTerm  . . . . . . . . . . . . . . . . . . . . . 150
  481.           7.3.3.29  Table . . . . . . . . . . . . . . . . . . . . . . . 150
  482.           7.3.3.30  Row . . . . . . . . . . . . . . . . . . . . . . . . 150
  483.           7.3.3.31  EntryElement  . . . . . . . . . . . . . . . . . . . 151
  484.           7.3.3.32  EntryText . . . . . . . . . . . . . . . . . . . . . 151
  485.           7.3.3.33  EntryRaster . . . . . . . . . . . . . . . . . . . . 151
  486.           7.3.3.34  EntryGeometric  . . . . . . . . . . . . . . . . . . 152
  487.           7.4  Layout constituent constraints . . . . . . . . . . . . . 153
  488.           7.4.1  Macro definitions  . . . . . . . . . . . . . . . . . . 153
  489.           7.4.2  Factor constraints . . . . . . . . . . . . . . . . . . 156
  490.           7.4.2.1  FACTOR ANY-LAYOUT  . . . . . . . . . . . . . . . . . 156
  491.           7.4.2.2  FACTOR ANY-PAGE  . . . . . . . . . . . . . . . . . . 156
  492.           7.4.2.3  FACTOR ANY-FRAME-FIXED . . . . . . . . . . . . . . . 156
  493.           7.4.2.4  FACTOR ANY-FRAME-VARIABLE  . . . . . . . . . . . . . 157
  494.           7.4.3  Constituent constraints  . . . . . . . . . . . . . . . 158
  495.           7.4.3.1  DocumentLayoutRoot . . . . . . . . . . . . . . . . . 158
  496.           7.4.3.2  PageSet  . . . . . . . . . . . . . . . . . . . . . . 158
  497.           7.4.3.3  Page . . . . . . . . . . . . . . . . . . . . . . . . 159
  498.           7.4.3.4  RectoPage  . . . . . . . . . . . . . . . . . . . . . 159
  499.           7.4.3.5  VersoPage  . . . . . . . . . . . . . . . . . . . . . 160
  500.           7.4.3.6  CompositeHeader  . . . . . . . . . . . . . . . . . . 160
  501.           7.4.3.7  CompositeFooter  . . . . . . . . . . . . . . . . . . 161
  502.           7.4.3.8  VariableCompositeBody  . . . . . . . . . . . . . . . 161
  503.           7.4.3.9  ColumnFixed  . . . . . . . . . . . . . . . . . . . . 162
  504.           7.4.3.10  ColumnVariable  . . . . . . . . . . . . . . . . . . 163
  505.           7.4.3.11  SnakingColumns  . . . . . . . . . . . . . . . . . . 164
  506.           7.4.3.12  SynchronizedColumns . . . . . . . . . . . . . . . . 165
  507.           7.4.3.13  BasicFloat  . . . . . . . . . . . . . . . . . . . . 166
  508.           7.4.3.14  FootnoteArea  . . . . . . . . . . . . . . . . . . . 167
  509.           7.4.3.15  ArrangedContentFixed  . . . . . . . . . . . . . . . 168
  510.           7.4.3.16  ArrangedContentVariable . . . . . . . . . . . . . . 169
  511.           7.4.3.17  SourcedContentFixed . . . . . . . . . . . . . . . . 169
  512.           7.4.3.18  SourcedContentVariable  . . . . . . . . . . . . . . 170
  513.           7.4.3.19  BasicHeader . . . . . . . . . . . . . . . . . . . . 171
  514.           7.4.3.20  BasicFooter . . . . . . . . . . . . . . . . . . . . 172
  515.           7.4.3.21  BasicBody . . . . . . . . . . . . . . . . . . . . . 172
  516.           7.4.3.22  GenericBlock  . . . . . . . . . . . . . . . . . . . 173
  517.           7.4.3.23  SpecificBlock . . . . . . . . . . . . . . . . . . . 174
  518.           7.4.3.24  TableArea . . . . . . . . . . . . . . . . . . . . . 176
  519.           7.4.3.25  TableHeader . . . . . . . . . . . . . . . . . . . . 176
  520.           7.4.3.26  TableLabel  . . . . . . . . . . . . . . . . . . . . 177
  521.           7.4.3.27  RowArea . . . . . . . . . . . . . . . . . . . . . . 178
  522.  
  523.                                          viii
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  537.  
  538.           7.4.3.28  Cell  . . . . . . . . . . . . . . . . . . . . . . . 179
  539.           7.4.3.29  TableLabelContent . . . . . . . . . . . . . . . . . 180
  540.           7.5  Layout style constituent constraints . . . . . . . . . . 181
  541.           7.5.1  Macro definitions  . . . . . . . . . . . . . . . . . . 181
  542.           7.5.2  Factor constraints . . . . . . . . . . . . . . . . . . 181
  543.           7.5.3  Constituent constraints  . . . . . . . . . . . . . . . 181
  544.           7.5.3.1  LStyle1  . . . . . . . . . . . . . . . . . . . . . . 181
  545.           7.5.3.2  LStyle2  . . . . . . . . . . . . . . . . . . . . . . 181
  546.           7.5.3.3  LStyle3  . . . . . . . . . . . . . . . . . . . . . . 182
  547.           7.5.3.4  LStyle4  . . . . . . . . . . . . . . . . . . . . . . 183
  548.           7.5.3.5  LStyle5  . . . . . . . . . . . . . . . . . . . . . . 183
  549.           7.5.3.6  LStyle6  . . . . . . . . . . . . . . . . . . . . . . 184
  550.           7.5.3.7  LStyle7  . . . . . . . . . . . . . . . . . . . . . . 185
  551.           7.5.3.8  LStyle8  . . . . . . . . . . . . . . . . . . . . . . 185
  552.           7.5.3.9  LStyle9  . . . . . . . . . . . . . . . . . . . . . . 185
  553.           7.5.3.10  LStyle10  . . . . . . . . . . . . . . . . . . . . . 185
  554.           7.5.3.11  LStyle11  . . . . . . . . . . . . . . . . . . . . . 186
  555.           7.5.3.12  LStyleT2  . . . . . . . . . . . . . . . . . . . . . 186
  556.           7.5.3.13  LStyleT4  . . . . . . . . . . . . . . . . . . . . . 187
  557.           7.5.3.14  LStyleT5  . . . . . . . . . . . . . . . . . . . . . 187
  558.           7.5.3.15  LStyleT8  . . . . . . . . . . . . . . . . . . . . . 188
  559.           7.5.3.16  LStyleT9  . . . . . . . . . . . . . . . . . . . . . 188
  560.           7.6  Presentation style constituent constraints . . . . . . . 188
  561.           7.6.1  Macro definitions  . . . . . . . . . . . . . . . . . . 188
  562.           7.6.2  Factor constraints . . . . . . . . . . . . . . . . . . 188
  563.           7.6.3  Constituent constraints  . . . . . . . . . . . . . . . 188
  564.           7.6.3.1  PStyle1  . . . . . . . . . . . . . . . . . . . . . . 189
  565.           7.6.3.2  PStyle2  . . . . . . . . . . . . . . . . . . . . . . 189
  566.           7.6.3.3  PStyle3  . . . . . . . . . . . . . . . . . . . . . . 190
  567.           7.6.3.4  PStyle4  . . . . . . . . . . . . . . . . . . . . . . 190
  568.           7.7  Content portion constituent constraints  . . . . . . . . 191
  569.           7.7.1  Macro definitions  . . . . . . . . . . . . . . . . . . 191
  570.           7.7.2  Factor constraints . . . . . . . . . . . . . . . . . . 191
  571.           7.7.3  Constituent constraints  . . . . . . . . . . . . . . . 192
  572.           7.7.3.1  Character-content-portion  . . . . . . . . . . . . . 192
  573.           7.7.3.2  Raster-graphics-content-portion  . . . . . . . . . . 193
  574.           7.7.3.3  Geometric-graphics-content-portion . . . . . . . . . 193
  575.  
  576.           8  Interchange format . . . . . . . . . . . . . . . . . . . . 194
  577.           8.1  Interchange format class A . . . . . . . . . . . . . . . 194
  578.           8.1.1  Interchange format . . . . . . . . . . . . . . . . . . 194
  579.           8.1.2  Document application profile object identifier . . . . 194
  580.           8.1.3  Encoding of application comments . . . . . . . . . . . 194
  581.           8.1.4  Data lengths . . . . . . . . . . . . . . . . . . . . . 195
  582.           8.2  Interchange format SDIF  . . . . . . . . . . . . . . . . 195
  583.           8.2.1  Interchange format . . . . . . . . . . . . . . . . . . 195
  584.           8.2.2  Document application profile object identifier . . . . 195
  585.           8.2.3  Encoding of application comments . . . . . . . . . . . 196
  586.  
  587.           Annex A
  588.  
  589.                                           ix
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  603.  
  604.           Amendments and technical corrigenda . . . . . . . . . . . . . 197
  605.           A.1  Amendments . . . . . . . . . . . . . . . . . . . . . . . 197
  606.           A.1.1  Amendments to the base standard  . . . . . . . . . . . 197
  607.           A.1.2  Proposed changes to standards due to defects . . . . . 198
  608.           A.2  Technical corrigenda . . . . . . . . . . . . . . . . . . 198
  609.           A.2.1  Technical corrigenda to this Specification . . . . . . 198
  610.           A.3  Versions of the ODA Specification  . . . . . . . . . . . 198
  611.  
  612.           Annex B 
  613.  
  614.           Recommended practices . . . . . . . . . . . . . . . . . . . . 199
  615.           B.1  Transfer methods for ODA . . . . . . . . . . . . . . . . 199
  616.           B.1.1  Conveyance of ODA over CCITT  X.400-1984 . . . . . . . 199
  617.           B.1.2  Conveyance of ODA over FTAM  . . . . . . . . . . . . . 199
  618.           B.1.3  Conveyance of ODA over DTAM  . . . . . . . . . . . . . 200
  619.           B.1.4  Conveyance of ODA over flexible disks  . . . . . . . . 200
  620.           B.2  Font reference . . . . . . . . . . . . . . . . . . . . . 200
  621.           B.3   ISO/IEC  8632  (CGM)  constraints  for this  document
  622.                  application profile  . . . . . . . . . . . . . . . . . 202
  623.           B.3.1  Delimiter elements . . . . . . . . . . . . . . . . . . 202
  624.           B.3.2  Metafile descriptor elements . . . . . . . . . . . . . 202
  625.           B.3.3  Picture descriptor elements  . . . . . . . . . . . . . 203
  626.           B.3.4  Control elements . . . . . . . . . . . . . . . . . . . 204
  627.           B.3.5  Graphical primitive elements . . . . . . . . . . . . . 204
  628.           B.3.6  Attribute elements . . . . . . . . . . . . . . . . . . 205
  629.           B.3.7  External elements  . . . . . . . . . . . . . . . . . . 206
  630.           B.4  Interoperability with SGML applications  . . . . . . . . 207
  631.  
  632.           Annex C 
  633.  
  634.           Bibliography  . . . . . . . . . . . . . . . . . . . . . . . . 208
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.                                           x
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  669.  
  670.  
  671.  
  672.           List of figures
  673.  
  674.            Figure 1 -  Body layout types A, B and C with header and footer
  675.           above and below the body area . . . . . . . . . . . . . . . .  36
  676.              Figure 2 -  Header and footer frame layouts corresponding to
  677.           Figure 1  . . . . . . . . . . . . . . . . . . . . . . . . . .  36
  678.              Figure 3 -  Body layout type C with header and footer to the
  679.           right and left of the body area . . . . . . . . . . . . . . .  37
  680.              Figure 4 -  Header and footer frame layouts corresponding to
  681.           Figure 3  . . . . . . . . . . . . . . . . . . . . . . . . . .  37
  682.             Figure 5 -  Example of body area layout for body layout type A                                                                           40
  683.             Figure 6 -  Example of body area layout for body layout type B                                                                           41
  684.             Figure 7 -  Example of body area layout for body layout type C                                                                           42
  685.              Figure 8 -  Example of the layout of a snaking columns frame                                                                          43
  686.               Figure 9 -  Example of the layout of a synchronized column                                                                           44
  687.                            Figure 10 -  Example of a table  . . . . . .  47
  688.                   Figure 11 -  Frames used to represent table labels  .  47
  689.                    Figure 12 -  Frames used to represent table rows . .  48
  690.                         Figure 13 -  Specification of margins . . . . .  62
  691.                   Figure 14 -  Code extension features (basic case) . .  69
  692.               Figure 15 -  Code extension features (all possible cases)  70
  693.                      Figure 16   DocumentLogicalRoot, 1st level   . . . 101
  694.                       Figure 17   DocumentLogicalRoot, 2nd level  . . . 102
  695.                           Figure 18   Paragraph and ListTerm  . . . . . 102
  696.                                   Figure 19   Phrase  . . . . . . . . . 103
  697.                                  Figure 20   Footnote . . . . . . . . . 103
  698.                                   Figure 21   Table . . . . . . . . . . 104
  699.                                 Figure 22   Reference . . . . . . . . . 104
  700.                                Figure 23   NumberedList . . . . . . . . 105
  701.                               Figure 24   UnNumberedList  . . . . . . . 105
  702.                               Figure 25   DefinitionList  . . . . . . . 106
  703.                               Figure 26   CommonContent . . . . . . . . 106
  704.                             Figure 27   DocumentLayoutRoot  . . . . . . 106
  705.                       Figure 28   Page, RectoPage and VersoPage . . . . 107
  706.                    Figure 29   CompositeHeader and CompositeFooter  . . 108
  707.                           Figure 30   VariableCompositeBody . . . . . . 108
  708.                                 Figure 31   TableArea . . . . . . . . . 109
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.                                           xi
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  735.  
  736.  
  737.  
  738.           List of tables
  739.  
  740.                              Table 1   Nominal page sizes
  741.           . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  34
  742.                               Table 2   Layout of tables
  743.           . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  59
  744.                Table 3   List of number string identifiers for logical
  745.           constituent constraints
  746.           . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  80
  747.  
  748.           Table  4     List   of  number  string  identifiers   for  layout
  749.           constituent constraints
  750.           . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  81
  751.                      Table 5   Symbols to denote shift functions  . . . 110
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.                                          xii
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.           Part 27 - Open Document Architecture Level 2 to Level 3 Migration
  801.           DAP
  802.  
  803.  
  804.           Introduction
  805.  
  806.           This  Specification is defined  within the context  of Functional
  807.           Standardization, in accordance with  the principles specified  by
  808.           ISO/IEC  TR  10000,  "Framework  and  Taxonomy  of  International
  809.           Standardized    Profiles".       The   context    of   Functional
  810.           Standardization is one part  of the overall field  of Inforamtion
  811.           Technology   (IT)  standardization   activities,  covering   base
  812.           standards,  profiles  and   registration  mechanisms.    AProfile
  813.           defines a combination of base standards that collectively perform
  814.           a  specific well-defined IT  Function.  Profiles  standardize the
  815.           use of  options and other  variations in the base  standards, and
  816.           provide  a  basis  for development  of  uniform,  internationally
  817.           recognized conformance test suites.
  818.  
  819.           One of the  most important roles  for an ISP is  to serve as  the
  820.           basis for  the development (by  organizations other than  ISO and
  821.           IEC)  of internationally recognized tests and test centers.  ISPs
  822.           are produced not  simply to "legitimize"  a particular choice  of
  823.           base  standards  and   options,  but  to  promote   real  systems
  824.           interoperability.   The development and  widespread acceptance of
  825.           tests based on this and  other ISPs is crucial to the  successful
  826.           realization of this goal.
  827.  
  828.           Development of this document application profile has been done in
  829.           close  cooperation between several  organizations.  These include
  830.           ODA expert groups  within the Asia-Oceania Workshop  (AOW), CCITT
  831.           Study  Group VIII, European Workshop  for Open Systems (EWOS) and
  832.           OSE  Implementors' Workshop  (OIW).   The  liaison between  these
  833.           organizations has  occurred within  the meetings  of the  Profile
  834.           Alignment Group for ODA (PAGODA).  These meetings have focused on
  835.           the development  of a single  set of Internationally  aligned ODA
  836.           document application profiles.  This  ISP is harmonized among the
  837.           three workshops and  has been  ratified by  the three  workshops'
  838.           plenary assemblies.
  839.            
  840.           The   purpose  of  this   Specification  is  to   facilitate  the
  841.           interworking  of applications  interchanging  documents based  on
  842.           CCITT  Rec. T.410 series | ISO  8613, ODA.  This Specification is
  843.           suitable   for   interchanging  documents   in   formatted  form,
  844.           processable  form  or  formatted processable  form  and  has been
  845.           defined in accordance with  CCITT Rec. T.411 |  ISO 8613-1.   The
  846.           format   of  this  Specification   is  in  accordance   with  the
  847.           standardized proforma and notation defined in Amendment 1 - Annex
  848.           F of CCITT Rec. T.411 | ISO 8613-1.
  849.  
  850.  
  851.  
  852.  
  853.                                           1
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  867.  
  868.  
  869.  
  870.           1  Scope
  871.  
  872.           This Specification specifies interchange formats for the transfer
  873.           of  structured documents between  equipment designed for  word or
  874.           document  processing.    Such  documents  may contain  character,
  875.           raster graphics and geometric graphics content.
  876.  
  877.           The documents that  can be interchanged using  this Specification
  878.           range  from  simple  documents  to  highly  structured  technical
  879.           reports, articles and  typeset documents such as brochures.  This
  880.           Specification  provides a comprehensive level of features for the
  881.           transfer of documents between these systems.
  882.  
  883.           This Specification  allows documents  to be  interchanged in  the
  884.           following forms:
  885.  
  886.                               formatted form;
  887.  
  888.                               processable form;
  889.  
  890.                               formatted processable form.
  891.  
  892.           The  architecture levels  defined  for  these  three  forms  have
  893.           matching functionalities  so that  the interchange  formats of  a
  894.           document are convertible  from a  processable form  to any  other
  895.           form.
  896.  
  897.           This Specification is independent of the processes carried out in
  898.           an end system to create, edit or reproduce documents.  It is also
  899.           independent  of  the  means  to  transfer  documents  which,  for
  900.           example, may be by means of communication links or storage media.
  901.  
  902.           A  document structured in  accordance with this  Specification is
  903.           represented  for interchange by  one of two  document application
  904.           profiles.    One  document application  profile  uses  the Office
  905.           Document   Interchange   Format   (ODIF),  the   other   document
  906.           application profile uses the Office Document Language (ODL), both
  907.           as defined in CCITT Rec. T.415 | ISO 8613-5.
  908.  
  909.           When this  document refers to this Specification,  it is refering
  910.           to either  of the document  application profiles defined  by this
  911.           Specification.
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.                                           2
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  933.  
  934.  
  935.  
  936.           2  Normative references
  937.  
  938.           The  following   documents  contain  provisions   which,  through
  939.           reference   in  this   text,  consititute   provisions   of  this
  940.           Specification.     At  the  time  of  publication,  the  editions
  941.           indicated were valid.  All documents are subject to revision, and
  942.           parties  to agreements  based on  this  Specification are  warned
  943.           against  automatically applying any  more recent editions  of the
  944.           documents  listed below, since  the nature of  references made by
  945.           ISPs  to  such documents  is  that  they  may  be specific  to  a
  946.           particular edition.  Members of IEC and ISO maintain registers of
  947.           currently  valid  International  Standards  and  ISPs, and  CCITT
  948.           maintains published editions of its current Recommendations.
  949.  
  950.  
  951.           2.1   Paired Recommendations | International Standards equivalent
  952.           in technical content
  953.  
  954.  
  955.                                 CCITT  Recommendation  T.411  (1988),  Open  Document
  956.                Architecture (ODA) and Interchange Format: Introduction
  957.                and General Principles.
  958.  
  959.                              ISO  8613-1 :  1989, Information  processing -  Text and
  960.                office systems - Office Document Architecture (ODA) and
  961.                interchange  format - Part  1: Introduction and general
  962.                principles.
  963.  
  964.                                CCITT  Recommendation  T.411   Annex  F  (1991),  Open
  965.                Document  Architecture  (ODA) and  Interchange  Format:
  966.                Introduction  and  General  Principles  -  Annex  F:  A
  967.                Document Application Profile Proforma and Notation.
  968.  
  969.                              ISO 8613-1  : 1989/Add.1: Information processing  - Text
  970.                and office systems - Office Document Architecture (ODA)
  971.                and  interchange  format  - Part  1:  Introduction  and
  972.                general  principles - Addendum 1 : Document Application
  973.                Profile Proforma and Notation.
  974.  
  975.                                CCITT  Recommendation  T.412  (1988),   Open  Document
  976.                Architecture  (ODA)  and Interchange  Format:  Document
  977.                Structures.
  978.  
  979.                              ISO  8613-2 :  1989, Information  processing -  Text and
  980.                office systems - Office Document Architecture (ODA) and
  981.                               
  982.  
  983.                1 To be published.
  984.  
  985.                                           3
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  999.  
  1000.                interchange format - Part 2: Document structures. 
  1001.  
  1002.                                CCITT  Recommendation  T.414  (1988),   Open  Document
  1003.                Architecture  (ODA)  and Interchange  Format:  Document
  1004.                Profile.
  1005.  
  1006.                              ISO  8613-4 :  1989, Information  processing -  Text and
  1007.                office systems - Office Document Architecture (ODA) and
  1008.                interchange format - Part 4: Document profile.
  1009.  
  1010.                                CCITT  Recommendation  T.415   (1988),  Open  Document
  1011.                Architecture   (ODA)  and   Interchange  Format:   Open
  1012.                Document Interchange Format (ODIF).
  1013.  
  1014.                              ISO  8613-5 :  1989, Information  processing -  Text and
  1015.                office systems - Office Document Architecture (ODA) and
  1016.                interchange   format   -   Part  5:   Office   Document
  1017.                interchange format (ODIF).
  1018.  
  1019.                                CCITT  Recommendation  T.416   (1988),  Open  Document
  1020.                Architecture  (ODA) and  Interchange Format:  Character
  1021.                Content Architectures.
  1022.  
  1023.                              ISO  8613-6 :  1989, Information  processing -  Text and
  1024.                office systems - Office Document Architecture (ODA) and
  1025.                interchange   format  -   Part  6:   Character  content
  1026.                architectures.
  1027.  
  1028.                                CCITT  Recommendation  T.417   (1988),  Open  Document
  1029.                Architecture  (ODA)  and   Interchange  Format:  Raster
  1030.                Graphics Content Architectures.
  1031.  
  1032.                              ISO  8613-7 :  1989, Information  processing -  Text and
  1033.                office systems - Office Document Architecture (ODA) and
  1034.                interchange  format - Part  7: Raster  graphics content
  1035.                architectures.
  1036.  
  1037.                                CCITT  Recommendation  T.418   (1988),  Open  Document
  1038.                Architecture  (ODA) and  Interchange Format:  Geometric
  1039.                Graphics Content Architectures.
  1040.  
  1041.                              ISO  8613-8 :  1989, Information  processing -  Text and
  1042.                office systems - Office Document Architecture (ODA) and
  1043.                interchange format - Part 8: Geometric graphics content
  1044.                architectures.
  1045.  
  1046.                                CCITT Recommendation  X.208  (1988), Specification  of
  1047.                abstract syntax notation one (ASN.1).
  1048.  
  1049.                              ISO/IEC  8824  :  1990, Information  technology  -  Open
  1050.  
  1051.                                           4
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1065.  
  1066.                Systems Interconnection - Abstract Syntax Notation  One
  1067.                (ASN.1).
  1068.  
  1069.                                CCITT Recommendation  X.209  (1988), Specification  of
  1070.                basic encoding rules  for abstract syntax notation  one
  1071.                (ASN.1).
  1072.  
  1073.                              ISO/IEC  8825  :  1990, Information  technology  -  Open
  1074.                Systems  Interconnection   -  Specification   of  Basic
  1075.                Encoding  Rules   for  Abstract  Syntax   Notation  One
  1076.                (ASN.1).
  1077.  
  1078.                                 CCITT    Recommendation   T.502    (1992),   Document
  1079.                Application  Profile  PM-11   for  the  Interchange  of
  1080.                Character   Content   Documents  in   Processable   and
  1081.                Formatted Forms.
  1082.  
  1083.                              ISO/IEC ISP  10610-1 :  1993,  Information technology  -
  1084.                International   Standardized  Profile   FOD11  -   Open
  1085.                Document Format : Simple document structure - Character
  1086.                content  architecture   only  -   Document  Application
  1087.                Profile (DAP).
  1088.  
  1089.                                CCITT  Recommendation   T.5062,  Document  Application
  1090.                Profile PM-36/FOD36 -  Open Document Format  : Extended
  1091.                document  structure -  Character,  raster graphics  and
  1092.                geometric graphics content architectures.
  1093.  
  1094.                              ISO/IEC  ISP 11182-1  : 1993,  Information technology  -
  1095.                International   Standardized  Profile   FOD36  -   Open
  1096.                Document  Format   :  Extended  document   structure  -
  1097.                Character,  raster  graphics   and  geometric  graphics
  1098.                content architectures -  Part 1 : Document  Application
  1099.                Profile (DAP).
  1100.  
  1101.              NOTE - In the titles of the various parts of ISO 8613 the  term
  1102.              Office occurs.   ISO has instructed  that this   be changed  to
  1103.              Open, and the new  edition of ISO 8613  (to be published)  will
  1104.              use  Open   in  place  of  Office.     For  this  reason   this
  1105.              Specification uses the term Open in its title.
  1106.  
  1107.  
  1108.           2.2  Additional references
  1109.  
  1110.  
  1111.  
  1112.  
  1113.                               
  1114.  
  1115.                2 To be published.
  1116.  
  1117.                                           5
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1131.  
  1132.                               CCITT  Recommendation T.4  (1988) - Standardization  of
  1133.                group 3 facsimile apparatus for document transmission.
  1134.  
  1135.                                CCITT Recommendation  T.6  (1988)  - Facsimile  coding
  1136.                schemes  and  coding  control  functions  for  group  4
  1137.                facsimile apparatus.
  1138.  
  1139.                                CCITT  Recommendation T.400  (1988),  Introduction  to
  1140.                Document Architecture, Transfer and Manipulation.
  1141.  
  1142.                               ISO/IEC  646 : 1991, Information technology - ISO 7-bit
  1143.                coded character set for information interchange.
  1144.  
  1145.                               ISO  2022 :  1986, Information  processing -  ISO 7-bit
  1146.                and  8-bit  coded  character   sets  -  Code  extension
  1147.                techniques.
  1148.  
  1149.                                ISO  2375  : 1985,  Data  processing  - Procedure  for
  1150.                registration of escape sequences.
  1151.  
  1152.                                ISO  6937-2 :  1983,  Information  processing -  Coded
  1153.                character sets for text communication   - Part 2: Latin
  1154.                alphabetic and non-alphabetic graphic characters.
  1155.  
  1156.                                ISO   6937-2  :   1983/Add.  1  :   1989,  Information
  1157.                processing   -   Coded    character   sets   for   text
  1158.                communication  - Part  2:  Latin  alphabetic  and  non-
  1159.                alphabetic graphic characters - Addendum 1.
  1160.  
  1161.                                ISO/IEC  7350   :  1991,   Information  technology   -
  1162.                Registration of repertoires of graphic characters  from
  1163.                ISO/IEC 10367.
  1164.  
  1165.                               ISO/IEC  8632 : 1992, Information technology - Computer
  1166.                graphics -  Metafile for  the storage  and transfer  of
  1167.                picture description information
  1168.                   - Part 1: Functional specification
  1169.                   - Part 3: Binary encoding.
  1170.  
  1171.                                ISO  8859-1 :  1987,  Information  processing -  8-bit
  1172.                single-byte  coded  graphic  character sets  -  Part 1:
  1173.                Latin alphabet No. 1.
  1174.  
  1175.                                ISO 8879  : 1986,  Information processing  - Text  and
  1176.                office systems -  Standard Generalized Markup  Language
  1177.                (SGML).
  1178.  
  1179.                               ISO 9069 :  1988, Information processing - SGML support
  1180.                facilities - SGML Document Interchange Format (SDIF).
  1181.  
  1182.  
  1183.                                           6
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1197.  
  1198.                               ISO  9293 : 1987,  Information processing -  Volume and
  1199.                file   structure  of   flexible  disk   cartridges  for
  1200.                information interchange.
  1201.  
  1202.                               ISO/IEC  9541  : 1991,  Information  technology -  Font
  1203.                information interchange.
  1204.  
  1205.                                ISO/IEC TR  10000-1 :  1992, Information  technology -
  1206.                Framework  and taxonomy  of International  Standardized
  1207.                Profiles - Part 1: Framework.
  1208.  
  1209.                                ISO/IEC TR  10000-2 :  1992, Information  technology -
  1210.                Framework  and taxonomy  of International  Standardized
  1211.                Profiles - Part 2: Taxonomy of OSI profiles.3
  1212.  
  1213.  
  1214.           3  Definitions
  1215.  
  1216.           For the purposes of this Specification, the following definitions
  1217.           apply.
  1218.  
  1219.           The  definitions given  in  CCITT  Rec. T.411  |  ISO 8613-1  are
  1220.           applicable to this Specification.
  1221.  
  1222.           Constituent  constraint  names:  Each  constituent  that  may  be
  1223.           included in  a document that  conforms to this  Specification has
  1224.           been  given  a  unique  name  which   serves  to  associate  that
  1225.           constituent  with  a  constituent  constraint  defined   in  this
  1226.           Specification.
  1227.  
  1228.           The  convention   is  that   full  names   are  used   (i.e.,  no
  1229.           abbreviations  are  used),  two  or  more words  in  a  name  are
  1230.           concatenated and  each word begins  with a capital.   Examples of
  1231.           constituent  constraint names  used  in  this  Specification  are
  1232.           BodyText, Footnote and RectoPage.
  1233.  
  1234.           In  clause  6,  each  constituent  constraint  provided  by  this
  1235.           Specification is italicized at the point in the text at which the
  1236.           purpose  of that  constituent constraint  is  defined. This  also
  1237.           serves  to identify all  the constituent constraints  provided by
  1238.           this Specification.
  1239.  
  1240.           The  same  constituent  constraint names  are  also  used  in the
  1241.           technical specification in clause 7 so that there is a one-to-one
  1242.           correspondence between the use of these names in clauses 6 and 7.
  1243.  
  1244.           Although the constituent  constraint names relate to  the purpose
  1245.                               
  1246.  
  1247.                3 To be published.
  1248.  
  1249.                                           7
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1263.  
  1264.           of  the constituent  constraints, the  semantics of  constituents
  1265.           shall  not be implied  from the names that  are used. Also, these
  1266.           names do not appear in  an interchanged document, but a mechanism
  1267.           for associating  constituents  in  a  document  with  constituent
  1268.           constraints is  provided  (see 6.6.4).   Thus  in an  application
  1269.           using this Specification,  the constituents may  be known to  the
  1270.           user by different names.
  1271.  
  1272.  
  1273.           4  Relationship with other profiles
  1274.  
  1275.           This  Specification belongs to a series of hierarchically related
  1276.           profiles which include FOD11 |  PM-11, FOD26 | PM-26 and FOD36  |
  1277.           PM-36.
  1278.  
  1279.           The features  supported by this  Specification are a  superset of
  1280.           the features supported by the profiles  FOD11 | PM-11 and FOD26 |
  1281.           PM-26 and thus  all data streams that  are conformant to FOD11  |
  1282.           PM-11   and  FOD26   |   PM-26  are   also  conformant   to  this
  1283.           Specification, apart from the DAP identifier.
  1284.  
  1285.           Also, the features  supported by this Specification  are a subset
  1286.           of the features  supported by the profile FOD36 |  PM-36 and thus
  1287.           all data streams  that are conformant  to this Specification  are
  1288.           also conformant to FOD36 | PM-36, apart from the DAP identifier.
  1289.  
  1290.  
  1291.           5  Conformance
  1292.  
  1293.           In  order  to  conform  to  this  Specification,  a  data  stream
  1294.           representing  a document shall meet the requirements specified in
  1295.           5.1.
  1296.  
  1297.  
  1298.           5.1  Data stream conformance
  1299.  
  1300.           The following requirements apply to the encoding of  data streams
  1301.           which conform to this Specification:
  1302.  
  1303.                             a) the data stream shall be  encoded either in accordance
  1304.                with the  ASN.1 encoding  rules defined  in CCITT  Rec.
  1305.                X.209 | ISO 8825 or  the SGML encoding rules defined in
  1306.                ISO 8879;
  1307.  
  1308.                             b) the  data  stream shall  be  structured in  accordance
  1309.                with the interchange formats defined in clause 8;
  1310.  
  1311.                             c) the document, as  represented by the data stream after
  1312.                resolution  of   any  external  references,   shall  be
  1313.                structured  in accordance  with  one  of the  documents
  1314.  
  1315.                                           8
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1327.  
  1328.                architecture  classes  as  defined  in  6.1  and  shall
  1329.                contain all  mandatory constituents specified  for that
  1330.                class;  other  constituents may  be  included, provided
  1331.                that they are permitted for  that class as specified in
  1332.                clause 7;
  1333.  
  1334.                             d)  each constituent shall  contain all  those attributes
  1335.                specified  as  required for  that  constituent  in this
  1336.                Specification;   other  attributes  may   be  specified
  1337.                provided that they are permitted for that constituent;
  1338.  
  1339.                             e)  the attribute  values specified  shall be  within the
  1340.                range   of  permissible   values   specified  in   this
  1341.                Specification;
  1342.  
  1343.                             f)  the   encoded  document  shall   be  constructed   in
  1344.                accordance  with  the  abstract  document  architecture
  1345.                defined in CCITT Rec. T.412 | ISO 8613-2;
  1346.  
  1347.                             g) the  document shall  be structured in  accordance with
  1348.                the characteristics and constraints specified in clause
  1349.                6.
  1350.  
  1351.  
  1352.           5.2  Implementation conformance
  1353.  
  1354.           This  subclause  states  the   requirements  for  implementations
  1355.           claiming conformance to this Specification.
  1356.  
  1357.           A  conforming   receiving  implementation  shall  be  capable  of
  1358.           receiving   either   any   data   streams   conforming  to   this
  1359.           Specification  structured  in  accordance  with  Office  Document
  1360.           Interchange Format (ODIF), or any data streams conforming to this
  1361.           Specification  structured  in  accordance  with  Office  Document
  1362.           Language (ODL)  or both  of these.   Receiving  usually, but  not
  1363.           always,  involves  recognizing and  further  processing  the data
  1364.           stream   elements.    The  explicit  meaning  of  "receiving"  is
  1365.           determined by another part of this Specification.
  1366.  
  1367.           A  receiving system  which claims  conformance  to this  document
  1368.           application profile  shall be  capable of  handling data  streams
  1369.           which  are conformant to  document application profiles  that are
  1370.           subordinate  to  this  document  application profile  within  the
  1371.           taxonomy  described in clause 4,  i.e. FOD11 |  PM-11 and FOD26 |
  1372.           PM-26.
  1373.  
  1374.           FOD36 | PM-36 documents which adhere to this Specification can be
  1375.           distinguished from fully-functional FOD36 | PM-36 documents using
  1376.           the document  profile document management  attribute "Additional-
  1377.           information". Documents which  adhere to  this Specification  are
  1378.           required to specify the  value "Level 2 to Level 3 Migration DAP"
  1379.           for this attribute.
  1380.  
  1381.  
  1382.  
  1383.                                           9
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1393.  
  1394.  
  1395.  
  1396.           6  Characteristics supported by this document application profile
  1397.  
  1398.           This  clause describes the characteristics of documents which may
  1399.           be  represented by data streams conforming to this Specification.
  1400.           This  clause  also   describes  how  these   characteristics  are
  1401.           represented in terms of constituent constraints.
  1402.  
  1403.  
  1404.           6.1  Overview
  1405.  
  1406.  
  1407.           6.1.1  General
  1408.  
  1409.           This Specification supports  the interchange of documents  in the
  1410.           following forms:
  1411.  
  1412.                               processable form, which  facilitates the revision of  a
  1413.                document by a recipient;
  1414.  
  1415.                               formatted form,  which facilitates the reproduction  of
  1416.                a document as intended by the originator;
  1417.  
  1418.                                formatted  processable  form,  which  facilitates  the
  1419.                reproduction  of   a  document  as   intended  by   the
  1420.                originator or facilitates the revision of a document by
  1421.                a recipient.
  1422.  
  1423.           In addition this Specification supports the interchange of
  1424.  
  1425.                               generic-document;
  1426.  
  1427.                               document profile.
  1428.  
  1429.           The constituents that make up  these five classes of data  stream
  1430.           are  defined  in  6.1.2  to  6.1.6.    Constituents   defined  as
  1431.           "required" shall occur in any  data stream that conforms to  this
  1432.           Specification.  Constituents  listed as "optional" may or may not
  1433.           be present  in the data stream  depending on the  requirements of
  1434.           the particular data stream.
  1435.  
  1436.           The  constituents that  make  up  a  complete  document  that  is
  1437.           conformant to this Specification include all those referenced and
  1438.           contained in  resource-documents and  external-documents, if  any
  1439.           (see 6.6.1 and 6.6.2).Formatted form documents
  1440.           Required constituents:
  1441.  
  1442.                               a document profile;
  1443.  
  1444.                                layout  object  descriptions representing  a  specific
  1445.                layout structure.
  1446.  
  1447.           Optional constituents:
  1448.  
  1449.                                           10
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1459.  
  1460.                               layout object class descriptions  representing a factor
  1461.                generic layout structure;
  1462.  
  1463.                               presentation styles;
  1464.  
  1465.                               content portion descriptions.
  1466.  
  1467.  
  1468.           6.1.2  Processable form documents
  1469.  
  1470.           Required constituents:
  1471.  
  1472.                               a document profile;
  1473.  
  1474.                                logical  object  class  descriptions   representing  a
  1475.                complete or partial generic logical structure;
  1476.  
  1477.                                logical  object descriptions  representing  a specific
  1478.                logical structure.
  1479.  
  1480.           Optional constituents:
  1481.  
  1482.                                layout   object  class  descriptions   representing  a
  1483.                complete generic layout structure;
  1484.  
  1485.                               layout styles;
  1486.  
  1487.                               presentation styles;
  1488.  
  1489.                               content portion descriptions.
  1490.  
  1491.           In the  case  of processable  form  documents, when  the  generic
  1492.           layout  structure is  not  present, additional  restrictions  are
  1493.           placed on  the layout directives that  may be included  in layout
  1494.           styles.  These restrictions are defined in 6.4.3.
  1495.  
  1496.  
  1497.           6.1.3  Formatted processable form documents
  1498.  
  1499.           Required constituents:
  1500.  
  1501.                               a document profile;
  1502.  
  1503.                                logical  object  class   descriptions  representing  a
  1504.                complete or partial generic logical structure;
  1505.  
  1506.                                logical object  descriptions  representing a  specific
  1507.                logical structure;
  1508.  
  1509.                                layout   object  class  descriptions   representing  a
  1510.                complete generic layout structure;
  1511.  
  1512.                                layout  object descriptions  representing  a  specific
  1513.                layout structure.
  1514.  
  1515.                                           11
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1525.  
  1526.           Optional constituents:
  1527.  
  1528.                               layout styles;
  1529.  
  1530.                               presentation styles;
  1531.  
  1532.                               content portion descriptions.
  1533.  
  1534.  
  1535.           6.1.4  Generic documents
  1536.  
  1537.           A  generic-document  consists of  one  of the  following  sets of
  1538.           constituents:
  1539.  
  1540.           a)
  1541.  
  1542.                               a document profile;
  1543.  
  1544.                                logical object  class  descriptions which  represent a
  1545.                complete or partial generic logical structure;
  1546.  
  1547.                               layout styles whose presence is optional;
  1548.  
  1549.                               presentation styles whose presence is optional;
  1550.  
  1551.                               generic content portions whose presence is optional.
  1552.  
  1553.           b)
  1554.  
  1555.                               a document profile;
  1556.  
  1557.                                layout object  class  descriptions which  represent  a
  1558.                complete generic layout structure or factor set;
  1559.  
  1560.                               presentation styles whose presence is optional;
  1561.  
  1562.                               generic content portions whose presence is optional.
  1563.  
  1564.           c)
  1565.  
  1566.                               a document profile;
  1567.  
  1568.                                logical  object class  descriptions which  represent a
  1569.                complete  or partial generic logical structure;
  1570.  
  1571.                                layout object  class  descriptions which  represent  a
  1572.                complete generic layout structure;
  1573.  
  1574.                               layout styles whose presence is optional;
  1575.  
  1576.                               presentation styles whose presence is optional;
  1577.  
  1578.                               generic content portions whose presence is optional.
  1579.  
  1580.  
  1581.                                           12
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1591.  
  1592.  
  1593.           6.1.5  Document profile 
  1594.  
  1595.           This form of document contains a document profile only.
  1596.  
  1597.  
  1598.           6.2  Logical characteristics 
  1599.  
  1600.  
  1601.           6.2.1  Introduction
  1602.  
  1603.           This  subclause  defines  the   logical  constituent  constraints
  1604.           provided by  this Specification to represent  the characteristics
  1605.           of documents containing logical component descriptions.  
  1606.  
  1607.           Different  constituent constraints may  be used to  represent and
  1608.           distinguish  parts  of  a document  that  have  different logical
  1609.           characteristics.      This   subclause   describes  the   general
  1610.           characteristics and  typical uses of  the constituent constraints
  1611.           that are provided.
  1612.  
  1613.           The descriptions of  the logical  characteristics represented  by
  1614.           each  of the  constituent constraints  is  provided for  guidance
  1615.           only.  It  is the responsibility of  the user to determine  how a
  1616.           document  is to be  represented using the  constituents provided.
  1617.           Adherence   to   these   guidelines   can   enhance   the  mutual
  1618.           understanding of a document by an originator and a recipient.  
  1619.  
  1620.  
  1621.           6.2.2  Overview of the logical structure
  1622.  
  1623.           From the  logical point  of view,  the document  consists of  two
  1624.           parts, namely a body part and a common part.
  1625.  
  1626.           The body  part represents the main  content of a document  and is
  1627.           intended to be reproduced in the body area of the pages that make
  1628.           up the document.  
  1629.  
  1630.           The common part represents common content that is to be placed in
  1631.           reserved header  and footer  areas on  each page  of a  document.
  1632.           Header and footer content are  independently optional and so  may
  1633.           be included in an interchanged document only if required.
  1634.  
  1635.  
  1636.           6.2.3  Body part of the logical structure
  1637.  
  1638.  
  1639.           6.2.3.1  DocumentLogicalRoot
  1640.  
  1641.           DocumentLogicalRoot is a  constituent constraint representing the
  1642.           top  level  in the  document  logical structure.    Its immediate
  1643.           subordinates  consist of  a sequence  of one or  more constituent
  1644.           constraints of the type Passage.
  1645.             
  1646.  
  1647.                                           13
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1657.  
  1658.           The  automatic  numbering  schemes  that   apply  to  constituent
  1659.           constraints of the types NumberedSegment, Table, NumberedList and
  1660.           Footnote may be initialized on the DocumentLogicalRoot.
  1661.  
  1662.  
  1663.           6.2.3.2  Passage
  1664.  
  1665.           Passage is  a constituent  constraint that  represents the  first
  1666.           level of logical subdivision of a document.  This grouping may be
  1667.           regarded  as a logical  entity for  reading, or it  may represent
  1668.           parts  of a  document that  have  common layout  and presentation
  1669.           characteristics.  
  1670.  
  1671.           Passages are typically used to represent:
  1672.  
  1673.                               the  contents  to be  placed  on the  title  page of  a
  1674.                report;
  1675.  
  1676.                               the  front matter, consisting of  the table of contents
  1677.                or foreword;
  1678.  
  1679.                               the main matter of the document;
  1680.  
  1681.                               the  back matter, consisting of appendices, glossary or
  1682.                index;
  1683.  
  1684.           The  automatic  numbering  schemes   that  apply  to  subordinate
  1685.           constituent constraints  of  the  types  NumberedSegment,  Table,
  1686.           NumberedList and Footnote may be initialized on a Passage.
  1687.  
  1688.           The immediate  subordinates of a  Passage consist of  an optional
  1689.           arbitrary  ordered  sequence  of  one or  more  of  the following
  1690.           constituent constraints:
  1691.  
  1692.                               Paragraph;
  1693.  
  1694.                               BodyGeometric;
  1695.  
  1696.                               BodyRaster;
  1697.  
  1698.                               BodyText;
  1699.  
  1700.                               Table;
  1701.  
  1702.                               NumberedList;
  1703.  
  1704.                               UnNumberedList;
  1705.  
  1706.                               DefinitionList;
  1707.  
  1708.           These  may  be optionally  followed  by one  or  more constituent
  1709.           constraints of the type NumberedSegment.
  1710.  
  1711.           A  Passage  shall have  at  least one  of  the above  constituent
  1712.  
  1713.                                           14
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1723.  
  1724.           constraints as a subordinate.
  1725.           A document may contain several different class definitions of the
  1726.           type Passage, each of which defines the common characteristics of
  1727.           sets  of Passages  within  the document,  such  as their  allowed
  1728.           subordinates or  layout  properties.   For  example, a  class  of
  1729.           Passages may be defined which always begins on a new page set.
  1730.  
  1731.  
  1732.           6.2.3.3  NumberedSegment
  1733.  
  1734.           NumberedSegment  is a  constituent constraint  that represents  a
  1735.           logical  entity within  a document  that is  distinguished  by an
  1736.           identifier.    This logical  entity  may be  a  subdivision of  a
  1737.           Passage or another higher level NumberedSegment.   The entity may
  1738.           also   be   distinguished   by   having    some   common   layout
  1739.           characteristics.
  1740.  
  1741.           The automatic  numbering schemes  that apply  to the  subordinate
  1742.           constituent constraints NumberedSegment, Table, NumberedList  and
  1743.           Footnote may be initialized on a Passage.
  1744.  
  1745.           The  immediate subordinates of  a NumberedSegment consist  of the
  1746.           constituent constraint  Number, whose  presence is mandatory  and
  1747.           serves to carry the identifier  of the NumberedSegment.  This  is
  1748.           followed by an optional arbitrary ordered sequence of one or more
  1749.           of the following constituent constraints:
  1750.  
  1751.                               Paragraph;
  1752.  
  1753.                               BodyGeometric;
  1754.  
  1755.                               BodyRaster;
  1756.  
  1757.                               BodyText;
  1758.  
  1759.                               Table;
  1760.  
  1761.                               NumberedList;
  1762.  
  1763.                               UnNumberedList;
  1764.  
  1765.                               DefinitionList;
  1766.  
  1767.           These  are  optionally followed  by  a sequence  of  one or  more
  1768.           constituent constraints  of  the type  NumberedSegment.  Hence  a
  1769.           document  may  contain  any  number  of  nested  levels   of  the
  1770.           constituent constraint NumberedSegment.
  1771.  
  1772.           A NumberedSegment is typically used to represent entities such as
  1773.           chapters,  sections,  nested  sub-sections and  appendices  which
  1774.           contain an identifier that serves to distinguish that entity  for
  1775.           human comprehension.
  1776.  
  1777.           A document may contain any number  of different class definitions
  1778.  
  1779.                                           15
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1789.  
  1790.           of  NumberedSegment  which define  the common  characteristics of
  1791.           sets  of NumberedSegments, such as their allowed subordinates and
  1792.           layout properties.  
  1793.  
  1794.           Class definitions of NumberedSegments may be recursively defined.
  1795.           In this case, only one class of NumberedSegment may be specified,
  1796.           and  the <simple-expr> construction in the macro USENUMBERSTRINGS
  1797.           in the  bindings attribute of this  class shall use  the optional
  1798.           ORD construction only.   If recursive class definitions  are used
  1799.           for NumberedSegment, the following constraints shall  also apply.
  1800.           For all levels which reference recursively defined classes:
  1801.  
  1802.                               numbering format shall be the same;
  1803.  
  1804.                               no initial  value other than 1  or re-initialization of
  1805.                the numbering is possible;
  1806.  
  1807.                                it is  not possible  to continue  the numbering across
  1808.                Passages.
  1809.  
  1810.           If class definitions are not  recursive in this way, there  shall
  1811.           be one  and one  only one  class definition  for NumberedSegments
  1812.           corresponding to  each level  of Numbering  within each  Passage.
  1813.           Class  definitions   may  be   shared  between   NumberedSegments
  1814.           belonging to different Passages, but  they shall then be used  at
  1815.           the same level.
  1816.  
  1817.           6.2.3.4  Number
  1818.  
  1819.           Number is a constituent constraint that represents the identifier
  1820.           of a NumberedSegment or NumberedList  to which it is subordinate.
  1821.           This  identifier allows  the superior  constituent constraint  to
  1822.           which it  belongs to  be  distinguished within  the document  for
  1823.           machine processing or human comprehension.
  1824.  
  1825.           A Number is a basic logical constituent constraint which contains
  1826.           a  content   generator  which,   when  evaluated,  produces   the
  1827.           identifier referred to above.  This evaluation takes place during
  1828.           the layout process.
  1829.  
  1830.           The identifiers are structured and  consist of a sequence of  one
  1831.           or  more  numerals that  allow  NumberedSegments at  the  same or
  1832.           different  levels  in   a  document  structure  to   be  uniquely
  1833.           distinguished.   The  numerals may  be represented  by Arabic  or
  1834.           Roman  numerals  or by  their alphabetic  equivalent in  lower or
  1835.           upper case characters (the number 1 is represented by "A", etc.).
  1836.           Each  numeral  in an  identifier  is  distinguished  by means  of
  1837.           "separator"  characters  such  as  spaces  and  full  stops  (the
  1838.           character "period"); a typical example is "6.2.3.4".  
  1839.  
  1840.              NOTE - The separator may be an empty string.
  1841.  
  1842.           Further   details  of  the   structure  and  generation   of  the
  1843.           identifiers are given in 6.6.6.
  1844.  
  1845.                                           16
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1855.  
  1856.  
  1857.           6.2.3.5  Paragraph
  1858.  
  1859.           Paragraph is  a constituent constraint that is a subdivision of a
  1860.           Passage  or NumberedSegment.   It is typically  used to represent
  1861.           the grouping  of parts  of a  document that deals  with a  single
  1862.           theme  or topic.   These parts  may consist of  character, raster
  1863.           graphics and geometric graphics content.
  1864.  
  1865.           The immediate subordinates of a Paragraph consist of an arbitrary
  1866.           ordered  sequence of  one or  more  of the  following constituent
  1867.           constraints:
  1868.  
  1869.                               BodyText;
  1870.  
  1871.                               BodyRaster;
  1872.  
  1873.                               BodyGeometric;
  1874.           Reference;
  1875.                               Footnote.
  1876.  
  1877.                               
  1878.  
  1879.           The   character  content  associated  with  a  Paragraph  may  be
  1880.           concatenated to  form a  continuous stream  of character  content
  1881.           which may contain  single or multiple references  to footnotes or
  1882.           other parts of the document, and may be laid out as single unit.
  1883.             
  1884.           Content from  subordinates of  a paragraph may  be separated  one
  1885.           from another to  give white space  between them using  Separation
  1886.           (see 6.4.2.2).   This may  be used to  give an effect  similar to
  1887.           that achieved with empty lines of text.  Use of empty  text lines
  1888.           to achieve white space between areas of text or other content may
  1889.           lead to  unintended blank areas adjacent  to the leading  edge of
  1890.           layout  objects  (e.g.,  at  page  breaks)  whereas  the  use  of
  1891.           Separation avoids this.
  1892.  
  1893.  
  1894.           6.2.3.6  BodyText, BodyRaster and BodyGeometric
  1895.  
  1896.           BodyText,   BodyRaster   and   BodyGeometric   are    constituent
  1897.           constraints   which  represent   the  lowest  level   of  logical
  1898.           subdivision of  a document.  These constituent constraints act as
  1899.           carriers  for  the  document  content and  may  be  specified  as
  1900.           subordinates of constituent constraints: 
  1901.  
  1902.                               Passage;
  1903.  
  1904.                               NumberedSegment;
  1905.  
  1906.                               Paragraph;
  1907.  
  1908.                               ListTerm;
  1909.  
  1910.  
  1911.                                           17
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1921.  
  1922.                               UnNumberedList.
  1923.  
  1924.           In addition, BodyText may be specified as a subordinate to Phrase
  1925.           and  Reference.  These  constituent constraints allow  the layout
  1926.           and presentation requirements  of different parts of  the content
  1927.           of a document to be specified.
  1928.  
  1929.           These  are  basic logical  constituent constraints  that directly
  1930.           refer to content portions that contain character, raster graphics
  1931.           and geometric  graphics  content respectively.    BodyText  shall
  1932.           refer to  one or more content  portions which may  contain either
  1933.           processable,  formatted   or   formatted  processable   character
  1934.           content.   BodyRaster  and BodyGeometric  shall only  refer to  a
  1935.           single  content portion  containing formatted  processable raster
  1936.           graphics  content  or  formatted  processable geometric  graphics
  1937.           content respectively.
  1938.  
  1939.           Constituent constraints  of these  types in  the generic  logical
  1940.           structure may  refer to generic content.  This provides the means
  1941.           of defining common content within the body part of a document.
  1942.  
  1943.           Where   the  superior   constituent   constraint  referenced   is
  1944.           subordinate to  a  FootnoteBody, it  is required  to specify  the
  1945.           layout category name  'Footnote'.  This  along with a  "permitted
  1946.           categories" attribute of the same name on the footnote frame will
  1947.           ensure that a logical object  from this constituent constraint is
  1948.           laid out in a FootnoteArea frame when generic layout structure is
  1949.           specified within the document.
  1950.  
  1951.  
  1952.           6.2.3.7  Footnote
  1953.  
  1954.           Footnote is a  constituent constraint that  is used to  represent
  1955.           footnotes within  a document.  This constituent constraint may be
  1956.           specified as a subordinate to: 
  1957.  
  1958.                               Paragraph;
  1959.  
  1960.                               ListTerm;
  1961.  
  1962.                               Phrase.
  1963.  
  1964.           A footnote is an amount  of content that is logically  associated
  1965.           with  a  particular  part  of the  document  body,  but  which is
  1966.           intended to be read and  laid out separately from its  associated
  1967.           part  of  the document.    Typically, a  footnote  consists of  a
  1968.           footnote  identifier, which is embedded within the document body,
  1969.           and the footnote itself, which is laid out elsewhere.  
  1970.  
  1971.           A  Footnote is a  composite logical constituent  constraint whose
  1972.           immediate  subordinates  consist  of  the constituent  constraint
  1973.           FootnoteReference,  which  represents  the  footnote  identifier,
  1974.           followed  by  the   constituent  constraint  FootnoteBody,  which
  1975.           represents the footnote itself.   Both of these  subordinates are
  1976.  
  1977.                                           18
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  1987.  
  1988.           mandatory.
  1989.  
  1990.  
  1991.           6.2.3.8  FootnoteReference
  1992.  
  1993.           FootnoteReference is  a constituent  constraint that  is used  to
  1994.           represent a footnote reference within the body of a document.
  1995.  
  1996.           FootnoteReference  is a basic logical constituent that contains a
  1997.           content generator  which,  when evaluated,  produces a  character
  1998.           string  which  constitutes  the footnote  reference  referred  to
  1999.           above.  
  2000.  
  2001.           The generated character string consists of a  label with optional
  2002.           prefix  and  suffix character  strings.   The  label  is used  to
  2003.           uniquely  identify a  particular footnote,  and may consist  of a
  2004.           number  which  is represented  in  the form  of  Arabic or  Roman
  2005.           numerals or  by  an alphabetic  equivalent.   The  number may  be
  2006.           automatically generated so that its value is incremented for each
  2007.           successive footnote.   Alternatively, the label may consist  of a
  2008.           user defined character string. 
  2009.  
  2010.           In  a sequence of  footnotes, automatic numbers  and user defined
  2011.           labels  may be  freely mixed (giving,  for example,  the sequence
  2012.           1,2,*,3,4).   If the label  consists of a  user-defined character
  2013.           string,  the  automatically  generated  number  sequence  is  not
  2014.           incremented.
  2015.            
  2016.           An example of a footnote reference is "(2)" where "(" and ")" are
  2017.           user defined prefix  and suffix strings  respectively and "2"  is
  2018.           the  automatically generated label.   Another example  is "note5"
  2019.           where "5"  is the label and "note" is  a prefix string which also
  2020.           contains the  control  function PLU  to enable  the  label to  be
  2021.           represented in the form of a superscript.  In this case, a suffix
  2022.           string containing the  control function PLD would  be required to
  2023.           cause the  superscripting to  be cancelled  before the  following
  2024.           text.  
  2025.  
  2026.           The  format  of  the  content  generator  referred  to  above  is
  2027.           described in 6.6.6.7.
  2028.  
  2029.  
  2030.           6.2.3.9  FootnoteBody
  2031.  
  2032.           FootnoteBody is  a  constituent constraint  which represents  the
  2033.           content  of a  footnote.   The content  consists of  a stream  of
  2034.           character  content which may contain embedded references to other
  2035.           parts of the document.
  2036.  
  2037.           FootnoteBody is a composite logical  constituent constraint whose
  2038.           subordinates    consist    of    the    constituent    constraint
  2039.           FootnoteNumber,  which is mandatory  and represents  the footnote
  2040.           identifier, followed  by a  sequence of  one or  more constituent
  2041.           constraints  of   the  type  FootnoteText   and  Reference  which
  2042.  
  2043.                                           19
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2053.  
  2054.           represent the footnote content.  The identifier referred to above
  2055.           is  identical to the  corresponding footnote identifier  which is
  2056.           embedded in the content of  the document body and represented  by
  2057.           the constituent constraint FootnoteReference.
  2058.  
  2059.           The  constituent  constraints  subordinate  to  FootnoteBody  are
  2060.           intended to be laid  out separately from the  other parts of  the
  2061.           document content.   When a generic layout  structure is specified
  2062.           for the document, these  constituent constraints are  constrained
  2063.           to be laid out in a FootnoteArea frame (see 6.3.5.9).
  2064.  
  2065.  
  2066.           6.2.3.10  FootnoteNumber
  2067.  
  2068.           FootnoteNumber is a  constituent constraint  that represents  the
  2069.           footnote identifier within the footnote body.
  2070.  
  2071.           This identifier is identical  to the content associated  with the
  2072.           constituent constraint  FootnoteReference, but is  intended to be
  2073.           laid out  so  that it  immediately precedes  the  content of  the
  2074.           footnote body.
  2075.  
  2076.           FootnoteNumber  is a  basic logical  constituent  constraint that
  2077.           contains  a content generator  which when evaluated  produces the
  2078.           identifier   referenced  above.    The  format  of  this  content
  2079.           generator  is  the same  as  the content  generator  that may  be
  2080.           specified for the constituent constraint FootnoteReference.
  2081.  
  2082.           It is  required to specify the attribute layout category with the
  2083.           value 'Footnote'  for this  constituent constraint.   This  along
  2084.           with a "permitted categories" attribute with the value 'Footnote'
  2085.           on the footnote frame will ensure that a logical object from this
  2086.           constituent constraint  is laid out in a  FootnoteArea frame when
  2087.           generic layout structure is specified within the document.
  2088.  
  2089.  
  2090.           6.2.3.11  FootnoteText
  2091.  
  2092.           FootnoteText   is  a  constituent  constraint  that  is  used  to
  2093.           represent  the  footnote  content.   It  is  the  lowest  logical
  2094.           subdivision of a FootnoteBody.
  2095.  
  2096.           FootnoteText  is  a  basic  logical constituent  constraint  that
  2097.           references  one   or  more   content  portions  each   containing
  2098.           processable,  formatted   or   formatted  processable   character
  2099.           content.
  2100.  
  2101.           It is  required to specify the attribute layout category with the
  2102.           value 'Footnote'  for this  constituent constraint.   This  along
  2103.           with a "permitted categories" attribute with the value 'Footnote'
  2104.           on the footnote frame will ensure that a logical object from this
  2105.           constituent constraint is laid  out in a FootnoteArea frame  when
  2106.           generic layout structure is specified within the document.
  2107.  
  2108.  
  2109.                                           20
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2119.  
  2120.           6.2.3.12  Phrase
  2121.  
  2122.           Phrase is a constituent constraint that is used to group together
  2123.           an amount of  character content that represents  a single logical
  2124.           entity that needs to be distinguished for some purpose.  In  this
  2125.           profile,  a   Phrase  may  be  used  only  as  a  subdivision  of
  2126.           constituents constraints of type ListItem, so that a ListItem may
  2127.           contain embedded footnotes  and references to other  parts of the
  2128.           document content.
  2129.  
  2130.           The immediate subordinates of this constituent constraint consist
  2131.           of an arbitrary  ordered sequence of one or more of the following
  2132.           constituent constraints:
  2133.  
  2134.                               BodyText;
  2135.  
  2136.                               Reference;
  2137.  
  2138.                               Footnote.
  2139.  
  2140.           The  character   content  associated   with  a   Phrase  may   be
  2141.           concatenated to  form a  continuous stream  of character  content
  2142.           which may contain single or  multiple references to footnotes  or
  2143.           other parts of the document, and may  be laid out as single unit.
  2144.           Alternatively,  the  character  content  may  contain  hard  line
  2145.           terminators,  which  will  cause  parts  of  the  content  to  be
  2146.           separated when laid out.
  2147.  
  2148.           Constituents that provide for a general referencing mechanism
  2149.           This  subclause defines  the  constituent  constraints  that  are
  2150.           provided   to  support  a  general  referencing  mechanism  in  a
  2151.           document.
  2152.  
  2153.  
  2154.           6.2.3.12.1  Reference
  2155.  
  2156.           A  Reference is  a  constituent  constraint  which  represents  a
  2157.           reference  consisting of character content that is derived either
  2158.           fully or  partially  from another  part of  the  document.   This
  2159.           constituent  constraint  provides  a  general   cross-referencing
  2160.           mechanism in a document.  
  2161.  
  2162.           This constituent  constraint may be specified as a subordinate to
  2163.           constituent constraints of the types: 
  2164.  
  2165.                               Paragraph;
  2166.  
  2167.                               ListTerm;
  2168.  
  2169.                               Phrase;
  2170.  
  2171.                               FootnoteBody.
  2172.  
  2173.           It  is   a  composite  constituent   constraint  whose  immediate
  2174.  
  2175.                                           21
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2185.  
  2186.           subordinates  may consist of  an ordered sequence  of constituent
  2187.           constraints   of  the   types  BodyText,   ReferencedContent  and
  2188.           BodyText.
  2189.  
  2190.           The general format of the  content associated with a  constituent
  2191.           constraint of the type Reference is:
  2192.  
  2193.                [<prefix-string>]<reference-string>[<suffix-string>]
  2194.  
  2195.           The prefix  and suffix strings are optional and, if required, are
  2196.           represented by   constituent  constraints of  the type  BodyText.
  2197.           The   reference  string   is   represented  by   the  constituent
  2198.           constraint, ReferencedContent.
  2199.  
  2200.           A  reference string  may,  for  example,  contain  references  to
  2201.           identifiers such  as a  number that  distinguishes  a chapter  or
  2202.           section,  a table, a  footnote, an item  in a numbered  list or a
  2203.           page number.   Each reference may contain  multiple, concatenated
  2204.           references to different parts of a document; a typical example is
  2205.           the reference  "see Table  3 in chapter  2 on  page 4"  where the
  2206.           values "3",  "2"  and  "4" are  derived  automatically  from  the
  2207.           appropriate table, chapter and page in the document.
  2208.  
  2209.  
  2210.           6.2.3.12.2  ReferencedContent
  2211.  
  2212.           ReferencedContent is  a constituent constraint that  represents a
  2213.           character  string that contains a single  reference to content in
  2214.           other parts of the document (see 6.2.3.13.1).  
  2215.  
  2216.           It is a basic logical constituent constraint that is an immediate
  2217.           subordinate to the constituent constraint Reference.  It contains
  2218.           a content generator which, when evaluated, produces the character
  2219.           string containing the referenced content. 
  2220.  
  2221.           A sequence  of two or more  constituent constraints of  this type
  2222.           may  be used to  represent a  composite reference string  such as
  2223.           "see  Table 2  in section  3.1  beginning on  page 6",  where the
  2224.           strings  "2",  "3.1"  and  "6"  are  automatically  generated  by
  2225.           referring to number  strings attached to particular  parts of the
  2226.           document.
  2227.  
  2228.           The  format  of  this content  generator  and  its  evaluation is
  2229.           described in 6.6.6.9.
  2230.  
  2231.           Where   the  superior   constituent   constraint  referenced   is
  2232.           subordinate  to a  FootnoteBody, it  is  required to  specify the
  2233.           attribute  layout category  with the  value  'Footnote' for  this
  2234.           constituent constraint.  This along with a "permitted categories"
  2235.           attribute  with the value  'Footnote' on the  footnote frame will
  2236.           ensure that a logical object from this constituent constraint  is
  2237.           laid out in a FootnoteArea frame when generic layout structure is
  2238.           specified within the document.
  2239.  
  2240.  
  2241.                                           22
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2251.  
  2252.           6.2.3.13  Constituents used to represent tables
  2253.  
  2254.  
  2255.           6.2.3.13.1  Introduction
  2256.  
  2257.           For the  purpose  of this  Specification, a  table  is a  logical
  2258.           entity that consists of  an ordered sequence of elements,  called
  2259.           cells, that are arranged into a two dimensional array of rows and
  2260.           columns. 
  2261.           Each row consists of a sequence of one or more cells.
  2262.  
  2263.           The  subclauses below  define the  logical  constituents used  to
  2264.           represent  tables.     Figure   21  illustrates   the  structural
  2265.           relationships between the constituents used to represent a table.
  2266.           Subclause 6.4.1.3.7 describes how tables are intended to be  laid
  2267.           out.
  2268.  
  2269.  
  2270.           6.2.3.13.2  Table
  2271.  
  2272.           Table is a logical constituent constraint that represents a table
  2273.           as  a whole.  This  constituent constraint may  be specified as a
  2274.           subordinate    to    constituent    constraints    Passage    and
  2275.           NumberedSegment.
  2276.  
  2277.           The immediate subordinates of this constituent constraint consist
  2278.           of a sequence of constituent constraints Row.
  2279.  
  2280.  
  2281.           6.2.3.13.3  Row
  2282.  
  2283.           Row is  a constituent  constraint that  is a  subordinate of  the
  2284.           constituent constraint Table and represents a row of entries in a
  2285.           table.
  2286.  
  2287.           The immediate  subordinates of  a Row  consist of  a sequence  of
  2288.           constituent constraints EntryElement.
  2289.  
  2290.  
  2291.           6.2.3.13.4  EntryElement
  2292.  
  2293.           EntryElement is a constituent constraint that represents a single
  2294.           entry  in   a  table.    It  is  a  sub-division  of  constituent
  2295.           constraints of type Table.  It is specified as a subordinate to a
  2296.           Row and represents a single entry in a table.
  2297.  
  2298.           Each entry in  a table or form  may consist of character,  raster
  2299.           graphics or  geometric graphics content and,  hence, EntryElement
  2300.           has  a single immediate subordinate constituent constraint of the
  2301.           type EntryText, EntryRaster or EntryGeometric. 
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.                                           23
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2317.  
  2318.           6.2.3.13.5  EntryText, EntryRaster and EntryGeometric
  2319.  
  2320.           EntryText,  EntryRaster   and   EntryGeometric  are   constituent
  2321.           constraints which  represent content that  is to be  entered into
  2322.           tables.   These  constituent  constraints  may  be  specified  as
  2323.           subordinates of the constituent constraint EntryElement and allow
  2324.           the  layout  and   presentation  requirements  for   the  content
  2325.           allocated to tables to be specified.
  2326.  
  2327.           These are  basic  logical constituent  constraints that  directly
  2328.           refer to content portions that contain character, raster graphics
  2329.           and  geometric graphics  content  respectively.   EntryText shall
  2330.           refer to  one or more content  portions which may  contain either
  2331.           processable,  formatted   or   formatted  processable   character
  2332.           content.  EntryRaster  and EntryGeometric shall  only refer to  a
  2333.           single content  portion containing  formatted processable  raster
  2334.           graphics  content  or  formatted processable  geometric  graphics
  2335.           content respectively.
  2336.  
  2337.           Constituent constraints  of these  types in  the generic  logical
  2338.           structure may  refer to generic content.  This provides the means
  2339.           of defining common content within tables.
  2340.  
  2341.  
  2342.           6.2.3.14  Constituents representing lists
  2343.  
  2344.  
  2345.           6.2.3.14.1  Introduction
  2346.  
  2347.           This  Specification supports the representation of three types of
  2348.           lists, as follows:
  2349.  
  2350.                               numbered  lists consisting  of ordered lists  of items,
  2351.                each of which is preceded  by an identifier such as  an
  2352.                alphabetic character or numeral;
  2353.  
  2354.                                unnumbered lists  consisting  of  unordered  lists  of
  2355.                items,  each of which  may optionally be  preceded by a
  2356.                separator such as a hyphen, bullet or small circle;
  2357.  
  2358.                               definition lists consisting  of lists of ordered  pairs
  2359.                of  items  such   as  a  term  and   its  corresponding
  2360.                definition.
  2361.  
  2362.           Each type  of list  may be  nested without  restriction, and  one
  2363.           particular type of list may be  composed of lists of other types.
  2364.           For  example,  an  item in  a  numbered  list  can  consist of  a
  2365.           subordinate numbered list, unnumbered list or definition list.  
  2366.  
  2367.           The constituent constraints that may  be used to represent  these
  2368.           list types are defined below.
  2369.  
  2370.  
  2371.  
  2372.  
  2373.                                           24
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2383.  
  2384.           6.2.3.14.2  NumberedList
  2385.  
  2386.           A NumberedList  is  a  constituent constraint  that  is  used  to
  2387.           represent  a list  of  items, each  of  which is  preceded by  an
  2388.           identifier that serves to distinguish that item.  
  2389.  
  2390.           This  constituent constraint  may be  specified  as an  immediate
  2391.           subordinate to a Passage, NumberedSegment, or ListItem. 
  2392.            
  2393.           The  immediate  subordinates  of a  NumberedList  consist  of the
  2394.           constituent constraint Number which  contains a content generator
  2395.           that  generates the identifier corresponding  to each item in the
  2396.           list, followed  by the  constituent constraint,  ListItem.   This
  2397.           pair   of  constituent   constraints  may  be   repeated  without
  2398.           limitation.   
  2399.  
  2400.           Further information concerning  the numbering of items  in a list
  2401.           is contained in 6.6.6.5.
  2402.  
  2403.  
  2404.           6.2.3.14.3  UnNumberedList
  2405.  
  2406.           UnNumberedList  is a  constituent  constraint  that  is  used  to
  2407.           represent a list  of items, each of  which may be preceded  by an
  2408.           optional separator  consisting of  character, raster  graphics or
  2409.           geometric graphics content.
  2410.  
  2411.           This  constituent constraint  may be  specified  as an  immediate
  2412.           subordinate to a Passage, NumberedSegment, or ListItem.
  2413.  
  2414.           The  immediate subordinates  of an  UnNumberedList  consist of  a
  2415.           separator,  which is represented  by a constituent  constraint of
  2416.           the type BodyText,  BodyRaster or BodyGeometric, followed  by the
  2417.           constituent  constraint  ListItem.    This  pair  of  constituent
  2418.           constraints may be repeated without limitation.
  2419.  
  2420.  
  2421.           6.2.3.14.4  DefinitionList
  2422.  
  2423.           DefinitionList  is a  constituent  constraint that  represents  a
  2424.           sequence of ordered pairs of items.  
  2425.  
  2426.           This  constituent constraint  may be  specified  as an  immediate
  2427.           subordinate to a Passage, NumberedSegment, or ListItem.
  2428.  
  2429.           The   immediate  subordinates  of   this  item  consist   of  the
  2430.           constituent  constraint  ListTerm,  followed by  the  constituent
  2431.           constraint ListItem.  This pair of constituent constraints may be
  2432.           repeated without limitation.
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.                                           25
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2449.  
  2450.           6.2.3.14.5  ListItem
  2451.  
  2452.           ListItem  is a  constituent constraint  that  represents an  item
  2453.           within a  NumberedList, UnNumberedList  or DefinitionList.   That
  2454.           is,  this constituent constraint represents the second element of
  2455.           each pair of elements within a numbered, unnumbered or definition
  2456.           list.
  2457.  
  2458.           The  immediate subordinates  of this  constituent  constraint may
  2459.           consist  of a  sequence  of one  or more  constituent constraints
  2460.           Phrase,  or  one  of the  constituent  constraints  NumberedList,
  2461.           UnNumberedList or DefinitionList.
  2462.  
  2463.           Thus  this  constituent   constraint  represents  an   amount  of
  2464.           character  content  that  may  contain   embedded  references  to
  2465.           footnote and  other parts  of the  document, or  it represents  a
  2466.           subordinate list of items.
  2467.  
  2468.  
  2469.           6.2.3.14.6  ListTerm
  2470.  
  2471.           ListTerm  is  a  constituent constraint  that  represents  a term
  2472.           element  within a DefinitionList.   A  term element is  the first
  2473.           item of each pair of items that constitutes a definition list.
  2474.  
  2475.           The immediate subordinates of this constituent constraint consist
  2476.           of an arbitrary ordered sequence of one or more of the  following
  2477.           constituent constraints:
  2478.  
  2479.                               BodyText;
  2480.  
  2481.                               BodyRaster;
  2482.  
  2483.                               BodyGeometric;
  2484.  
  2485.                               Reference;
  2486.  
  2487.                               Footnote.
  2488.  
  2489.           Thus  this   constituent  constraint  represents   an  amount  of
  2490.           character,  raster  graphics   and  geometric  graphics  content.
  2491.           Character content may contain embedded references and footnotes.
  2492.  
  2493.  
  2494.           6.2.4  Common content part of the logical structure
  2495.  
  2496.  
  2497.           6.2.4.1  CommonContent
  2498.  
  2499.           CommonContent is a constituent constraint  that represents common
  2500.           content that is laid  out in the body, header, or  footer area of
  2501.           the  pages  of a  document.    Common  content  consists  of  any
  2502.           combination of character, raster  graphics and geometric graphics
  2503.           content.
  2504.  
  2505.                                           26
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2515.  
  2516.           Any  number  of  constituent  constraints  CommonContent  may  be
  2517.           contained  in a document.   CommonContent is  a composite logical
  2518.           object class whose immediate subordinates consist of an arbitrary
  2519.           ordered  sequence of  one or  more of  the following  constituent
  2520.           constraints: 
  2521.  
  2522.  
  2523.                               CommonText;
  2524.  
  2525.                               PageNumber;
  2526.  
  2527.                               CommonRaster;
  2528.  
  2529.                               CommonGeometric;
  2530.  
  2531.                               CommonReference;
  2532.  
  2533.                               TableNumber;
  2534.  
  2535.           When  the  generic  layout   structure  is  present,  constituent
  2536.           constraints  of  the  type  CommonContent  and  their  associated
  2537.           subordinate constituent constraints  are constrained  to be  laid
  2538.           out in  a specified  frame within a  body, header or  footer area
  2539.           using the logical source mechanism (see 6.3.6).  
  2540.  
  2541.  
  2542.           6.2.4.2  CommonText
  2543.  
  2544.           CommonText is a constituent constraint that represents the common
  2545.           character content that is to be laid  out in the header or footer
  2546.           area of  a  page.   For example,  header or  footer content  that
  2547.           appears on each page in a sequence of pages may be represented by
  2548.           this constituent constraint.
  2549.  
  2550.           CommonText is a constituent constraint for a basic logical object
  2551.           class  that  references   one  or  more  content   portions  each
  2552.           containing  character content  in  a  processable,  formatted  or
  2553.           formatted processable form.
  2554.  
  2555.  
  2556.           6.2.4.3  PageNumber
  2557.  
  2558.           PageNumber is a constituent constraint that represents the common
  2559.           character content that is to be laid out in the header  or footer
  2560.           area of a page.  This constituent constraint is specifically used
  2561.           when it is required to  represent header or footer content  which
  2562.           contains an automatically generated page number.
  2563.  
  2564.           PageNumber  is  a basic  logical  object  class that  contains  a
  2565.           content generator.   This content generator contains  a reference
  2566.           to  a page  number  which  is  automatically evaluated  when  the
  2567.           document is  laid out.  This  provides the means  of representing
  2568.           the page numbers that are displayed on the consecutive pages of a
  2569.           document. 
  2570.  
  2571.                                           27
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2581.  
  2582.           Each  page  number  consists  of a  single  number  which  may be
  2583.           represented in  the form of  Arabic or  Roman numerals or  in its
  2584.           alphabetic equivalent.   Page numbering schemes may start at 0 or
  2585.           any value greater  than 0.  The page number that is generated may
  2586.           have a prefix or suffix character string.
  2587.  
  2588.           The format of the content generators is defined in 6.6.6.8.
  2589.  
  2590.  
  2591.           6.2.4.4  CommonRaster
  2592.  
  2593.           CommonRaster  is a  constituent  constraint that  represents  the
  2594.           common raster  graphics content  that is  to be  laid out  in the
  2595.           header or footer area  of a page.  For example,  this constituent
  2596.           constraint may be  used to represent a  logo which is to  be laid
  2597.           out on each page of a document. 
  2598.  
  2599.           CommonRaster  is a  constituent constraint  for  a basic  logical
  2600.           object class which references a single content portion containing
  2601.           formatted processable raster graphics content. 
  2602.  
  2603.  
  2604.           6.2.4.5  CommonGeometric
  2605.  
  2606.           CommonGeometric is  a constituent constraint that  represents the
  2607.           common  geometric graphics content that is  to be laid out in the
  2608.           header or footer  area of a page.   For example, this constituent
  2609.           constraint may  be used to represent a graphical icon which is to
  2610.           be laid out on each page of a document. 
  2611.  
  2612.           CommonGeometric is a  constituent constraint for a  basic logical
  2613.           object class which references a single content portion containing
  2614.           formatted processable geometric graphics content. 
  2615.  
  2616.  
  2617.           6.2.4.6  CommonReference
  2618.  
  2619.           CommonReference  is a constituent  constraint that represents the
  2620.           common character content that is to be  laid out in the header or
  2621.           footer  area of a  page and  which represents a  character string
  2622.           that contains references to other parts  of the document.  Such a
  2623.           reference may consist of a reference to a  number that relates to
  2624.           a segment, table, footnote or page number.
  2625.  
  2626.           CommonReference is a  constituent constraint for a  basic logical
  2627.           object  class that  contains  a  content  generator  which,  when
  2628.           evaluated, produces a character string containing the references.
  2629.           The format of this reference string is defined in 6.6.6.10.
  2630.  
  2631.  
  2632.           6.2.4.7  TableNumber
  2633.  
  2634.           TableNumber  is  a  constituent constraint  that  represents  the
  2635.           common character content that is to be  laid out in the header or
  2636.  
  2637.                                           28
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2647.  
  2648.           footer   area  of  a  page.     This  constituent  constraint  is
  2649.           specifically used when it is required to represent a table number
  2650.           which is to be placed within the header area of a table.
  2651.  
  2652.           TableNumber  is  a  constituent constraint  for  a  basic logical
  2653.           object  class that  contains  a  content  generator  which,  when
  2654.           evaluated, generates  the required table  number.  The  format of
  2655.           the content generator is defined in 6.6.6.6.
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.                                           29
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2713.  
  2714.           Layout characteristics
  2715.           This  subclause defines  the constituent  constraints  for layout
  2716.           components  which are provided by this Specification to represent
  2717.           the characteristics of documents. 
  2718.  
  2719.           Different  constituent constraints may  be used to  represent and
  2720.           distinguish  parts of  a  document  that  have  different  layout
  2721.           characteristics.      This   subclause  describes   the   general
  2722.           characteristics and typical uses  of the constituent  constraints
  2723.           that are provided.
  2724.  
  2725.           The  descriptions of  the  layout characteristics  represented by
  2726.           each  of the  constituent constraints  is  provided for  guidance
  2727.           only.  It  is the responsibility of  the user to determine  how a
  2728.           document  is to be  represented using the  constituents provided.
  2729.           Adherence   to  these   guidelines   can   enhance   the   mutual
  2730.           understanding of a document by an originator and a recipient. 
  2731.  
  2732.  
  2733.           6.2.1  Overview of the layout characteristics
  2734.  
  2735.           The document structure allows the document content to be laid out
  2736.           and presented  in one or more  page sets.   Each page set  may be
  2737.           used for  different parts of the document, for example, the title
  2738.           page, foreword, table of contents, document body and appendices.
  2739.  
  2740.           Each page set  consists of a series  of pages.  In  general, each
  2741.           page may be sub-divided into three areas: the body area, which is
  2742.           used to  layout  the document  body; and  the  header and  footer
  2743.           areas, which may be used to layout the common content. 
  2744.  
  2745.           Three body layout types are provided by this Specification.  Each
  2746.           body layout type specifies how the body is positioned within each
  2747.           page, and  how  the content  may be  presented  within the  body.
  2748.           These  are referred  to as  body  layouts A,  B, and  C,  and are
  2749.           defined in 6.3.4.5.
  2750.  
  2751.           It is intended that all applications which use this Specification
  2752.           shall support  body layout A, whereas  support for the  other two
  2753.           body layouts may be specified as optional.
  2754.  
  2755.           Body layout A  is used when the  character content is to  be laid
  2756.           out horizontally  (from left to right or  from right to left) and
  2757.           from  top  to  bottom within  the  body  area.   This  layout  is
  2758.           typically  used  for  contents written  in  Latin  based, Hebrew,
  2759.           Arabic, and Japanese (most cases) languages.
  2760.  
  2761.           Body layout B  is used when the  character content is to  be laid
  2762.           out vertically (bottom  to top or top to bottom) and from left to
  2763.           right within  the body area.   This layout is  typically used for
  2764.           contents written  in Latin  based, Hebrew,  Arabic, and  Japanese
  2765.           (most cases)  languages in  which it  is required  to layout  the
  2766.           content  in landscape  orientation within  the body  area of  the
  2767.           page.
  2768.  
  2769.                                           30
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2779.  
  2780.           Body layout C  is used when the  character content is to  be laid
  2781.           out vertically and from right to left within the body area.  This
  2782.           layout may be  typically used for  contents written in  languages
  2783.           which use ideograms, such as Japanese and Chinese characters.
  2784.  
  2785.           The body, header and footer areas may be further sub-divided into
  2786.           areas to support  different layout requirements.   These features
  2787.           are described further in 6.3.5 and 6.3.6.
  2788.  
  2789.  
  2790.           6.2.2  DocumentLayoutRoot
  2791.  
  2792.           DocumentLayoutRoot is  a constituent  constraint that  represents
  2793.           the top  level in the document  layout structure.   Its immediate
  2794.           subordinates  consist of  a sequence of  one or  more constituent
  2795.           constraints of  the type,  PageSet.   The  numbering schemes  for
  2796.           pages may be initialized on this constituent constraint.
  2797.  
  2798.  
  2799.           6.2.3  PageSet
  2800.  
  2801.           PageSet is a constituent constraint that represents a grouping of
  2802.           pages  within  a document.    A  PageSet  is  typically  used  to
  2803.           represent  a  part  of  a  document  that  has  different  layout
  2804.           requirements from other parts of a document.  Also, a PageSet may
  2805.           correspond to  a part of  a document that  has a  certain logical
  2806.           significance,  for example, a  PageSet might represent  the front
  2807.           matter in a document or an individual chapter.  
  2808.  
  2809.           Only one level of  PageSet is allowed in a document.   However, a
  2810.           document may  contain any number of class definitions of the type
  2811.           PageSet which may  be used, for  example, to provide a  choice of
  2812.           alternative  layouts  for different  parts  of a  document  or to
  2813.           specify the exact layout requirements for each successive part of
  2814.           a document.
  2815.  
  2816.           The immediate subordinates of a PageSet consist of  a combination
  2817.           of  constituent  constraints  of the  types  Page,  RectoPage and
  2818.           VersoPage, as described in 6.3.4.1.
  2819.  
  2820.  
  2821.           6.2.4  Page characteristics
  2822.  
  2823.  
  2824.           6.2.4.1  Page constituents
  2825.  
  2826.           Three constituent constraints are provided to represent the pages
  2827.           within a document, namely Page, RectoPage and VersoPage. 
  2828.  
  2829.           The only  difference  in the  characteristics of  these types  of
  2830.           constituent constraints concerns the values that may be specified
  2831.           for the parameter "side of sheet" in the attribute "medium type".
  2832.           In the case of Page, the value of this parameter may be specified
  2833.           as 'recto',  'verso' or 'unspecified'.  In the case of RectoPage,
  2834.  
  2835.                                           31
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2845.  
  2846.           the  value  of this  parameter  may be  specified  as 'recto'  or
  2847.           'unspecified';  in  the case  of  VersoPage,  the  value of  this
  2848.           parameter  may be  specified as  'verso' or  'unspecified'.   The
  2849.           values 'recto'  and 'verso' of the  "side of sheet"  parameter of
  2850.           the "medium type" attribute are non-basic. 
  2851.  
  2852.           The pages that  make up a page set consist of an optional initial
  2853.           page which  is represented by  a constituent constraint  Page and
  2854.           which is optionally followed by either:
  2855.  
  2856.                               A  sequence  of pages  represented  by the  constituent
  2857.                constraint  Page. All pages in this sequence shall have
  2858.                the    same    layout    characteristics    but   these
  2859.                characteristics  may differ  from those on  the initial
  2860.                page.
  2861.  
  2862.                               A sequence of pages  which are intended to be  laid out
  2863.                alternatively on the recto  and verso (or on  the verso
  2864.                and recto)  sides of  the presentation  medium and  are
  2865.                represented by  the  constituent constraints  RectoPage
  2866.                and  VersoPage respectively. All pages in this sequence
  2867.                shall have the  same layout  characteristics but  these
  2868.                characteristics may  differ from  those of the  initial
  2869.                page
  2870.  
  2871.           A page set shall contain at least one page.
  2872.  
  2873.           An initial  page is typically used at the beginning of a document
  2874.           or of  a section within a document. It  may be used, for example,
  2875.           for a  title  page  whose layout  requirements  differ  from  the
  2876.           following pages.
  2877.  
  2878.           The following  restrictions also apply to the pages within a page
  2879.           set:
  2880.  
  2881.                             a) all the  pages shall have the same dimensions, but may
  2882.                differ in orientation (see 6.3.4.2);
  2883.  
  2884.                             b) all the pages  are to be laid out on the  same size of
  2885.                presentation medium (see 6.3.4.3);
  2886.  
  2887.                             c)  all the pages  instantiated from  a given  page class
  2888.                shall have the  same layout characteristics.   That is,
  2889.                for a given page class, there is not a choice of layout
  2890.                characteristics.   However, the  layout characteristics
  2891.                of pages in a page set may or may not be the same.  
  2892.  
  2893.           Pages having the  same layout characteristics are pages for which
  2894.           the body  area,  header area  (if present)  and  footer area  (if
  2895.           present)  have the same  dimensions and position  within the page
  2896.           (see  6.3.4.3).     However,   pages  having   the  same   layout
  2897.           characteristics do  not necessarily have the same position on the
  2898.           presentation medium (see 6.3.4.4).
  2899.  
  2900.  
  2901.                                           32
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2911.  
  2912.           6.2.4.2  Page dimensions
  2913.  
  2914.           The dimensions of  the pages may  be specified  as any value  (in
  2915.           BMUs) that is  equivalent to or less than ISO A3  or Ansi B paper
  2916.           sizes.   The dimensions may be specified in portrait or landscape
  2917.           orientation.  Japanese page sizes  B4 and B5 are also  supported,
  2918.           but  the  dimensions  of  these pages  lie  within  the  range of
  2919.           dimensions given above.
  2920.  
  2921.           Dimensions   equivalent  to  or  less  than  the  common  assured
  2922.           reproduction area of ISO  A4 and ANSI A in  portrait or landscape
  2923.           orientation are basic  values.  Larger  page sizes are  non-basic
  2924.           and their use shall be indicated in the document profile. 
  2925.  
  2926.           Any default  page dimensions  may  be specified  in the  document
  2927.           profile subject to the maximum dimensions defined above.
  2928.  
  2929.              NOTE -  The size termed  North American  Letter (NAL)  in CCITT
  2930.              Rec.  T.410 series | ISO 8613 (e.g., in CCITT  Rec. T.412 | ISO
  2931.              8613-2 clause  7) is called ANSI  A in this specification to be
  2932.              consistent with  the other  reference  to  ANSI standard  paper
  2933.              sizes.
  2934.  
  2935.  
  2936.           6.2.4.3  Nominal page sizes
  2937.  
  2938.           The nominal page sizes that may be specified are listed in  Table
  2939.           1.   These may be specified in portrait or landscape orientation.
  2940.           All values  of  nominal page  size are  non-basic  and hence  all
  2941.           values used  in a  document shall  be specified  in the  document
  2942.           profile.
  2943.  
  2944.           Any value of nominal page size defined in Table 1, subject to the
  2945.           restrictions specified  above, may  be specified  as the  default
  2946.           value in the document profile. 
  2947.  
  2948.           Table 1 also  includes the recommended assured  reproduction area
  2949.           (ARA).   Information loss may occur when a document is reproduced
  2950.           if the  dimensions of  constituent constraints  of the type  page
  2951.           exceed the ARA for the specified nominal page size.
  2952.  
  2953.  
  2954.           6.2.4.4  Page offset
  2955.  
  2956.           The page offset is  the distance of the position of  the left and
  2957.           top  edges  of the  page  relative  to  the  left and  top  edges
  2958.           respectively of  the presentation  medium on which  each page  is
  2959.           reproduced. Any value  of page offset  may be specified  provided
  2960.           that no  part  of the  page area  lies outside  the  area of  the
  2961.           nominal page. Also, page offsets specified for the initial, recto
  2962.           and  verso pages within a given page  set may differ. The default
  2963.           page offset may be specified in the document profile.
  2964.  
  2965.  
  2966.  
  2967.                                           33
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  2977.                              Table 1   Nominal page sizes
  2978.  
  2979.  
  2980.  
  2981.                Page type   Size in inches  Size in BMUs    ARA in BMUs
  2982.                            or millimeters
  2983.                 ISO A5      148mm x 210mm    7 015 x  9    not defined
  2984.                                                 920
  2985.  
  2986.                 ISO A4      210mm x 297mm    9 920 x 14   9 240 x 13 200
  2987.                                                 030
  2988.  
  2989.                 ISO A3      297mm x 420mm   14 030 x 19  13 200 x 18 480
  2990.                                                 840
  2991.               ANSI legal   8,5in. x 14in.   10 200 x 16   9 240 x 15 480
  2992.                                                 800
  2993.  
  2994.                 ANSI A     8,5in. x 11in.   10 200 x 13   9 240 x 12 400
  2995.                                                 200
  2996.  
  2997.                 ANSI B     11in.  x 17in.   13 200 x 20  12 744 x 19 656
  2998.                                                 400
  2999.  
  3000.               Japan-legal  257mm  x 364mm   12 141 x 17  11 200 x 15 300
  3001.                                                 196
  3002.              Japan-letter  182mm  x 257mm    8 598 x 12   7 600 x 10 200
  3003.                                                 141
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.           6.2.4.5  Page layout characteristics
  3010.  
  3011.  
  3012.           6.2.4.5.1  General characteristics
  3013.  
  3014.           Each page  in a document may be subdivided into three rectangular
  3015.           areas, as follows: 
  3016.  
  3017.                                a  body  area,  which is  reserved  for  content  that
  3018.                belongs to the body part of the document (see 6.3.5);
  3019.  
  3020.                               a  header area,  which is  reserved  for common  header
  3021.                content (see 6.3.6);
  3022.  
  3023.                                a footer  area,  which is  reserved for  common footer
  3024.                content (see 6.3.6).
  3025.  
  3026.           The body  area is mandatory  and shall occur  on every page  in a
  3027.           document.  The header and footer areas are both optional.
  3028.  
  3029.           Also  these three  areas shall  be entirely contained  within the
  3030.           page area and shall not overlap. 
  3031.  
  3032.  
  3033.                                           34
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3043.  
  3044.           6.2.4.5.2  Body area layout
  3045.  
  3046.           Three types of layout of body area are defined:
  3047.  
  3048.                               Body layout  type A.  In this case,  the layout path in
  3049.                the body area is specified as 270 degrees.
  3050.  
  3051.                               Body layout  type B.  In this case,  the layout path in
  3052.                the body area is specified as 0 degrees.
  3053.  
  3054.                               Body layout  type C.  In this case,  the layout path in
  3055.                the body area is specified as 180 degrees.
  3056.  
  3057.  
  3058.           6.2.4.5.3  Header/footer area layout
  3059.  
  3060.           Two types of layout of header/footer area are defined:
  3061.  
  3062.                               H/F layout A1.   In this case,  the layout path in  the
  3063.                header and footer area is  270 degrees.  If the  header
  3064.                or footer area  is composite, the  layout paths in  the
  3065.                lowest  frames  are 270  degrees.    This header/footer
  3066.                layout applies to body layout types A, B and C;
  3067.  
  3068.                               H/F layout B1.   In this case,  the layout path in  the
  3069.                header and footer area is  180 degrees.  If the  header
  3070.                or footer area  is composite, the  layout paths in  the
  3071.                lowest  frames  are  180  degrees.  This  header/footer
  3072.                layout applies to body layout type C only. 
  3073.  
  3074.  
  3075.           6.2.4.5.4  Page layout
  3076.  
  3077.           Page layout  type  is determined  by a  combination  of the  body
  3078.           layout type  and the H/F layout type.  The following combinations
  3079.           are permitted:
  3080.  
  3081.                                Body layout type  A and H/F  layout A1  (equivalent to
  3082.                Page Layout A of FOD26);
  3083.  
  3084.                                Body layout type  B and H/F  layout A1  (equivalent to
  3085.                Page Layout B of FOD26);
  3086.  
  3087.                                Body layout type  C and H/F  layout A1  (equivalent to
  3088.                Page layout C of FOD26);
  3089.  
  3090.                                Body layout type  C and H/F  layout B1  (equivalent to
  3091.                Page layout D of FOD26);
  3092.  
  3093.           It is intended that all applications which use this Specification
  3094.           shall support  the combinations of body  layout A and  H/F layout
  3095.           A1, whereas  support for other  combinations may be  specified as
  3096.           optional.  
  3097.  
  3098.  
  3099.                                           35
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3109.  
  3110.           The  header and  footer of H/F  layout A1  is laid out  above and
  3111.           below the body area.  Figure  1 illustrates this case, and Figure
  3112.           2 illustrates H/F layout type A1 corresponding to this case.
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.            Figure 1 -  Body layout types A, B and C with header and footer
  3139.           above and below the body area
  3140.  
  3141.  
  3142.  
  3143.           The header and footer  of H/F layout B1 is laid  out to the right
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.              Figure 2 -  Header and footer frame layouts corresponding to
  3159.           Figure 1
  3160.  
  3161.  
  3162.           and left  of the body area.  Figure  3 illustrates this case, and
  3163.           Figure 4 illustrates  H/F layout  type B1  corresponding to  this
  3164.  
  3165.                                           36
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3175.  
  3176.           case.
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.              Figure 3 -  Body layout type C with header and footer to the
  3199.           right and left of the body area
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.              Figure 4 -  Header and footer frame layouts corresponding to
  3220.           Figure 3
  3221.  
  3222.  
  3223.  
  3224.           6.2.5  Body area characteristics
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.                                           37
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3241.  
  3242.           6.2.5.1  General characteristics
  3243.  
  3244.           The body area is the area within a  page where the main matter of
  3245.           the document,  that is, the  body part of  the document,  is laid
  3246.           out.  The  layout path specified in the  body area determines the
  3247.           body layout type being used. 
  3248.  
  3249.           The  body area  may  consist of  a single  frame  into which  the
  3250.           content is directly  laid out.   In this case,  the body area  is
  3251.           represented by a BasicBody frame.
  3252.  
  3253.           Alternatively, the  body area  may be  subdivided into  different
  3254.           rectangular areas  to provide for different  layout requirements.
  3255.           In   this   case,   the   body   frame   is  represented   by   a
  3256.           VariableCompositeBody frame.
  3257.  
  3258.           The  subordinate areas within  a VariableCompositeBody  frame are
  3259.           represented  by variably positioned frames.  Thus the subordinate
  3260.           areas  are  not  pre-determined  and  are  automatically adjusted
  3261.           during  the layout  process to  accommodate  the content  that is
  3262.           allocated to them. 
  3263.  
  3264.  
  3265.           6.2.5.2  BasicBody
  3266.  
  3267.           BasicBody  is a  constituent constraint  which  defines a  lowest
  3268.           level frame  which represents a body  area into which  content is
  3269.           directly laid out.
  3270.  
  3271.           The position and dimensions of this  frame are fixed.  The layout
  3272.           path specified depends upon the body  layout type being used (see
  3273.           6.3.4.5).
  3274.  
  3275.  
  3276.           6.2.5.3  VariableCompositeBody
  3277.  
  3278.           VariableCompositeBody is  a constituent constraint that defines a
  3279.           composite  frame which represents the entire body area, and which
  3280.           contains  one or  more  subordinate  variably positioned  frames.
  3281.           These subordinates  are not pre-determined  and are automatically
  3282.           adjusted during  the layout  process to  accommodate the  content
  3283.           that  is   allocated  to  them,  for  example,   to  provide  for
  3284.           combinations of  single or multicolumn  layout and the  layout of
  3285.           footnotes.  
  3286.  
  3287.           A  VariableCompositeBody frame  has a  fixed  position and  fixed
  3288.           dimensions.   The layout  path specified for  this frame  depends
  3289.           upon the layout type used (see 6.3.1).  
  3290.  
  3291.           The immediate subordinates of this frame consist  of an arbitrary
  3292.           ordered  sequence  of  one  or  more  frames  of  the   following
  3293.           constituent constraints:
  3294.  
  3295.  
  3296.  
  3297.                                           38
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3307.  
  3308.                               BasicFloat;
  3309.  
  3310.                               SnakingColumns;
  3311.  
  3312.                               SynchronizedColumns;
  3313.  
  3314.                               TableArea.
  3315.  
  3316.           It may also contain a single frame of the type FootnoteArea.
  3317.  
  3318.           The  subordinate  frames  are all  variably  positioned  and have
  3319.           variable dimensions.  Thus the relative positions of these frames
  3320.           in the body  area may vary and depend upon the positions of other
  3321.           frames (if any) that are placed in the same VariableCompositeBody
  3322.           frame. 
  3323.  
  3324.           The layout path for VariableCompositeBody frames may be specified
  3325.           as 270, 0 or  180 degrees.  This determines the  body layout type
  3326.           used  in  the  case  where  VariableCompositeBody  represents the
  3327.           entire body area (see 6.3.4.5).
  3328.  
  3329.           All immediate  subordinate frames are  laid out along  the layout
  3330.           path  specified (in normal positioning fill order).  FootnoteArea
  3331.           frames are laid out in the same direction as the body area layout
  3332.           path, but reverse fill order is used.  
  3333.  
  3334.           Except for SnakingColumns, all frames are constrained to have the
  3335.           same layout path as the VariableCompositeBody frame to which they
  3336.           are subordinate (see appropriate subclause below).
  3337.  
  3338.           Figures 5, 6 and 7 provide illustrations of  the layout of frames
  3339.           within  a VariableCompositeBody frame for the various body layout
  3340.           types.
  3341.  
  3342.           A choice of  subordinate frames of the types listed  above may be
  3343.           specified  for  a VariableCompositeBody  frame.   Different frame
  3344.           types  may be selected using various  layout directives (see 6.4)
  3345.           and,  therefore, the  layout characteristics  of  the body  areas
  3346.           within a page set may change from page to page within a page set.
  3347.  
  3348.  
  3349.           6.2.5.4  BasicFloat
  3350.  
  3351.           BasicFloat  is a  constituent constraint  that  defines a  lowest
  3352.           level frame that is used to represent a single column area within
  3353.           a body area.   A single column  area is typically used  to layout
  3354.           content in the form of a single column.
  3355.  
  3356.           This is a  variably positioned frame which may  be specified as a
  3357.           subordinate to frames of type VariableCompositeBody.
  3358.  
  3359.           The dimension  of this frame in  the direction orthogonal  to the
  3360.           layout path of the body area is fixed or defaults to  the maximum
  3361.           value allowed within the body area. 
  3362.  
  3363.                                           39
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3373.  
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393.  
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.             Figure 5 -  Example of body area layout for body layout type A
  3408.  
  3409.  
  3410.           The dimension  of this  frame in  the direction  parallel to  the
  3411.           layout path  of the body area  is specified by  the sub-parameter
  3412.           "Rule-B".   This  dimension is  therefore automatically  adjusted
  3413.           during the layout process to  be the minimum required to  contain
  3414.           all the content allocated to the frame.
  3415.  
  3416.           The  layout path  specified for this  frame is  the same  as that
  3417.           specified for  the body area.  Content shall  only be laid out in
  3418.           this frame in the direction of the layout path specified.
  3419.  
  3420.  
  3421.           6.2.5.5  SnakingColumns
  3422.  
  3423.           SnakingColumns  is  a  constituent  constraint   that  defines  a
  3424.           composite frame  that represents a snaking columns  area within a
  3425.           body area.   A  snaking columns  area is  typically used  for the
  3426.           layout of one or more columns of content in which the  content is
  3427.           allowed to flow freely from one column to the next.  Examples are
  3428.  
  3429.                                           40
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.  
  3470.             Figure 6 -  Example of body area layout for body layout type B
  3471.  
  3472.  
  3473.           shown in Figure 8.
  3474.  
  3475.           This is a variably positioned  frame which may only be  specified
  3476.           as a subordinate to a VariableCompositeBody frame.
  3477.  
  3478.           Its immediate subordinates consist of  one or more frames of  the
  3479.           type ColumnVariable.
  3480.  
  3481.           The  dimension of  the  SnakingColumns  frame  in  the  direction
  3482.           orthogonal  to  the layout  path  of the  body  area is  fixed or
  3483.           defaults to the maximum value allowed within the body area. 
  3484.  
  3485.           The dimension  of this  frame in  the direction  parallel to  the
  3486.           layout path  of the body area  is specified by  the sub-parameter
  3487.           "Rule-B".   This dimension is therefore automatically adjusted to
  3488.           accommodate the subordinate frames which are laid out in it.
  3489.  
  3490.           The layout path for  a SnakingColumns frame may be specified as 0
  3491.           or 180 degrees in the case  of body  layout A, 90 or  270 degrees
  3492.           in the case of body layout B, and 270 degrees in the case of body
  3493.           layout C.
  3494.  
  3495.                                           41
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.  
  3503.  
  3504.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3505.  
  3506.  
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.             Figure 7 -  Example of body area layout for body layout type C
  3537.  
  3538.  
  3539.           The attribute  "balance" may  be specified  for a  SnakingColumns
  3540.           frame  to   indicate  that  two   or  more  of   the  subordinate
  3541.           ColumnVariable frames are to be approximately  equal in length in
  3542.           the  vertical  dimension  in  the  case  of  body  layout  A  and
  3543.           approximately  equal in length in the horizontal dimension in the
  3544.           cases of body  layouts B and  C.  Note that "approximately equal"
  3545.           in the  context of the "balance" attribute means that the leading
  3546.           edges of the layout objects being balanced are aligned as closely
  3547.           as possible  to  a line  orthogonal to  the layout  path for  the
  3548.           objects.
  3549.  
  3550.           The  attribute  "balance"  may be  ignored  when  the subordinate
  3551.           ColumnVariable frames have unequal widths
  3552.  
  3553.  
  3554.           6.2.5.6  SynchronizedColumns
  3555.  
  3556.           SynchronizedColumns is  a constituent  constraint that defines  a
  3557.           composite  frame  that  represents  a  synchronized columns  area
  3558.           within  a body area.   A  synchronized columns area  is typically
  3559.           used to represent  one or more  columns of content such  that the
  3560.  
  3561.                                           42
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.  
  3570.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3571.  
  3572.  
  3573.  
  3574.  
  3575.  
  3576.  
  3577.  
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.  
  3588.  
  3589.  
  3590.              Figure 8 -  Example of the layout of a snaking columns frame
  3591.  
  3592.  
  3593.           content  laid out  in  each column  belongs  to different  layout
  3594.           streams.   Thus content laid out in one  column is not allowed to
  3595.           flow into the next column.
  3596.  
  3597.           This type of column layout is typically used when  it is required
  3598.           to  layout  separate  amounts of  content  in  parallel with  one
  3599.           another  such   that  they  are   aligned.    Examples   are  the
  3600.           synchronized layout of  content belonging to different  languages
  3601.           and  the  layout of  a figure  in  parallel with  some text.   An
  3602.           example is shown in Figure 9.
  3603.  
  3604.           With regard to positioning  and dimensioning, SynchronizedColumns
  3605.           frames have the same characteristics as SnakingColumns frames.
  3606.  
  3607.           The immediate subordinates of a SynchronizedColumns frame consist
  3608.           of  an arbitrary ordered sequence of  any number of frames of the
  3609.           type ColumnFixed.
  3610.  
  3611.           The layout  path for a  SynchronizedColumns frame is  270 degrees
  3612.           for body layout  A, 0 degrees for  body layout B and  180 degrees
  3613.           for body layout C. 
  3614.  
  3615.  
  3616.           6.2.5.7  ColumnVariable
  3617.  
  3618.           ColumnVariable  is a constituent constraint that defines a lowest
  3619.           level frame that is used to represents a column of content within
  3620.           a  SnakingColumns  frame.   This  is a  frame  which is  variably
  3621.           positioned.
  3622.  
  3623.           The dimension  of this  frame in  the direction  parallel to  the
  3624.           layout path  of the superior  SnakingColumns frame (that  is, the
  3625.           column width) is fixed.  The dimensions of different instances of
  3626.  
  3627.                                           43
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.               Figure 9 -  Example of the layout of a synchronized column
  3656.  
  3657.  
  3658.           ColumnVariable frames  within a  given  SnakingColumns frame  may
  3659.           differ to allow columns of different widths to be specified.
  3660.  
  3661.           The dimension in the direction  orthogonal to the layout path  of
  3662.           the superior  frame (that is, the column length) may be specified
  3663.           by the sub-parameters "Rule-B" or "maximum-size". 
  3664.  
  3665.           The layout path for ColumnVariable  frames is 270 degrees in  the
  3666.           case  of  body layout  A, 0  degrees in  body   layout B  and 180
  3667.           degrees in body layout C.
  3668.  
  3669.           All ColumnVariable frames subordinate  to the same SnakingColumns
  3670.           frame shall have the same  category name; different names may  be
  3671.           used   for   ColumnVariable   frames  laid   out   in   different
  3672.           SnakingColumns frames. 
  3673.  
  3674.           6.2.5.8  ColumnFixed
  3675.  
  3676.           ColumnFixed is  a constituent  constraint that  defines a  lowest
  3677.           level frame that is  used to represent a column of content within
  3678.           a SynchronizedColumns frame.   This is a frame which  has a fixed
  3679.           position.
  3680.  
  3681.           The dimension  of this frame in  the direction orthogonal  to the
  3682.           layout path of  the superior  frame  (that is, the  column width)
  3683.           may be  fixed or specified  by the  sub-parameter "maximum  size"
  3684.           (see below).   This dimension may differ for  different instances
  3685.           of ColumnFixed frames within a given SynchronizedColumns frame to
  3686.           allow columns  of different widths to be specified.  However, the
  3687.           widths shall be specified such that the columns do not overlap.
  3688.  
  3689.           The dimension  of this  frame in  the direction  parallel to  the
  3690.           layout path  of the superior frame  (that is, the  column length)
  3691.           may be specified by the sub-parameters "Rule-B" or "maximum-size"
  3692.  
  3693.                                           44
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3703.  
  3704.           in the cases of body layouts A and B.  In the case of body layout
  3705.           C,  this dimension shall  only be specified  by the sub-parameter
  3706.           "maximum-size". 
  3707.  
  3708.           The ColumnFixed frames subordinate to a given SynchronizedColumns
  3709.           frame shall have different category names.  
  3710.  
  3711.           The layout  path for  ColumnFixed frames  shall be  equal to  the
  3712.           layout path of the superior SynchronizedColumns frame. 
  3713.  
  3714.           The content laid  out in different ColumnFixed frames  within the
  3715.           same   SynchronizedColumns  frame   may   be  specified   to   be
  3716.           synchronized by using the attribute "synchronization".
  3717.  
  3718.           The  values for  the sub-parameter "maximum  size" shall  only be
  3719.           specified  for  the  last   ColumnFixed  frame  laid  out  in   a
  3720.           SynchronizedColumns  frame to prevent  overlapping of the frames.
  3721.           That is, for a page coordinate system with its reference point in
  3722.           the  upper left  corner,  only the  right most  ColumnFixed frame
  3723.           shall specify values for the sub-parameter "maximum size" without
  3724.           the risk of overlapping frames.
  3725.  
  3726.  
  3727.  
  3728.           6.2.5.9  FootnoteArea
  3729.  
  3730.           FootnoteArea  is a constituent  constraint that defines  a lowest
  3731.           level frame  that is used to  represent a footnote  area within a
  3732.           body area.   A footnote area is typically  used for the layout of
  3733.           footnotes.
  3734.  
  3735.           This   frame   may    be   specified   as   a    subordinate   to
  3736.           VariableCompositeBody frames.
  3737.  
  3738.           Frames of  this type are  variably positioned with  a positioning
  3739.           fill  order  specified  as reverse.    Therefore,  this frame  is
  3740.           positioned    adjacent    to    the   leading    edge    of   the
  3741.           VariableCompositeBody frame.
  3742.  
  3743.           The  dimension of FootnoteArea frames in the direction orthogonal
  3744.           to the  layout path of its superior frame  is specified by one of
  3745.           the sub-parameters "fixed-dimension"  or "maximum size".   In the
  3746.           direction of the layout path,  the dimension is specified by  the
  3747.           sub-parameter  "Rule-B"   which  means  that  this  dimension  is
  3748.           automatically  adjusted  to  contain  all  the  content  that  is
  3749.           allocated to it. 
  3750.  
  3751.           The layout  path  for FootnoteArea  frames is  the  same as  that
  3752.           specified for the superior body area. 
  3753.  
  3754.           The  content that may be laid out in this frame is limited to the
  3755.           content that is associated  with basic logical objects which  are
  3756.           directly  or  indirectly  subordinate to  the  composite  logical
  3757.           object FootnoteBody.  To achieve this, the "permitted categories"
  3758.  
  3759.                                           45
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3769.  
  3770.           attribute of this frame shall specify the value 'Footnote', the 
  3771.           same name  as required on the basic logical objects for footnotes
  3772.           (see 6.2.3.10 and 6.2.3.11).
  3773.  
  3774.  
  3775.           6.2.5.10  Constituents used for laying out tables
  3776.  
  3777.           This  subclause  defines  the constituents  used  to  support the
  3778.           layout of  tables.  An overview of the layout features pertaining
  3779.           to  tables is  given  in 6.3.5.10.1  and  the subsequent  clauses
  3780.           define the individual constituents provided.
  3781.  
  3782.  
  3783.           6.2.5.10.1  Overview
  3784.  
  3785.           A table consists of three main areas:
  3786.  
  3787.                               a single  optional header area  which is placed  at the
  3788.                top of the table;
  3789.  
  3790.                                a single  optional table  label area  which  is placed
  3791.                immediately below the header area;
  3792.  
  3793.                                one or more  row areas, which  are placed  in sequence
  3794.                below the header area and table label area.
  3795.  
  3796.           The  table header area  is typically used  to contain a  title or
  3797.           caption that describes the purpose of  the table.  It is an  area
  3798.           which  is  subdivided  into  one or  more  areas,  each  of which
  3799.           contains  common content derived from the logical structure using
  3800.           the logical source mechanism.
  3801.  
  3802.           The table  label area  is typically  used to  contain the  labels
  3803.           which relate to the columns in the table.  The row areas form the
  3804.           main body  of the table  and are  used to layout  the information
  3805.           that belongs to the table.
  3806.  
  3807.           An  example of a table  is shown in Figure 10.   In this example,
  3808.           the  table label  and each  row consist  of  a sequence  of areas
  3809.           called cells  which are  laid out  horizontally across  the table
  3810.           area.
  3811.  
  3812.           The frames  that are used to represent  table label and row areas
  3813.           are  shown in Figures 11 and 12 respectively.  The areas labelled
  3814.           as  cells  are intended  to  accommodate content  belonging  to a
  3815.           single content  type.  The frames  which represent the  cells are
  3816.           fixed   in  position  and  have  a  fixed  horizontal  dimension.
  3817.           However,  the vertical dimension  of a  cell may be  specified as
  3818.           variable, so that this dimension is automatically adjusted during
  3819.           the  layout process to  accommodate all the  content allocated to
  3820.           it.
  3821.  
  3822.           The frames  which specifies the complete table area (that is, the
  3823.           TableArea  frame), which is  not shown  in the figures,  also may
  3824.  
  3825.                                           46
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3835.  
  3836.  
  3837.  
  3838.  
  3839.  
  3840.  
  3841.  
  3842.  
  3843.  
  3844.  
  3845.  
  3846.  
  3847.  
  3848.  
  3849.  
  3850.  
  3851.  
  3852.  
  3853.  
  3854.  
  3855.                            Figure 10 -  Example of a table
  3856.  
  3857.  
  3858.           have a variable vertical dimension.
  3859.  
  3860.           The mechanism by  which content is  allocated to  the cells in  a
  3861.           table is described in 6.4.1.3.7.
  3862.  
  3863.  
  3864.           6.2.5.10.2  TableArea
  3865.  
  3866.           TableArea  is a constituent  constraint that defines  a composite
  3867.           frame that is used to specify an area reserved for the  layout of
  3868.           a table.    This constituent  constraint may  be  specified as  a
  3869.           subordinate to  the VariableCompositeBody constituent constraint.
  3870.  
  3871.           This is a frame  that has a variable position.   Its dimension in
  3872.           the direction orthogonal to the layout path of the superior frame
  3873.           is fixed.  Its dimension in the direction parallel to the  layout
  3874.           path is  fixed or specified by  the sub-parameter "Rule-B".   Its
  3875.           layout path is specified as 270 degrees.
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.                   Figure 11 -  Frames used to represent table labels
  3888.  
  3889.  
  3890.  
  3891.                                           47
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.  
  3899.  
  3900.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3901.  
  3902.  
  3903.           The immediate subordinates of this constituent constraint consist
  3904.           of an optional  TableHeader, followed by an  optional TableLabel,
  3905.           which  is  followed by  a  sequence of  one  or more  constituent
  3906.           constraints of the types RowArea and an optional TableLabel.
  3907.  
  3908.  
  3909.  
  3910.  
  3911.  
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.                    Figure 12 -  Frames used to represent table rows
  3920.  
  3921.  
  3922.  
  3923.           6.2.5.10.3  TableHeader
  3924.  
  3925.           TableHeader   is  a  constituent   constraint  that  specifies  a
  3926.           composite frame that specifies  an area within a TableArea  frame
  3927.           that   is  typically  used  to  present  the  header  information
  3928.           associated with a table. 
  3929.  
  3930.           This is a frame whose position is variable.  Its dimension in the
  3931.           direction orthogonal  to the layout path of the superior frame is
  3932.           fixed.   Its dimension  in the  direction parallel to  the layout
  3933.           path is fixed or specified by the sub-parameter "Rule-B".
  3934.  
  3935.           The immediate subordinates of this constituent constraint consist
  3936.           of   a  sequence   of  constituent   constraints   of  the   type
  3937.           SourcedContentFixed.     Hence,  the   content  laid  out   in  a
  3938.           TableHeader frame is derived from logical constituent constraints
  3939.           of the type CommonContent.
  3940.  
  3941.  
  3942.           6.2.5.10.4  TableLabel
  3943.  
  3944.           TableLabel is a  constituent constraint that defines  a composite
  3945.           frame  that specifies an  area within  a TableArea frame  that is
  3946.           used for laying out labelling information relating to the columns
  3947.           of information in the table. 
  3948.  
  3949.           This is a frame whose position is variable.  Its dimension in the
  3950.           direction orthogonal  to the layout path of the superior frame is
  3951.           fixed.   Its dimension  in the  direction parallel to  the layout
  3952.           path is fixed or specified by the sub-parameter "Rule B".
  3953.  
  3954.           The immediate subordinates of this constituent constraint consist
  3955.           of a sequence of one or more constituent constraints of  the type
  3956.  
  3957.                                           48
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  3967.  
  3968.           TableLabelContent.
  3969.  
  3970.  
  3971.           6.2.5.10.5  TableLabelContent
  3972.  
  3973.           TableLabelContent  is a  constituent  constraint  that defines  a
  3974.           lowest level frame that defines an area within a TableLabel frame
  3975.           that is  used for laying out  header information that  relates to
  3976.           one  or more columns  in a table.   Character, raster graphics or
  3977.           geometric graphics content may be allocated to this frame.
  3978.  
  3979.           This is a  frame whose position is  fixed.  Its dimension  in the
  3980.           direction orthogonal  to the layout path of the superior frame is
  3981.           fixed.   Its dimension  in the  direction parallel to  the layout
  3982.           path is fixed or defaults to the maximum size allowed.
  3983.  
  3984.           The  content of a  frame of this  type is derived  from a logical
  3985.           constituent  constraint  of  the type  CommonContent,  using  the
  3986.           logical source mechanism.
  3987.  
  3988.  
  3989.           6.2.5.10.6  RowArea
  3990.  
  3991.           RowArea  is a  constituent constraint  that  defines a  composite
  3992.           frame that  specifies an area within  a TableArea frame  used for
  3993.           laying out a row of entries in a table.  
  3994.  
  3995.           This is a frame whose position is variable.  Its dimension in the
  3996.           direction orthogonal  to the layout path of the superior frame is
  3997.           fixed.   Its dimension  in the  direction parallel to  the layout
  3998.           path is fixed or specified by the sub-parameter "Rule-B".
  3999.  
  4000.           The immediate subordinates of this constituent constraint consist
  4001.           of a sequence  of one or more constituent constraints of the type
  4002.           Cell.
  4003.  
  4004.  
  4005.           6.2.5.10.7  Cell
  4006.  
  4007.           Cell  is a  constituent constraint  that defines  a lowest  level
  4008.           frame that  specifies an area within  a RowArea frame  for laying
  4009.           out an entry in a table. 
  4010.  
  4011.           This is a  frame whose position is  fixed.  Its dimension  in the
  4012.           direction orthogonal  to the layout path of the superior frame is
  4013.           fixed.   Its dimension  in the  direction parallel to  the layout
  4014.           path  is  fixed,  specified  by  the  sub-parameter  "Rule-B"  or
  4015.           defaults to the maximum size allowed.
  4016.  
  4017.           The  content  of frames  of  this type  is  derived from  logical
  4018.           constituent constraints of the type EntryElement.
  4019.  
  4020.  
  4021.  
  4022.  
  4023.                                           49
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4033.  
  4034.           6.2.6  Header and footer area characteristics
  4035.  
  4036.  
  4037.           6.2.6.1  General characteristics
  4038.  
  4039.           The header  and footer areas may consist of either basic areas or
  4040.           composite areas.
  4041.  
  4042.           A basic header or  footer area is an area into  which the content
  4043.           is  directly laid  out.  This  type of  area is represented  by a
  4044.           constituent constraint  of the  types BasicHeader  or BasicFooter
  4045.           respectively.
  4046.  
  4047.           A composite header or footer area is  an area which is subdivided
  4048.           into  separate  sourced  content and  arranged  content  areas to
  4049.           provide greater  versatility with  regard to  the  layout of  the
  4050.           content.    This  type of  area is represented  by a  constituent
  4051.           constraint  of  the  types   CompositeHeader  or  CompositeFooter
  4052.           respectively.
  4053.  
  4054.           In  the  case of  basic  header  or  footer  areas,  the  content
  4055.           allocated to these areas  is derived from the common  part of the
  4056.           logical structure of a document.  In the case of composite header
  4057.           or footer areas, the content may again be derived from the common
  4058.           part of the logical structure of a  document, but the content may
  4059.           also  be derived  from common  content specified  in the  generic
  4060.           layout structure.
  4061.  
  4062.  
  4063.           6.2.6.2  BasicHeader and BasicFooter
  4064.  
  4065.           BasicHeader  and  BasicFooter  are constituent  constraints  that
  4066.           define  lowest level  frames that represent  areas within  a page
  4067.           that are reserved for common content.
  4068.  
  4069.           These types of  frame have  fixed positions  and dimensions.  The
  4070.           positioning of  these frames within a  page and the  layout paths
  4071.           that may be  specified for them depends upon  the H/F layout type
  4072.           used (see 6.3.4.5).
  4073.  
  4074.           The content  that is laid out  in these frames is  derived, using
  4075.           the  logical source mechanism,  from the content  associated with
  4076.           the composite logical object classes of the type CommonContent. 
  4077.  
  4078.  
  4079.           6.2.6.3  CompositeHeader and CompositeFooter
  4080.  
  4081.           CompositeHeader  and CompositeFooter are  constituent constraints
  4082.           that define composite  frames that represent areas  within a page
  4083.           that are reserved for common content.
  4084.  
  4085.           These types  of frame have fixed  positions and dimensions.   The
  4086.           positioning of  these frames within a  page and the  layout paths
  4087.           that may  be specified for them depends  upon the H/F layout type
  4088.  
  4089.                                           50
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4099.  
  4100.           used (see 6.3.4.5)
  4101.  
  4102.           The subordinates of these frames may consist of either:
  4103.  
  4104.                             a) any  number  and  combination of  variably  positioned
  4105.                frames   of   the   types   SourcedContentVariable  and
  4106.                ArrangedContentVariable, or;
  4107.  
  4108.                             b) any  number and combination of fixed positioned frames
  4109.                of      the      types      SourcedContentFixed     and
  4110.                ArrangedContentFixed.
  4111.  
  4112.           In   case  b),  the   subordinate  frames  may   overlap  without
  4113.           restriction.
  4114.  
  4115.  
  4116.           6.2.6.4  SourcedContentVariable
  4117.  
  4118.           A SourcedContentVariable  frame is a  constituent constraint that
  4119.           defines a  lowest level frame that  represents a region  within a
  4120.           header  or footer area that  contains common content derived from
  4121.           the  generic logical structure. This frame is variably positioned
  4122.           and is used for the positioning content which is generated during
  4123.           the  layout process,  such as a  character sequence  containing a
  4124.           page number, a chapter title, etc.
  4125.  
  4126.           This frame may be placed in the header or footer area.  It is the
  4127.           immediate  subordinate of the frame of the constituent constraint
  4128.           type CompositeHeader or CompositeFooter.
  4129.  
  4130.           The attribute "logical source" shall  be specified for this frame
  4131.           to indicate the particular instance of the constituent constraint
  4132.           CommonContent which contains the content to be laid out.
  4133.  
  4134.           The dimension  of this frame in  the direction orthogonal  to the
  4135.           layout path of thesuperior frame is specified  by one of the sub-
  4136.           parameters "fixed dimension" or  "maximum-size".  The  dimensions
  4137.           of the frame in the direction parallel to the layout path  of the
  4138.           superior  frame is specified  by oneof the  sub-parameters "fixed
  4139.           dimension" or "Rule-B".
  4140.  
  4141.           The  layout  path  of this  frame  is  the same  as  that  of the
  4142.           containing header or footer area:
  4143.  
  4144.                             - the layout path of the frame is: 
  4145.  
  4146.                                   * 270 degrees for H/F layout A1;
  4147.  
  4148.                                   * 180  degrees for  H/F layout  B1 (see 6.3.4.5  and
  4149.                   the comment in 7.4.3.18)
  4150.  
  4151.                             - the horizontal dimension of the frame is: 
  4152.  
  4153.                                   *  either  fixed   or  specified  by   sub-parameter
  4154.  
  4155.                                           51
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4165.  
  4166.                   "maximum-size" for H/F layout A1;
  4167.  
  4168.                                   *  either  fixed   or  specified  by   sub-parameter
  4169.                   "Rule-B" for H/F layout B1.
  4170.  
  4171.                             - the vertical dimension of the frame is: 
  4172.  
  4173.                                   * either fixed or specified  by sub-parameter "Rule-
  4174.                   B" for H/F layout A1;
  4175.  
  4176.                                   *  either   fixed  or  specified   by  sub-parameter
  4177.                   "maximum-size" for H/F layout B1.
  4178.  
  4179.           Typically, this  frame  is used  for the  positioning of  content
  4180.           which is generated during the layout process, such as a character
  4181.           sequence containing a page number.
  4182.  
  4183.  
  4184.           6.2.6.5  ArrangedContentVariable
  4185.  
  4186.           An ArrangedContentVariable frame is a constituent constraint that
  4187.           defines a  lowest level frame that  represents a region  within a
  4188.           header  or footer area  that contains pre-defined  common content
  4189.           contained  in  the  generic  layout  structure.    This  frame is
  4190.           variably positioned, and its dimensions are fixed.
  4191.  
  4192.           This frame references  one or  more blocks  of type  GenericBlock
  4193.           (see 6.3.8)  which contain  the content  to be laid  out in  this
  4194.           frame.  Thus, this frame is typically used when it is required to
  4195.           layout pre-determined common content.
  4196.  
  4197.  
  4198.           6.2.6.6  SourcedContentFixed
  4199.  
  4200.           A  SourcedContentFixed  frame is  a  constituent constraint  that
  4201.           defines a  lowest level frame that  represents a region  within a
  4202.           header  or footer area that contains  common content derived from
  4203.           the generic logical structure.   This frame has a fixed  position
  4204.           and dimensions.
  4205.  
  4206.           This frame is required to specify the  attribute "logical source"
  4207.           which  indicates  the  particular  instance  of  the  constituent
  4208.           constraint  CommonContent which contains  the content to  be laid
  4209.           out in this frame.
  4210.  
  4211.           This frame may be placed  in the body area as well as  the header
  4212.           or footer area:
  4213.  
  4214.                               When this frame  is in the  header or footer area,  the
  4215.                frame is the immediate subordinate of the frame of  the
  4216.                constituent   constraint   type    CompositeHeader   or
  4217.                CompositeFooter;  
  4218.  
  4219.                               When this frame is  in the body area, the frame  is the
  4220.  
  4221.                                           52
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4231.  
  4232.                immediate subordinate of  the frame of the  constituent
  4233.                constraint type TableHeader.
  4234.  
  4235.           The layout path  of this frame is equal to that of the containing
  4236.           header or footer area or TableHeader area.
  4237.  
  4238.           Thus, as in the case of SourcedContentVariable frames, this frame
  4239.           is used  for the positioning of content which is generated during
  4240.           the layout process,  such as  a character  sequence containing  a
  4241.           page number.
  4242.  
  4243.  
  4244.           6.2.6.7  ArrangedContentFixed
  4245.  
  4246.           An ArrangedContentFixed frame  is a  constituent constraint  that
  4247.           defines a  lowest level frame that  represents a region  within a
  4248.           header  or footer area  that contains pre-defined  common content
  4249.           derived  from  the generic  layout structure.   The  position and
  4250.           dimensions of this frame are fixed.
  4251.  
  4252.           This frame  references one  or blocks  of type GenericBlock  (see
  4253.           6.3.7)  which contain the content  to be laid  out in this frame.
  4254.           Thus this frame is typically used  when it is required to  layout
  4255.           common  content  at  pre-determined positions  in  the  header or
  4256.           footer areas.
  4257.  
  4258.  
  4259.           6.2.7  GenericBlock and SpecificBlock
  4260.  
  4261.           Two types  of  constituent  constraints of  the  type  block  are
  4262.           defined, namely GenericBlock and SpecificBlock.
  4263.  
  4264.           Object classes  of the type GenericBlock may occur in the generic
  4265.           layout  structure  referenced  by the  attribute  "generator  for
  4266.           subordinates"     of    object     classes    of     the    types
  4267.           ArrangedContentVariable  and  ArrangedContentFixed.    When   the
  4268.           layout process  is performed to  produce a document  in formatted
  4269.           processable form,  equivalent blocks  may occur  in the  specific
  4270.           layout structure.  Objects of  this type are restricted to  occur
  4271.           within the header and footer areas of the page. 
  4272.  
  4273.           Objects  of  the  type  SpecificBlock  shall  only  occur  in the
  4274.           specific layout  structure.  They are created during the document
  4275.           layout  process  and result  from  the  layout of  basic  logical
  4276.           objects into lowest level frames that constitute the body, header
  4277.           and footer areas. 
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.                                           53
  4288.  
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294.  
  4295.  
  4296.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4297.  
  4298.           Document layout characteristics
  4299.           Mechanisms for controlling the allocation of logical constituents
  4300.           to various  areas in the layout  structure are defined  in 6.4.1.
  4301.           Mechanisms for controlling  the layout of the  content within the
  4302.           allocated areas are defined in 6.4.2.
  4303.  
  4304.           These mechanisms relate to  documents for which a generic  layout
  4305.           structure is specified.  When  a generic layout structure is  not
  4306.           present, then  these mechanisms  are restricted  as described  in
  4307.           6.4.3.
  4308.  
  4309.  
  4310.           6.3.1  Flow controls
  4311.  
  4312.           Various  mechanisms are  provided to  control  the allocation  of
  4313.           constituent  constraints  representing  the  body  parts  of  the
  4314.           logical structure  of a  document to  page sets,  pages and  body
  4315.           areas.  These are described in 6.4.1.1, 6.4.1.2 and 6.4.1.3.  The
  4316.           mechanisms for  controlling the layout of  the common parts  of a
  4317.           document are described in 6.4.1.4.
  4318.  
  4319.  
  4320.           6.3.1.1  Allocation of content to page sets
  4321.  
  4322.           Two methods of allocating  the constituent constraints associated
  4323.           with the body part of the document to page sets are provided.
  4324.  
  4325.                               layout in a nominated page set;
  4326.  
  4327.                               starting a new page set.
  4328.  
  4329.           The first method provides the ability to specify that a part of a
  4330.           document  is to be laid out entirely within a specified page set.
  4331.           This may  be specified for  constituent constraints of  the types
  4332.           Passage, NumberedSegment, Paragraph, NumberedList, UnNumberedList
  4333.           and  DefinitionList  using the  attribute  "layout  object class"
  4334.           which specifies the object class identifier of the required class
  4335.           of page set.
  4336.  
  4337.           The  second  method provides  the  ability  to specify  that  the
  4338.           logical  objects derived  from a  particular logical  constituent
  4339.           constraint in a document and  all subsequent parts of a  document
  4340.           are to be  laid out starting at the beginning of  a new page set.
  4341.           This  may be  specified  for logical  object  from the  following
  4342.           logical constituent constraints:
  4343.  
  4344.                               Passage;
  4345.  
  4346.                               NumberedSegment;
  4347.  
  4348.                               Paragraph;
  4349.  
  4350.                               Number;
  4351.  
  4352.  
  4353.                                           54
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4363.  
  4364.                               BodyText;
  4365.  
  4366.                               BodyRaster;
  4367.  
  4368.                               BodyGeometric;
  4369.  
  4370.                               NumberedList;
  4371.  
  4372.                               UnNumberedList;
  4373.  
  4374.                               DefinitionList.
  4375.  
  4376.           This is  achieved using the  attribute "new layout  object" which
  4377.           specifies  the object class  identifier of the  required class of
  4378.           page set. 
  4379.  
  4380.  
  4381.           6.3.1.2  Page breaks
  4382.  
  4383.           This provides  the ability  to specify that  the logical  objects
  4384.           derived from  a particular  logical constituent  constraint in  a
  4385.           document  and all subsequent parts  of a document  are to be laid
  4386.           out starting at the beginning of a new page.  The  page specified
  4387.           shall belong  to the page set  in which the logical  objects from
  4388.           the immediate  preceding logical  constituent constraint  is laid
  4389.           out.   The specification  of a page  breaks shall not  be used to
  4390.           layout part of a  document in a new page set.   If a new page set
  4391.           is required, then this shall be explicitly specified as described
  4392.           in 6.4.1.1.
  4393.  
  4394.           This  may be  specified for  logical objects  from the  following
  4395.           logical constituent constraints:
  4396.  
  4397.                               Passage;
  4398.  
  4399.                               NumberedSegment;
  4400.  
  4401.                               Paragraph;
  4402.  
  4403.                               Number;
  4404.  
  4405.                               BodyText;
  4406.  
  4407.                               BodyRaster;
  4408.  
  4409.                               BodyGeometric;
  4410.  
  4411.                               NumberedList;
  4412.  
  4413.                               UnNumberedList;
  4414.  
  4415.                               DefinitionList.
  4416.  
  4417.           This is achieved using the  attribute "new layout object".   This
  4418.  
  4419.                                           55
  4420.  
  4421.  
  4422.  
  4423.  
  4424.  
  4425.  
  4426.  
  4427.  
  4428.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4429.  
  4430.           attribute may  specify the  value 'object  type page'  indicating
  4431.           that the  logical  constituent  constraint  is  to  be  laid  out
  4432.           starting on the  next available page which  may be of any  class.
  4433.           Alternatively, the attribute may  specify the logical constituent
  4434.           constraint is  to be laid out starting on  a page of a particular
  4435.           class; this is achieved by specifying the object class identifier
  4436.           of the required page class.
  4437.  
  4438.  
  4439.           6.3.1.3  Allocation of content to body areas
  4440.  
  4441.           If the page  to which the content  is allocated contains  a basic
  4442.           body area,  then the content is  laid out in sequential  order in
  4443.           that body area in the form of a single column.
  4444.  
  4445.           If  the   page  contains   a  composite   body   area,  i.e.,   a
  4446.           VariableCompositeBody frame,  then  the content  is allocated  to
  4447.           subordinate areas in that body area as described below.
  4448.  
  4449.           The general layout mechanism is described in 6.4.1.3.2.  However,
  4450.           particular  layout  facilities  are provided  for  the  layout of
  4451.           logical   constituent   constraints  of   the  type   Table  (see
  4452.           6.4.1.3.7).    Also,  the  layout of  footnotes  is  described in
  4453.           6.4.1.3.8.
  4454.  
  4455.  
  4456.           6.3.1.3.1    General  mechanism  for  laying  out  content  in  a
  4457.           composite body area
  4458.  
  4459.           When laying  out content into a  composite body area  having more
  4460.           than  one subordinate frame  class (excluding  FootnoteArea frame
  4461.           classes),  it is necessary  to indicate, directly  or indirectly,
  4462.           which of the possible areas is to be used.  
  4463.  
  4464.           Basic  logical  objects  other  than those  which  are  within  a
  4465.           footnote structure may be specified  to be laid out in  instances
  4466.           of one or more lowest level frame class.   This is done by giving
  4467.           each  such  basic logical  component  a  value  of the  attribute
  4468.           "layout category" which corresponds to the value of the attribute
  4469.           "permitted categories" that applies to  the lowest level frame in
  4470.           which the content is to be laid out.
  4471.  
  4472.           Note  that any  basic  logical objects  in  the specific  logical
  4473.           structure to which this attribute does not apply will be laid out
  4474.           only in a lowest level frame which  has the implicit value of the
  4475.           attribute "permitted categories".
  4476.  
  4477.           The use  of the attribute "layout category" ensures that if there
  4478.           is insufficient area  on one page to  lay out all of  the content
  4479.           allocated  to a  particular type of  area, the laying  out of the
  4480.           content will automatically continue in the same type of area in a
  4481.           succeeding page when possible.   Thus content is allowed to  flow
  4482.           freely from  one page to another when the  type of layout used at
  4483.           the end of one page is the  same as that at the beginning of  the
  4484.  
  4485.                                           56
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4495.  
  4496.           succeeding page.  When continuation to the same type of area in a
  4497.           succeeding  page is not  possible because of  conflict with other
  4498.           layout  directives  or  because  the  attribute   "generator  for
  4499.           subordinates"  of the  page  class does  not  allow such  choice,
  4500.           backtracking may occur or other type of area may be selected.
  4501.  
  4502.           It is necessary to  ensure the correct use  of the mechanism  for
  4503.           the layout  of independent  layout streams.   In  the absence  of
  4504.           additional  layout directives, content may be placed in available
  4505.           space within  an  earlier frame  of the  specified  value of  the
  4506.           attribute  "permitted categories".   If this is  not intended, it
  4507.           may be prevented  by the use of the attribute "new layout object"
  4508.           (or the attribute "layout object class" in some cases).
  4509.  
  4510.           The  attribute  "new layout  object"  may be  applied  to logical
  4511.           components  whenever  a  change  in  layout  is  required.    The
  4512.           attribute "new layout  object" may specify the  identifier or the
  4513.           category name corresponding to the frame  class that is required.
  4514.           In the case of single or synchronized column areas, the attribute
  4515.           "new  layout object" may indicate the category name corresponding
  4516.           to the  frame class of  the single column area  or of any  of the
  4517.           columns within the synchronized column area that is required.  
  4518.  
  4519.           When layout occurs in a  snaking columns area, column breaks  may
  4520.           be indicated  by using the attribute  "new layout object".   This
  4521.           attribute may  specify the identifier or the category name of the
  4522.           frame corresponding  to  the column  in which  the  layout is  to
  4523.           continue.  However, only the  use of a category name  will ensure
  4524.           that  a single column  break is always  obtained, irrespective of
  4525.           the frame class actually used.
  4526.  
  4527.           When the  layout  is to  occur in  a  synchronized columns  area,
  4528.           category names may be used to control the particular columns that
  4529.           are  to be  used to lay  out the  logical entities.   Each column
  4530.           within a synchronized  columns area shall have  a different value
  4531.           for  the attribute "permitted categories", and each basic logical
  4532.           object  to be  laid  out in  this  particular area  shall have  a
  4533.           category  name corresponding to  a name  allocated to one  of the
  4534.           columns.  The logical entities allocated to different columns may
  4535.           be aligned using the attribute "synchronization".
  4536.  
  4537.           The following subclauses describe the layout mechanism applicable
  4538.           to subordinate areas for each of the frame types listed above.
  4539.  
  4540.  
  4541.           6.3.1.3.2  Layout into BasicFloat frames
  4542.  
  4543.           These are lowest level frames  and hence content continues to  be
  4544.           directly laid out in these frame types until an occurrence of the
  4545.           attribute  "new layout  object"  causes  the  layout  to  proceed
  4546.           starting with an alternative frame class.
  4547.  
  4548.  
  4549.  
  4550.  
  4551.                                           57
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4561.  
  4562.           6.3.1.3.3  Layout in SnakingColumns frames
  4563.  
  4564.  
  4565.           A  SnakingColumns frame  is  a  composite  frame  which  contains
  4566.           columns represented by lowest level frames. 
  4567.           All the  frames may have the  same category name  so that content
  4568.           can flow from one  frame to the  next.  That  is, a column  break
  4569.           will occur  naturally when  the size  of one  column reaches  the
  4570.           limit imposed by the superior  frame and the layout process  will
  4571.           continue automatically in the next column.
  4572.  
  4573.  
  4574.           6.3.1.3.4  Layout in SynchronizedColumns frames
  4575.  
  4576.           A SynchronizedColumns frame  is a composite frame  which contains
  4577.           columns represented by subordinate lowest level frames.
  4578.  
  4579.           All the frames are required to have different categories.  Hence,
  4580.           the   layout  of  logical  objects  from  the  constituents  into
  4581.           different  columns is controlled  by the category  name specified
  4582.           for each constituent.  The attribute "new layout object" may also
  4583.           be used for this purpose, but this is not necessary.
  4584.  
  4585.  
  4586.  
  4587.           6.3.1.3.5  Layout of tables
  4588.  
  4589.           Frames of  the type TableArea  are provided specifically  for the
  4590.           layout of logical constituent constraints of the type Table.
  4591.  
  4592.           Table  2  illustrates  the  relationships  between   the  logical
  4593.           constituent constraint Table and its subordinates, and the frames
  4594.           used to lay out these constituent constraints.
  4595.  
  4596.           Table 2  indicates that there  is a hierarchical  mapping between
  4597.           logical constituent constraints  and their corresponding  frames.
  4598.           For example, each Row is  to be laid out  in a separate frame  of
  4599.           the type RowArea.
  4600.  
  4601.           The  layout mechanism  is achieved  for  the logical  constituent
  4602.           constraints Table and Row by specifying the attribute "new layout
  4603.           object" with a  value indicating the  identifier of the  required
  4604.           frame class of the type TableArea and RowArea respectively.
  4605.             
  4606.           For  the logical constituent  constraint EntryElement, the layout
  4607.           mechanism is achieved by one of the following:
  4608.  
  4609.                                 If the attribute "generator  for subordinates" of the
  4610.                superior  RowArea  of  the  affected  EntryElement   is
  4611.                constructed using  SEQuence, the attribute  "new layout
  4612.                object"  is used  to  specify  a  Cell into  which  the
  4613.                contents is laid out. The attribute value specifies the
  4614.                identifier  of   the  required   frame  class   in  the
  4615.                EntryElement.
  4616.  
  4617.                                           58
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4627.                               Table 2   Layout of tables
  4628.  
  4629.  
  4630.  
  4631.             Logical constituent          Frame class
  4632.                  constraint
  4633.                            Table  TableArea
  4634.              ...................
  4635.                       .........>
  4636.  
  4637.                              Row   RowArea
  4638.              ...................
  4639.                       .........>
  4640.  
  4641.                     EntryElement    Cell
  4642.                     ...........>
  4643.                    CommonContent   TableHeader 
  4644.                       <.........
  4645.  
  4646.                    CommonContent   TableLabel
  4647.                       <.........
  4648.  
  4649.  
  4650.  
  4651.  
  4652.  
  4653.  
  4654.  
  4655.                                 If the attribute "generator  for subordinates" of the
  4656.                superior  RowArea  of   the  affected  EntryElement  is
  4657.                constructed by REPetition, the  value of the  attribute
  4658.                "new layout  object" indicates  a category  name to  be
  4659.                used for the EntryElement.  In this  case, the category
  4660.                name  shall  be  specified  in  the  attribute  "layout
  4661.                category" for EntryText, EntryRaster or EntryGeometric,
  4662.                and in  the attribute  "permitted  categories" for  the
  4663.                Cell into which the contents is laid out.
  4664.  
  4665.           This mechanism  allows a  table to be  laid out  such that  it is
  4666.           split over two or  more successive frames or pages.   A split may
  4667.           occur at the  boundary of a RowArea frame, or such that a RowArea
  4668.           frame is split over two successive frames or pages. 
  4669.  
  4670.           When such a split does occur, then the TableHeader and TableLabel
  4671.           frames are repeated at the top of each frame of page in which the
  4672.           table is continued.
  4673.  
  4674.           The  content allocated to  the frames TableHeader  and TableLabel
  4675.           are  derived from  logical constituent  constraints  of the  type
  4676.           CommonContent  in the generic logical structure using the logical
  4677.           source mechanism.
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.                                           59
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4693.  
  4694.           6.3.1.3.6  Layout of footnotes
  4695.  
  4696.           The  logical  objects  derived  from  basic  logical  constituent
  4697.           constraints  that represent the  content belonging to  a footnote
  4698.           (i.e., FootnoteReference,  FootnoteNumber  and FootnoteText)  are
  4699.           constrained  to   be  laid  out  in  a  footnote  area  which  is
  4700.           represented by a FootnoteArea frame (see 6.3.5.9).
  4701.  
  4702.           This constraint  is specified by means  of category names.   That
  4703.           is,   the   logical   constituent   constraints   of  the   types
  4704.           FootnoteNumber   and   FootnoteText,   and   layout   constituent
  4705.           constraints of the type FootnoteArea are all required to have the
  4706.           category name 'Footnote'.
  4707.  
  4708.           More than one footnote may be placed  in a footnote area within a
  4709.           given body  area.   In this case,  the content  belonging to  the
  4710.           footnotes  are laid  out  sequentially in  the  footnote area  in
  4711.           accordance with their reading order.
  4712.  
  4713.           If the content belonging to a footnote cannot all be accommodated
  4714.           in the footnote  area on one  page, then the  content may  freely
  4715.           flow into  the next footnote area.  Alternatively, it is possible
  4716.           to specify that  a footnote is to  be laid out entirely  within a
  4717.           particular footnote  area.  This is achieved  using the attribute
  4718.           "indivisibility". 
  4719.  
  4720.  
  4721.           6.3.1.4  Allocation of content to header and footer areas
  4722.  
  4723.           A header or footer area may  be basic or composite (see 6.3.6.1).
  4724.           In  the case of  a basic area,  the frame  representing that area
  4725.           specifies  the attribute  "logical  source"  which indicates  the
  4726.           particular instance  of the  constituent constraint  of the  type
  4727.           CommonContent that  is to be  laid out in  that area.   The basic
  4728.           logical constituent constraints  subordinate to CommonContent are
  4729.           then laid out in accordance with their sequential order.
  4730.  
  4731.           In the case  of a composite header or  footer area (see 6.3.6.3),
  4732.           the area  is divided  into one  or more separate  areas, each  of
  4733.           which  is  represented by  a  lowest level  frame.   The  content
  4734.           allocated to  the separate areas may  be derived from one  of two
  4735.           sources.  That is, the content may be pre-defined and represented
  4736.           by one  or more  blocks which  are directly  associated with  the
  4737.           lowest level  frame.  Alternatively,  the lowest level  frame may
  4738.           specify the attribute "logical source" which, as above, indicates
  4739.           the  particular logical object of the  type CommonContent that is
  4740.           to be laid out in that frame.
  4741.  
  4742.  
  4743.           6.3.2  Layout of document content
  4744.  
  4745.           Various constraints may be specified to control the layout of the
  4746.           content  into  the   body,  header  and  footer   areas.    These
  4747.           constraints are described below.
  4748.  
  4749.                                           60
  4750.  
  4751.  
  4752.  
  4753.  
  4754.  
  4755.  
  4756.  
  4757.  
  4758.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4759.  
  4760.  
  4761.           6.3.2.1  Margins
  4762.  
  4763.           The margins are the minimum distances, or offsets, between a part
  4764.           of the document content  and the edge  of the particular area  in
  4765.           which that content is laid  out.  The margins define  the maximum
  4766.           extents  of the available  area into  which the content  shall be
  4767.           positioned.
  4768.  
  4769.           Margins   may  be  specified   for  any   constituent  constraint
  4770.           representing  a basic logical object; different margin values may
  4771.           be  specified  for  different   constituent  constraints  without
  4772.           restriction.
  4773.  
  4774.           Four  margins may be independently specified for each constituent
  4775.           constraint, namely:
  4776.  
  4777.                               trailing edge margin;
  4778.  
  4779.                               leading edge margin;
  4780.  
  4781.                               right hand edge margin;
  4782.  
  4783.                               left hand edge margin.
  4784.  
  4785.           These  margins are  defined in  relationship to  the layout  path
  4786.           specified for the frame into which the  content is to be laid out
  4787.           (see Figure 13).
  4788.  
  4789.           Any combination  of  the above  margins may  be  specified for  a
  4790.           particular  constituent constraint.   These margins are specified
  4791.           by the  attribute "offset".  Any value  may be specified in units
  4792.           of BMUs.   If a particular  margin is not  specified, then it  is
  4793.           assumed to be 0 BMUs.
  4794.  
  4795.  
  4796.           6.3.2.2  Separation
  4797.  
  4798.           Leading  separation is  the minimum  distance  between one  basic
  4799.           logical object and  the next one, if any, when they are laid out.
  4800.           Trailing separation  is the  minimum distance  between one  basic
  4801.           logical object and the previous  one, if any, when they are  laid
  4802.           out.   Both may be specified for  basic logical components of any
  4803.           constituent constraint types.  These  distances are  specified in
  4804.           BMUs by  the attribute "separation".   If no value  is specified,
  4805.           then the minimum distance is assumed to be 0 BMUs.
  4806.  
  4807.  
  4808.           6.3.2.3  Indivisibility
  4809.  
  4810.           Indivisibility  provides the  means to specify  whether or  not a
  4811.           basic  or composite  logical object  derived  from a  constituent
  4812.           constraint is allowed to be split over more than one page or over
  4813.           more  than  one area  within a  page.   It  may be  specified for
  4814.  
  4815.                                           61
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4825.  
  4826.  
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833.  
  4834.  
  4835.  
  4836.  
  4837.  
  4838.  
  4839.  
  4840.  
  4841.  
  4842.  
  4843.  
  4844.  
  4845.  
  4846.  
  4847.  
  4848.  
  4849.  
  4850.  
  4851.  
  4852.  
  4853.  
  4854.  
  4855.  
  4856.                         Figure 13 -  Specification of margins
  4857.  
  4858.  
  4859.           constituent constraints  of the  types Passage,  NumberedSegment,
  4860.           Number,  Paragraph,   Phrase,   Reference,  ListItem,   ListTerm,
  4861.           FootnoteText,    ReferencedContent,    FootnoteBody,     Artwork,
  4862.           EntryElement,   Row,    Table,   UnNumberedList,    NumberedList,
  4863.           DefinitionList,  FootnoteReference and  BodyText.   The attribute
  4864.           "indivisibility" is used to specify this feature.
  4865.  
  4866.  
  4867.           6.3.2.4  Same layout object
  4868.  
  4869.           Same layout object provides the  means to specify that the  start
  4870.           of the content  associated with a logical  object and the  end of
  4871.           the content associated with the previous logical object are to be
  4872.           laid out within  a single layout object.   This may be  specified
  4873.           for  logical  objects  of   the  types  NumberedSegment,  Number,
  4874.           Paragraph,  Phrase,  Footnote,  FootnoteBody,  FootnoteReference,
  4875.           ReferencedContent,      Reference,      Table,      NumberedList,
  4876.           UnNumberedList,  DefinitionList,  ListItem,  ListTerm,  BodyText,
  4877.           BodyRaster and BodyGeometric.  The attribute "same layout object"
  4878.           is used to specify this feature.  
  4879.  
  4880.  
  4881.                                           62
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4891.  
  4892.           6.3.2.5  Concatenation
  4893.  
  4894.           Concatenation  provides the  means to  specify  that the  content
  4895.           associated with a basic logical object derived from a constituent
  4896.           constraint  and the  content associated  with  the basic  logical
  4897.           object derived from the previous constituent constraint are to be
  4898.           regarded as an unbroken stream of content.  This may be specified
  4899.           for  constituent  constraints  of  the  types  BodyText,  Number,
  4900.           ReferencedContent, FootnoteReference, FootnoteText,  TableNumber,
  4901.           CommonReference,  CommonText  and  PageNumber.    The   attribute
  4902.           "concatenation" is used to specify this feature.
  4903.  
  4904.  
  4905.           6.3.2.6  Block alignment
  4906.  
  4907.           Block  alignment allows  the  content  associated  with  a  basic
  4908.           logical  object   to   be  specified   as  'left-hand   aligned',
  4909.           'right-hand aligned' or 'centred'  within the area in  which that
  4910.           content is laid out.  Left-hand aligned means that the content is
  4911.           laid out  adjacent  to the  left hand  edge  margin.   Right-hand
  4912.           aligned means that the content is laid out adjacent to  the right
  4913.           hand  edge margin, and centred means that the content is laid out
  4914.           midway between the left and right margins.
  4915.  
  4916.           This  feature may  only be  specified using the  attribute "block
  4917.           alignment"  for constituent  constraints  of the  types BodyText,
  4918.           EntryText,  Number,   PageNumber,  TableNumber,   FootnoteNumber,
  4919.           FootnoteText,         FootnoteReference,         CommonReference,
  4920.           ReferencedContent and CommonText, and when they contain formatted
  4921.           character content,  BodyRaster,  and BodyGeometric,  EntryRaster,
  4922.           EntryGeometric, CommonRaster and CommonGeometric.
  4923.  
  4924.  
  4925.           6.3.3   Layout controls  applicable in  the absence of  a generic
  4926.           layout structure
  4927.  
  4928.           In processable  form documents  the generic  layout structure  is
  4929.           optional.  If the generic layout structure is omitted, then it is
  4930.           the  responsibility  of  the receiver  to  define  an appropriate
  4931.           layout  structure.   No  limitations  are  placed on  the  layout
  4932.           structure that is used. 
  4933.  
  4934.           When  a generic  layout  structure  is  not  specified  within  a
  4935.           processable  form document, then  restrictions are placed  on the
  4936.           layout control functions described in 6.4.1 and 6.4.2 that may be
  4937.           specified  within the document.  These restrictions are indicated
  4938.           as follows:
  4939.  
  4940.                             a) It  is not  possible to  specify that certain  logical
  4941.                parts of a document are to be allocated to a given page
  4942.                set or that  a part  of a  document is to  be laid  out
  4943.                starting in a new page set, as defined in 6.4.1.1.
  4944.  
  4945.                             b) It is  possible to specify  page breaks as  defined in
  4946.  
  4947.                                           63
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953.  
  4954.  
  4955.  
  4956.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  4957.  
  4958.                6.4.1.2,  but it is only possible  to indicate that the
  4959.                layout shall begin  on a new page.  It  is not possible
  4960.                to specify a particular page class.
  4961.  
  4962.                             c)  The logical parts  of the document  that are intended
  4963.                to  be   laid  out  in  the   body  area  and   in  the
  4964.                header/footer areas of  each page may  be distinguished
  4965.                from  each  other  by  means  of  application  comments
  4966.                specified for them (see  6.6.4).  An exception  is that
  4967.                it  is not possible to distinguish whether a particular
  4968.                portion of common content is  to be placed in a  header
  4969.                or a footer area (or both).
  4970.  
  4971.                             d)  It is  not possible  to indicate  the type  of layout
  4972.                area to  be used to layout each  logical constituent in
  4973.                the body  part  of a  document.   That  is,  it is  not
  4974.                possible to indicate whether single column  or multiple
  4975.                column areas  are to be used (see 6.4.1.3).  This shall
  4976.                be decided by the receiver.
  4977.  
  4978.                             e) Footnotes within  the body part  of a document  may be
  4979.                distinguished by  use  of  the  attribute  "application
  4980.                comments".  Footnotes are intended to be  read and laid
  4981.                out  separately from the  other logical constituents of
  4982.                the  body  part  (see 6.4.1.3).    However,  it  is the
  4983.                responsibility of the receiver to decide how  footnotes
  4984.                are laid out.
  4985.  
  4986.                             f)  Margins,  separation,  indivisibility,  same   layout
  4987.                object, concatenation and  block alignment, as  defined
  4988.                in 6.4.2, may  all be specified.   Only one restriction
  4989.                applies.   Indivisibility (see 6.4.2.3) may  be assumed
  4990.                to specify that a logical constituent constraint is not
  4991.                to  split over more  than one page,  but indivisibility
  4992.                shall not be specified for other types of layout areas,
  4993.                such as single or multiple column areas.
  4994.  
  4995.  
  4996.           6.4  Content layout and imaging characteristics
  4997.  
  4998.           A document may  contain character, raster graphics  and geometric
  4999.           graphics content.
  5000.  
  5001.           The  content  architectures  that  may  be  specified  using  the
  5002.           attribute "content architecture  class" are formatted  character,
  5003.           processable character, formatted processable character, formatted
  5004.           processable raster  graphics and formatted  processable geometric
  5005.           graphics.  Any  of these may be  specified as the default  in the
  5006.           document profile.
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012.  
  5013.                                           64
  5014.  
  5015.  
  5016.  
  5017.  
  5018.  
  5019.  
  5020.  
  5021.  
  5022.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5023.  
  5024.           6.4.1  Character content
  5025.  
  5026.  
  5027.           6.4.1.1  Introduction
  5028.  
  5029.           This subclause defines  the features that  are applicable to  the
  5030.           character  content contained in  a document and  the presentation
  5031.           attributes  and control  functions that  may be  used to  specify
  5032.           these features.   These features may  apply to basic  logical and
  5033.           layout components unless otherwise indicated.
  5034.  
  5035.           The default values for the following features may be specified in
  5036.           the document profile:
  5037.  
  5038.                               graphic character sets;
  5039.  
  5040.                               graphic character subrepertoire;
  5041.  
  5042.                               code extension announcers;
  5043.  
  5044.                               line spacing;
  5045.  
  5046.                               character spacing;
  5047.  
  5048.                               character path;
  5049.  
  5050.                               line progression;
  5051.  
  5052.                               character orientation;
  5053.  
  5054.                                graphic  rendition,  including  the  parameter values:
  5055.                default   rendition,   increased    intensity   (bold),
  5056.                italicized, underlined,  crossed-out, slowly  blinking,
  5057.                rapidly  blinking,  negative  image,  positive   image,
  5058.                primary  font, 1st  alternative  font, 2nd  alternative
  5059.                font, 3rd alternative  font, 4th alternative font,  5th
  5060.                alternative font, 6th alternative font, 7th alternative
  5061.                font,  8th  alternative  font,  9th  alternative  font,
  5062.                doubly underlined,  normal  intensity, not  italicized,
  5063.                decreased intensity, not underlined, not blinking,  not
  5064.                crossed-out;
  5065.  
  5066.                               line layout table;
  5067.  
  5068.                               indentation;
  5069.  
  5070.                               alignment;
  5071.  
  5072.                               first line offset;
  5073.  
  5074.                               itemization;
  5075.  
  5076.                               widow size;
  5077.  
  5078.  
  5079.                                           65
  5080.  
  5081.  
  5082.  
  5083.  
  5084.  
  5085.  
  5086.  
  5087.  
  5088.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5089.  
  5090.                               orphan size;
  5091.  
  5092.                               character fonts;
  5093.  
  5094.                               kerning offset;
  5095.  
  5096.                               proportional line spacing;
  5097.  
  5098.                               formatting indicator.
  5099.  
  5100.           The specification  in  a document  of a  non-basic  feature by  a
  5101.           presentation  attribute or control function shall be indicated in
  5102.           the document profile.
  5103.  
  5104.  
  5105.           6.4.1.2  Character content architecture class
  5106.  
  5107.           Processable and formatted processable  form documents may contain
  5108.           processable,  formatted   or   formatted  processable   character
  5109.           content.   Formatted  form documents  may  contain formatted  and
  5110.           formatted processable character content.
  5111.  
  5112.           When using character content, any number of  content portions may
  5113.           be associated with a basic component.
  5114.  
  5115.           The content information in a content portion may be absent.  This
  5116.           is to allow  the representation and  interchange of documents  in
  5117.           which parts of the content  may be supplied, for example,  during
  5118.           subsequent editing.
  5119.  
  5120.  
  5121.           6.4.1.3  Character repertoires
  5122.  
  5123.           The basic character repertoire supported by this Specification is
  5124.           composed of  the 94 characters  of ISO-IR  6 (the IRV  of ISO/IEC
  5125.           646) plus the character space.
  5126.  
  5127.           Any other graphic character set which is registered in accordance
  5128.           with ISO 2375 may  be designated and invoked at any  point in the
  5129.           document provided its use is indicated in the document profile as
  5130.           a  non-basic  value  using  the  character  presentation  feature
  5131.           "graphic  character  sets".    No  locking  shift  functions  are
  5132.           specified in this presentation feature.
  5133.  
  5134.           The code  extension techniques  allowed for  the designation  and
  5135.           invocation of character sets to the left hand side and right hand
  5136.           side of the 8-bit code table (GL and GR respectively) are defined
  5137.           in 6.5.1.4.  
  5138.  
  5139.           Using these code extension techniques, the graphic character sets
  5140.           designated and/or  invoked at the beginning of  a content portion
  5141.           containing character content are specified using the presentation
  5142.           attribute "graphic character  sets".  The graphic  character sets
  5143.           may also be changed at any point within a content portion.
  5144.  
  5145.                                           66
  5146.  
  5147.  
  5148.  
  5149.  
  5150.  
  5151.  
  5152.  
  5153.  
  5154.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5155.  
  5156.           The default  graphic character sets  which apply  to the  content
  5157.           portions within  a  document may  be  specified in  the  document
  5158.           profile  using  the  presentation  attribute  "graphic  character
  5159.           sets".
  5160.  
  5161.           If  the  character set  defined  in ISO  6937-2  with or  without
  5162.           Addendum 1 is  designated and invoked, then the use of any of its
  5163.           subrepertoires  registered  according  to  ISO/IEC  7350  may  be
  5164.           specified  using  the presentation  attribute  "graphic character
  5165.           subrepertoire".  All  subrepertoires are non-basic and  their use
  5166.           shall  be indicated in  the document profile.   The subrepertoire
  5167.           shall not be changed within a content portion.
  5168.  
  5169.              NOTES
  5170.  
  5171.              1 The  basic   character   repertoire   supported  by   this
  5172.                Specification is  not the standard default value specified
  5173.                in CCITT  Rec.  T.416  |  ISO  8613-6;  hence  it  may  be
  5174.                necessary  to  specify  in  the   document  profile  of  a
  5175.                particular document that this is  the default value  being
  5176.                used for that document.
  5177.  
  5178.              2 Revised CCITT Recommendations T.50 and  T.51 and new CCITT
  5179.                Recommendation   T.52  are   under  preparation.     CCITT
  5180.                Recommendations  T.50   and  T.51  are   intended  to   be
  5181.                completely compatible with ISO/IEC 646  (ISO-IR 6) and ISO
  5182.                6937 (under revision) respectively.
  5183.  
  5184.  
  5185.  
  5186.           6.4.1.4  Code extension techniques
  5187.  
  5188.           The code extension techniques specified  in ISO 2022 may be  used
  5189.           subject to the following restrictions:
  5190.  
  5191.                             a)  G0 set: only ISO-IR 6 (the  IRV of ISO/IEC 646), ISO-
  5192.                IR 2  (the primary  set of  ISO 6937-2),  or any  other
  5193.                version  of ISO/IEC 646 may be designated for this set;
  5194.                these graphic character sets may only be invoked in GL.
  5195.  
  5196.                             b)  G1, G2, G3  sets: no restrictions  are placed  on the
  5197.                character sets that  may be designated for  these sets;
  5198.                these graphic character sets may only be invoked in GR.
  5199.  
  5200.                             c) The locking and single shift functions  allowed are as
  5201.                follows:
  5202.  
  5203.                                       - LS0, to invoke the G0 set into GL;
  5204.  
  5205.                                       - LS1R, to invoke the G1 set into GR;
  5206.  
  5207.                                       - LS2R, to invoke the G2 set into GR;
  5208.  
  5209.                                       - LS3R, to invoke the G3 set into GR;
  5210.  
  5211.                                           67
  5212.  
  5213.  
  5214.  
  5215.  
  5216.  
  5217.  
  5218.  
  5219.  
  5220.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5221.  
  5222.                                       - SS2, to invoke one character from the G2  set
  5223.                     into GL;
  5224.  
  5225.                                       - SS3, to invoke one character  from the G3 set
  5226.                     into GL;
  5227.  
  5228.                       (Here GL  and GR  refer to  the left  and right  hand
  5229.           parts respectively of the 8-bit code table.)
  5230.  
  5231.  
  5232.                             d) When  specifying the  presentation attribute  "graphic
  5233.                character sets",  it is necessary  to invoke  character
  5234.                sets for both GL and GR.  Thus an allowed character set
  5235.                shall  be designated into  G0 (see item  (a) above) and
  5236.                invoked into  GL.   It is  also necessary  to invoke  a
  5237.                graphic character set into GR which has been designated
  5238.                into the G1, G2 or G3 set;
  5239.  
  5240.                             e) The empty  set shall be designated into G1 and invoked
  5241.                into GR if  no other specific graphic character  set is
  5242.                invoked into GR;
  5243.  
  5244.           The  code extension techniques allowed are illustrated in Figures
  5245.           14 and 15.
  5246.  
  5247.           The  announcement and encoding  of these  functions are to  be as
  5248.           specified in ISO 2022.
  5249.  
  5250.           The code  extension techniques that are used or  may be used in a
  5251.           basic  component shall be specified by the presentation attribute
  5252.           "code   extension  announcers."     The  default  code  extension
  5253.           announcers  used throughout a  document may  be specified  in the
  5254.           document  profile, also  using  the presentation  attribute "code
  5255.           extension announcers".
  5256.  
  5257.              NOTE  - In accordance with  CCITT Rec. T.416 | ISO 8613-6,416 |
  5258.              ISO 8613-6], there  is no restriction  concerning the number of
  5259.              graphic character sets which may  be designated and/or  invoked
  5260.              in   the  presentation   attribute  "graphic   character  sets"
  5261.              providing  the  restrictions  defined  in  this  subclause  are
  5262.              applied.   Hence designation to a particular G set overrides  a
  5263.              previous designation  to that set  and invocation  to GL  or GR
  5264.              overrides   the  previous   invocation   to   the   GL  or   GR
  5265.              respectively.  Thus the sequential  order of designation and/or
  5266.              invocation sequences  in the attribute "graphic character sets"
  5267.              is significant.
  5268.  
  5269.  
  5270.  
  5271.           6.4.1.5  Line spacing
  5272.  
  5273.           Any value of  line spacing may be specified.  Values of 100, 150,
  5274.           200, 300, 400 and 600 BMUs are basic; the use of  any other value
  5275.           in a document is non-basic and shall be indicated in the document
  5276.  
  5277.                                           68
  5278.  
  5279.  
  5280.  
  5281.  
  5282.  
  5283.  
  5284.  
  5285.  
  5286.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5287.  
  5288.  
  5289.  
  5290.  
  5291.  
  5292.  
  5293.  
  5294.  
  5295.  
  5296.  
  5297.  
  5298.  
  5299.  
  5300.  
  5301.  
  5302.  
  5303.  
  5304.  
  5305.  
  5306.  
  5307.  
  5308.  
  5309.  
  5310.  
  5311.  
  5312.  
  5313.                   Figure 14 -  Code extension features (basic case)
  5314.  
  5315.  
  5316.           profile.
  5317.  
  5318.           The line spacing may be specified at the beginning of the content
  5319.           associated  with   a  basic  component  using   the  presentation
  5320.           attribute "line  spacing".   The  value may  be changed  anywhere
  5321.           within the  content portion  using the  control functions  select
  5322.           line spacing (SVS) and set line spacing (SLS).
  5323.  
  5324.  
  5325.           6.4.1.6  Character spacing
  5326.  
  5327.           Any value of character spacing may be specified as basic values.
  5328.  
  5329.           The character  spacing may be specified  at the beginning  of the
  5330.           content associated  with a  basic component  using the  attribute
  5331.           "character spacing".   The value may be changed anywhere within a
  5332.           content portion  using  the control  functions  select  character
  5333.           spacing (SHS) or set character spacing (SCS).
  5334.  
  5335.              NOTE  -  SHS parameters  of  0, 1,  2, 3  and  4 are  currently
  5336.              provided.   The use of parameters 5 and 6 may  be provided in a
  5337.              future  edition of  this  Specification  for  use with  Chinese
  5338.              characters.
  5339.  
  5340.  
  5341.  
  5342.  
  5343.                                           69
  5344.  
  5345.  
  5346.  
  5347.  
  5348.  
  5349.  
  5350.  
  5351.  
  5352.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5353.  
  5354.  
  5355.  
  5356.  
  5357.  
  5358.  
  5359.  
  5360.  
  5361.  
  5362.  
  5363.  
  5364.  
  5365.  
  5366.  
  5367.  
  5368.  
  5369.  
  5370.  
  5371.  
  5372.  
  5373.  
  5374.  
  5375.  
  5376.  
  5377.  
  5378.  
  5379.  
  5380.  
  5381.  
  5382.               Figure 15 -  Code extension features (all possible cases)
  5383.  
  5384.  
  5385.           6.4.1.7  Character path and line progression
  5386.  
  5387.           Both  horizontal  and  vertical writing  directions  may  be used
  5388.           within  a  document.   In  the case  of  horizontal writing,  the
  5389.           characters progress  either from left to  right or from  right to
  5390.           left across the  page and the line progression is from the top of
  5391.           the  page to the  bottom.  In  the case of  vertical writing, the
  5392.           characters progress  from the top of  the page to  the bottom and
  5393.           the  line progression is from the right to  the left.  The use of
  5394.           these  writing directions is  restricted by the  page layout type
  5395.           used.
  5396.  
  5397.           For body  layout A, only  horizontal writing may  be used in  the
  5398.           body area.    Thus the  character path  and  line progression  is
  5399.           specified either as 0 and 270  degrees respectively or 180 and 90
  5400.           degrees respectively.
  5401.  
  5402.           For body layout  B, again only horizontal writing  may be used in
  5403.           the  body area.   However, in this  case the content  in the body
  5404.           area  is  presented  for  viewing  with  the  page  in  landscape
  5405.           orientation  and the content  in the  header and footer  areas is
  5406.           presented  for viewing  with the  page  in portrait  orientation.
  5407.           Thus for body   layout B, in the body area the character path and
  5408.  
  5409.                                           70
  5410.  
  5411.  
  5412.  
  5413.  
  5414.  
  5415.  
  5416.  
  5417.  
  5418.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5419.  
  5420.           line progression  is  specified  either  as 90  and  270  degrees
  5421.           respectively or 270 and 90 degrees respectively. 
  5422.  
  5423.           For body layout  C, only vertical writing may be used in the body
  5424.           area.     Thus  the  character  path  and  line  progression  are
  5425.           specified as 270 and 270 degrees respectively.
  5426.  
  5427.           With regard  to the header and  footer areas, if these  areas are
  5428.           placed above and below the body area,  as shown in Figure 1, then
  5429.           only horizontal writing is allowed in these areas.  Thus, in this
  5430.           case, the character path and line progression is specified either
  5431.           as  0  and  270  degrees  respectively  or  180  and  90  degrees
  5432.           respectively (see Figure 2).
  5433.  
  5434.           If the header and  footer areas are placed to the  left and right
  5435.           of the body area, then only vertical writing is allowed in  these
  5436.           areas.    Thus,  in  this  case,  the  character  path  and  line
  5437.           progression are  specified as  270 and  270 degrees  respectively
  5438.           (see Figure 4).
  5439.  
  5440.           All values of character path and line progression are basic.  The
  5441.           values of character path and line progression may be specified at
  5442.           the  beginning of the  content associated with  a basic component
  5443.           using the  presentation  attributes "character  path"  and  "line
  5444.           progression" respectively.  These values cannot be changed within
  5445.           a content portion.
  5446.  
  5447.  
  5448.           6.4.1.8  Character positioning controls
  5449.  
  5450.           The active  position of  a character  (as defined  in CCITT  Rec.
  5451.           T.416 | ISO  8613-6) can be  moved forward or backward  along the
  5452.           direction of  the line  progression using  the control  functions
  5453.           line  position backward (VPB)  and line position  relative (VPR).
  5454.           These  control  functions  may  be  specified  in  all  forms  of
  5455.           character content, and any parameter value may be specified.
  5456.  
  5457.  
  5458.           6.4.1.9  Character orientation
  5459.  
  5460.           The character  orientation may be specified  as 0 or  90 degrees,
  5461.           depending  on whether  vertical or  horizontal  writing is  used.
  5462.           When  horizontal  writing   is  used,  characters  may   only  be
  5463.           orientated  at  0  degrees.    When  vertical  writing  is  used,
  5464.           characters may be orientated at 90 degrees.
  5465.  
  5466.           All values of character orientation are basic.   The value of the
  5467.           character  orientation is  specified  at  the  beginning  of  the
  5468.           content associated  with a  basic component  by the  presentation
  5469.           attribute  "character orientation".  This value cannot be changed
  5470.           within the content.
  5471.  
  5472.  
  5473.  
  5474.  
  5475.                                           71
  5476.  
  5477.  
  5478.  
  5479.  
  5480.  
  5481.  
  5482.  
  5483.  
  5484.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5485.  
  5486.           6.4.1.10  Emphasis
  5487.  
  5488.           The  following modes  of emphasising  graphic  characters may  be
  5489.           distinguished: 
  5490.  
  5491.                               default rendition;
  5492.  
  5493.                               normal intensity;
  5494.  
  5495.                               increased intensity (bold);
  5496.  
  5497.                               italicized;
  5498.  
  5499.                               not italicized;
  5500.  
  5501.                               underlined;
  5502.  
  5503.                               doubly underlined;
  5504.  
  5505.                               not underlined;
  5506.  
  5507.                               crossed-out;
  5508.  
  5509.                               not crossed-out.
  5510.  
  5511.           All the above modes of emphasis are basic.  If no default mode is
  5512.           explicitly  specified in the  document profile, then  the default
  5513.           mode is 'default rendition'.
  5514.  
  5515.           The mode  of emphasis may  be specified  at the beginning  of the
  5516.           content  associated with a basic component using the presentation
  5517.           attribute "graphic rendition".  The mode may  be changed anywhere
  5518.           within  the content  using the  control  function select  graphic
  5519.           rendition (SGR).
  5520.  
  5521.           The  mode  of  emphasis  remains  in effect  within  the  content
  5522.           associated  with a basic component until  changed into a mutually
  5523.           exclusive  mode or by  the specification of  'default rendition'.
  5524.           Mutually  exclusive  modes  are  normal/increased, italicized/not
  5525.           italicized,  underlined/doubly   underlined/not  underlined   and
  5526.           crossed-out/not  crossed-out.    One   mode  from  each  mutually
  5527.           exclusive  set may be  in operation at any  point in the document
  5528.           content.
  5529.  
  5530.           'Default rendition' cancels the  effect of all modes  of emphasis
  5531.           that are currently in operation and specifies that the text shall
  5532.           be  displayed in accordance with the default rendition parameters
  5533.           set for  the presentation device.   Thus, for  example, if  it is
  5534.           required to ensure that the content is not underlined, then it is
  5535.           necessary to  explicitly  specify that  underlined is  not to  be
  5536.           used.
  5537.  
  5538.  
  5539.  
  5540.  
  5541.                                           72
  5542.  
  5543.  
  5544.  
  5545.  
  5546.  
  5547.  
  5548.  
  5549.  
  5550.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5551.  
  5552.           6.4.1.11  Tabulation
  5553.  
  5554.           Tabulation stop positions  may be specified at any position along
  5555.           the  character path.    Each stop  is specified  by means  of the
  5556.           following:
  5557.  
  5558.                             a) The  tabulation position  relative to the  position of
  5559.                that  margin in the direction opposite to the character
  5560.                path;
  5561.  
  5562.                             b)  An optional  alignment qualifier  that specifies  the
  5563.                type   of  alignment  to  be  used  at  the  designated
  5564.                tabulation position.  The type  may be specified as one
  5565.                of the following:
  5566.  
  5567.                                         - start aligned;
  5568.  
  5569.                                         - end aligned;
  5570.  
  5571.                                         - centred;
  5572.  
  5573.                                         - aligned around.
  5574.  
  5575.           These alignment  qualifiers are defined in CCITT Rec. T.416 | ISO
  5576.           8613-6.   If the alignment qualifier is not explicitly specified,
  5577.           then it is assumed that start aligned is to be used.
  5578.  
  5579.           Only  one  set  of  tabulation  stops  may  be  specified  to  be
  5580.           applicable to  the content associated with a basic component.  No
  5581.           limit is  placed on the  number of  tabulation stops that  may be
  5582.           specified within a given set.
  5583.  
  5584.           The set of tabulation stop positions associated with the  content
  5585.           of  a  basic  component  are  specified  using  the  presentation
  5586.           attribute "line  layout table".   Tabulation  stop positions  are
  5587.           invoked within the  content using the control  function selective
  5588.           tabulation (STAB).
  5589.  
  5590.           The tabulation  reference numbers  used in  the control  function
  5591.           STAB and  associated presentation attribute  "line layout  table"
  5592.           shall be  chosen so  that, in  any given  line layout  table, the
  5593.           reference numbers are unique, sequential in the direction of  the
  5594.           character path, and do not include leading zeroes.Indentation
  5595.           Indentation is the distance between the first character on a line
  5596.           of  content  and  the  position  of the  margin  that  is  in the
  5597.           direction opposite  to the direction of the character path.  Thus
  5598.           the value of  the indentation specified determines the  line home
  5599.           position (as defined in CCITT Rec. T.416 | ISO 8613-6).
  5600.  
  5601.           Indentation acts as a temporary alteration in the position of the
  5602.           offset  in  the  direction  opposite  to  the  direction  of  the
  5603.           character path.   When text  is formatted,  it is intended  to be
  5604.           laid out between the indentation position and the margin position
  5605.           in the direction of the character path.
  5606.  
  5607.                                           73
  5608.  
  5609.  
  5610.  
  5611.  
  5612.  
  5613.  
  5614.  
  5615.  
  5616.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5617.  
  5618.           Any  value of  indentation  may be  specified  for basic  logical
  5619.           components using the presentation  attribute "indentation".   The
  5620.           indentation value shall not be changed within a content portion.
  5621.  
  5622.  
  5623.           6.4.1.12  Alignment
  5624.  
  5625.           This feature  is concerned with how the first and last characters
  5626.           on each line  of character content is  to be laid out  during the
  5627.           formatting process.
  5628.  
  5629.           The following values of alignment may be specified as basic:
  5630.  
  5631.                               start aligned;
  5632.  
  5633.                               end aligned;
  5634.  
  5635.                               centred;
  5636.  
  5637.                               justified.
  5638.  
  5639.           The  semantics of these values are as defined in CCITT Rec. T.416
  5640.           | ISO 8613-6.
  5641.  
  5642.           The presentation  attribute "alignment"  is used  to specify  the
  5643.           alignment that  is applicable  to the  content associated  with a
  5644.           basic component.   The alignment value cannot be changed within a
  5645.           content portion.
  5646.  
  5647.  
  5648.           6.4.1.13  First line format
  5649.  
  5650.           This  feature  specifies  how  the  first  line  of  the  content
  5651.           associated with a  basic component is to be laid out and provides
  5652.           for the itemization of paragraphs.
  5653.  
  5654.           It allows the first character in the content to  be positioned at
  5655.           some point along  the character path relative to  the indentation
  5656.           position (as  specified in 6.5.1.12).   This point may  be in the
  5657.           direction of the character path  or in the direction opposite  to
  5658.           the direction of the character  path relative to the  indentation
  5659.           position. 
  5660.  
  5661.           In addition,  this feature provides  for the specification  of an
  5662.           item  identifier on  the first  line.   The item identifier  is a
  5663.           string  of characters  that  precedes and  is separated  from the
  5664.           remaining characters  that  form the  first  line.   The  control
  5665.           function carriage return (CR) is used as the separator.
  5666.  
  5667.           The features provided correspond to  examples 10.1 to 10.5  shown
  5668.           in Figure 10 of CCITT Rec. T.416 | ISO 8613-6.
  5669.  
  5670.           First line  format is  specified by  the presentation  attributes
  5671.           "first line offset", "itemisation" and "indentation".  Only those
  5672.  
  5673.                                           74
  5674.  
  5675.  
  5676.  
  5677.  
  5678.  
  5679.  
  5680.  
  5681.  
  5682.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5683.  
  5684.           values of the attributes which combine to form the examples shown
  5685.           in Figure 10 of CCITT Rec. T.416 | ISO 8613-6 may be used. 
  5686.  
  5687.  
  5688.           6.4.1.14  Widow and orphan sizes
  5689.  
  5690.           The widow size specifies the  minimum number of lines of  content
  5691.           that shall  be allocated to  a following  frame or page  when the
  5692.           content associated with  a basic  logical component  is laid  out
  5693.           such  that it  flows over two  frames or  pages.   To accommodate
  5694.           this, it may  be necessary to move  a number of lines  of content
  5695.           from one frame or page to the next frame or page.
  5696.  
  5697.           The orphan  size specifies the minimum number of lines of content
  5698.           that  shall be  placed  in the  current  frame or  page when  the
  5699.           content associated with a  basic logical component is split  over
  5700.           two  frames or pages.   If  this minimum cannot  be accommodated,
  5701.           then the whole content shall be placed in the next frame or page.
  5702.  
  5703.           Any  value of widow  or orphan  size may  be specified  using the
  5704.           presentation   attributes   "widow   size"   and  "orphan   size"
  5705.           respectively. 
  5706.  
  5707.           Widow  and  orphan size  shall  only be  specified  for character
  5708.           content placed in the body area of pages.
  5709.  
  5710.  
  5711.           6.4.1.15  Fonts
  5712.  
  5713.           Any number of  fonts may be  used within a  document.  The  fonts
  5714.           used  in a  particular  document are  specified  in the  document
  5715.           profile using the attribute "fonts list".
  5716.  
  5717.           Further  information   concerning  the   specification  of   font
  5718.           references in the document profile is given in clause B.2.
  5719.  
  5720.           The  fonts that may  be used  within the content  associated with
  5721.           each  basic component are specified by the presentation attribute
  5722.           "character fonts".   Up to 10 fonts taken from the list specified
  5723.           by the attribute "fonts list"  may be specified by the  attribute
  5724.           "character fonts".
  5725.  
  5726.           The font to be used at the start of the content associated with a
  5727.           basic  component   is  specified  using  the  attribute  "graphic
  5728.           rendition".   The fonts  used within  the content may  be changed
  5729.           using the control function select graphic rendition (SGR).
  5730.  
  5731.           The  document profile may specify, using the attribute "character
  5732.           fonts", a default  set of up to  10 fonts that are  applicable to
  5733.           the whole document.Reverse character strings
  5734.           Bi-directional  writing  is  supported   by  this  Specification.
  5735.           Hence,  a string  of characters  in a content  portion associated
  5736.           with a  basic  component may  be specified  to be  imaged in  the
  5737.           reverse direction of the immediately preceding character  string.
  5738.  
  5739.                                           75
  5740.  
  5741.  
  5742.  
  5743.  
  5744.  
  5745.  
  5746.  
  5747.  
  5748.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5749.  
  5750.           Such  strings may  be  specified by  the  control function  start
  5751.           reverse string (SRS) as defined in CCITT Rec. T.416 | ISO 8613-6.
  5752.  
  5753.           This  control function is  provided for  cases in which  the text
  5754.           belongs  to  different  languages and  the  character  content is
  5755.           written, for  example, from left to  right or from  right to left
  5756.           within the same line  of characters, dependent upon the  language
  5757.           and/or character set being used.
  5758.  
  5759.  
  5760.           6.4.1.16  Kerning offset
  5761.  
  5762.           A kerning  offset value for the  content associated with  a basic
  5763.           component may  be  specified  using  the  presentation  attribute
  5764.           "kerning  offset".  It is necessary  to specify such a value when
  5765.           certain  fonts are invoked  to ensure  that no part  of character
  5766.           images are positioned outside the boundary of the available area.
  5767.  
  5768.  
  5769.           6.4.1.17  Proportional line spacing
  5770.  
  5771.           The use  of  proportional line  spacing may  be  invoked for  the
  5772.           content  associated  with  a basic  logical  component  using the
  5773.           attribute "proportional  line  spacing".   When  this  invocation
  5774.           occurs, the line spacing  between each pair of consecutive  lines
  5775.           is  determined   in  an  implementation-defined   way  from   the
  5776.           attributes associated with  the fonts used  within the two  lines
  5777.           and  may  vary  from one  line  to  the next.    This  process is
  5778.           application dependent. 
  5779.  
  5780.  
  5781.           6.4.1.18  Superscripts and subscripts
  5782.  
  5783.           Superscripts  and subscripts may be specified anywhere within the
  5784.           content associated  with a basic  component by using  the control
  5785.           functions partial line up (PLU) and partial line down (PLD).  The
  5786.           use of  these control functions shall be in accordance with CCITT
  5787.           Rec. T.416 | ISO 8613-6.
  5788.  
  5789.  
  5790.           6.4.1.19  Line breaks
  5791.  
  5792.           The  control functions  break permitted  here (BPH) and  no break
  5793.           here   (NBH)  may  be   inserted  in  processable   or  formatted
  5794.           processable  form character content to indicate where line breaks
  5795.           may occur or may not occur  respectively when the content is laid
  5796.           out.
  5797.  
  5798.  
  5799.           6.4.1.20  Substitution of characters
  5800.  
  5801.           The  control function substitute  (SUB) is provided  to represent
  5802.           characters produced by a local  system that cannot be represented
  5803.           by  a  character  within  a  character   set  supported  by  this
  5804.  
  5805.                                           76
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.  
  5813.  
  5814.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5815.  
  5816.           Specification.
  5817.  
  5818.  
  5819.           6.4.1.21  Initial point
  5820.  
  5821.           The initial point which is applicable to basic layout  components
  5822.           may be  specified by the attribute  "initial offset".   Any value
  5823.           may be specified.
  5824.  
  5825.  
  5826.           6.4.1.22  Use of control functions
  5827.  
  5828.           The  following  is a  list  of  all  the  control  functions  and
  5829.           parameter  values (where  applicable) that  may  be specified  in
  5830.           character content:
  5831.  
  5832.                SHS                         select  character  spacing  (allowed   parameter
  5833.                     values: 0, 1, 2, 3, 4);
  5834.  
  5835.                SCS                        set character spacing  (allowed parameter values:
  5836.                     any);
  5837.  
  5838.                SVS                        select  line spacing  (allowed parameter  values:
  5839.                     any);
  5840.  
  5841.                SLS                         set  line  spacing  (allowed  parameter  values:
  5842.                     any);
  5843.  
  5844.                SGR                         select  graphic  rendition  (allowed   parameter
  5845.                     values: any);
  5846.  
  5847.                STAB                        selective tabulation (allowed  parameter values:
  5848.                     any);
  5849.  
  5850.                SRS                        start  reverse string (allowed  parameter values:
  5851.                     any);
  5852.  
  5853.                VPB                         line   position   backward  (allowed   parameter
  5854.                     values: any);
  5855.  
  5856.                VPR                         line   position   relative  (allowed   parameter
  5857.                     values: any);
  5858.  
  5859.                PLD                        partial line down;
  5860.  
  5861.                PLU                        partial line up;
  5862.  
  5863.                BPH                        break permitted here;
  5864.  
  5865.                NBH                        no break here;
  5866.  
  5867.                JFY                        no justify;
  5868.  
  5869.                SUB                        substitute;
  5870.  
  5871.                                           77
  5872.  
  5873.  
  5874.  
  5875.  
  5876.  
  5877.  
  5878.  
  5879.  
  5880.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5881.  
  5882.                SP                               space;
  5883.  
  5884.                CR                               carriage return;
  5885.  
  5886.                LF                               line feed;
  5887.  
  5888.                ST                               start of string;
  5889.  
  5890.                SOS                        string terminator;
  5891.  
  5892.                                           code extension control functions (see 6.5.1.4).
  5893.  
  5894.           The use of all these control functions, with the exception of SP,
  5895.           CR, LF, SOS and ST, are described in various subclauses in 6.5.1.
  5896.  
  5897.  
  5898.           6.4.1.23  Formatting the content
  5899.  
  5900.           The  attribute  "formatting  indicator"  shall  not  be specified
  5901.           within documents that are conformant with this Specification.
  5902.  
  5903.  
  5904.           6.4.2  Raster graphics content
  5905.  
  5906.  
  5907.           6.4.2.1  Introduction
  5908.  
  5909.           This subclause  defines the features  that are applicable  to the
  5910.           raster  graphics content contained in a document.  These features
  5911.           may apply to basic logical and layout components unless otherwise
  5912.           indicated.
  5913.  
  5914.           The default values for the following features may be specified in
  5915.           the document profile:
  5916.  
  5917.                               type of coding;
  5918.  
  5919.                               compression;
  5920.  
  5921.                               pel spacing;
  5922.  
  5923.                               spacing ratio;
  5924.  
  5925.                               image dimensions.
  5926.  
  5927.           The specification  in  a document  of a  non-basic  feature by  a
  5928.           presentation or  coding attribute  or control  function shall  be
  5929.           indicated in the document profile.
  5930.  
  5931.  
  5932.           6.4.2.2  Raster graphics content architecture
  5933.  
  5934.           Only   the   formatted   processable  raster   graphics   content
  5935.           architecture class  may be used in documents that conform to this
  5936.  
  5937.                                           78
  5938.  
  5939.  
  5940.  
  5941.  
  5942.  
  5943.  
  5944.  
  5945.  
  5946.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  5947.  
  5948.           document application profile.  This  type of content may be  used
  5949.           in   processable,  formatted   and  formatted   processable  form
  5950.           documents.
  5951.  
  5952.           When using raster graphics content, only one  content portion may
  5953.           be associated with an object or object class. 
  5954.  
  5955.           The content information in a content portion may be absent.  This
  5956.           is to allow  the representation and  interchange of documents  in
  5957.           which parts of the content  may be supplied, for example,  during
  5958.           subsequent editing.
  5959.  
  5960.           Also, the scalable or fixed  dimension content layout process may
  5961.           be used  when laying out and  imaging the content  depending upon
  5962.           the specification of  the presentation  attributes "pel  spacing"
  5963.           and "imaging  dimensions" as  described in  6.5.2.6 and  6.5.2.8.
  5964.           Both forms  of content layout processes  may be used  in a single
  5965.           document.
  5966.  
  5967.  
  5968.           6.4.2.3  Raster graphics encoding methods
  5969.  
  5970.           The  content  may  be  encoded in  accordance  with  the encoding
  5971.           schemes defined in CCITT Rec.s T.4 and T.6.   In the case of T.4,
  5972.           either the one-dimensional or two dimensional encoding scheme may
  5973.           be  used.  Also the bitmap  encoding scheme defined in CCITT Rec.
  5974.           T.417 | ISO 8613-7 may be used.  All these forms  of encoding may
  5975.           be used  in a single document,  and all are  basic.  Uncompressed
  5976.           mode of encoding may also be used, but as a non-basic feature.
  5977.  
  5978.           When  using the  T.4  or T.6  encoding  method, the  relationship
  5979.           between the order of pels and the order of bits  in the octets in
  5980.           the coded data  stream shall be  such that the  first pel in  the
  5981.           order of  bits is  allocated to the  least significant bit  of an
  5982.           octet.   In the case  of bitmap  encoding, the order  of encoding
  5983.           shall be that the first pel is  allocated to the most significant
  5984.           bit of an octet.
  5985.  
  5986.           In a  content portion, if content information is specified, it is
  5987.           required that the coding  attribute  "number of pels per line" is
  5988.           specified;  the coding attribute  "number of  lines" may  also be
  5989.           specified.   No restriction  is placed on the  values that may be
  5990.           specified for these  coding attributes.  Thus  this Specification
  5991.           places no  restriction on the size of the  pel arrays that may be
  5992.           used.
  5993.  
  5994.           The type  of encoding method used  is specified by  the attribute
  5995.           "type of  coding".  The use  of this attribute  is non-mandatory.
  5996.           Thus, if this attribute is not specified for a particular content
  5997.           portion  and  if   the  content   architecture  class   specified
  5998.           corresponds to  the formatted processable raster graphics content
  5999.           architecture class, then  the default encoding method  is assumed
  6000.           to be that defined in CCITT Recommendation T.6.  
  6001.  
  6002.  
  6003.                                           79
  6004.  
  6005.  
  6006.  
  6007.  
  6008.  
  6009.  
  6010.  
  6011.  
  6012.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6013.                Table 3   List of number string identifiers for logical
  6014.             constituent constraints
  6015.  
  6016.  
  6017.  
  6018.  
  6019.                Logical        Numeric     Logical        Numeric
  6020.                constituent    string      constituent    string
  6021.                constraints    identifier  constraints    identifier
  6022.                DocumentLogic     0        CommonContent    19
  6023.                alRoot
  6024.  
  6025.                Passage           1        CommonText       20
  6026.  
  6027.                NumberedSegme     2        CommonRaster     21
  6028.                nt
  6029.                Number            3        CommonGeometr    22
  6030.                                           ic
  6031.  
  6032.                Title             4        NumberedList     25
  6033.  
  6034.                Caption           5        UnNumberedLis    26
  6035.                                           t
  6036.                Paragraph         6        DefinitionLis    27
  6037.                                           t
  6038.  
  6039.                Phrase            7        ListItem         28
  6040.  
  6041.                Footnote          8        ListTerm         29
  6042.                FootnoteNumbe     9        Table            30
  6043.                r
  6044.  
  6045.                FootnoteRefer    10        Row              31
  6046.                ence
  6047.  
  6048.                FootnoteBody     11        EntryElement     35
  6049.                FootnoteText     12        CommonReferen    37
  6050.                                           ce
  6051.  
  6052.                BodyText         14        PageNumber       40
  6053.  
  6054.                Reference        15        EntryText        41
  6055.                ReferencedCon    16        EntryRaster      42
  6056.                tent
  6057.  
  6058.                BodyRaster       17        EntryGeometri    43
  6059.                                           c
  6060.  
  6061.                BodyGeometric    18        TableNumber      44
  6062.  
  6063.  
  6064.  
  6065.  
  6066.           6.4.2.4  Pel path and line progression
  6067.  
  6068.  
  6069.                                           80
  6070.  
  6071.  
  6072.  
  6073.  
  6074.  
  6075.  
  6076.  
  6077.  
  6078.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)                                           
  6079.             Table 4   List   of  number   string  identifiers  for  layout
  6080.             constituent constraints
  6081.  
  6082.  
  6083.  
  6084.  
  6085.                Layout          Numeric      Layout           Numeric
  6086.                constituent     string       constituent      string
  6087.                constraints     identifier   constraints      identifie
  6088.                                                              r
  6089.                DocumentLayout     0         SourcedContentF    18
  6090.                Root                         ixed
  6091.  
  6092.                PageSet            1         SourcedContentV    19
  6093.                                             ariable
  6094.  
  6095.                Page               2         BasicHeader        27
  6096.                RectoPage          3         BasicBody          28
  6097.  
  6098.                VersoPage          4         GenericBlock       29 
  6099.  
  6100.                CompositeHeade     5         SpecificBlock      30 
  6101.                r
  6102.                VariableCompos     7         CompositeFooter    32
  6103.                iteBody
  6104.  
  6105.                ColumnFixed        8         BasicFooter        33
  6106.  
  6107.                ColumnVariable     9         TableHeader        34
  6108.                SnakingColumns    10         TableArea          36
  6109.  
  6110.                SynchronizedCo    11         TableLabel         37
  6111.                lumns
  6112.  
  6113.                BasicFloat        12         RowArea            40 
  6114.                FootnoteArea      15         Cell               41
  6115.  
  6116.                ArrangedConten    16         TableLabelConte    44
  6117.                tFixed                       nt
  6118.  
  6119.                ArrangedConten    17
  6120.                tVariable
  6121.  
  6122.  
  6123.  
  6124.  
  6125.           The pel path and line progression  provided are 0 degrees and 270
  6126.           degrees  respectively.  This  specification  does  not  allow the
  6127.           specification of other values.
  6128.  
  6129.  
  6130.           6.4.2.5  Clipping
  6131.  
  6132.           A sub-region  within a pel array represented by a content portion
  6133.           associated  with  a  basic component  may  be  defined using  the
  6134.  
  6135.                                           81
  6136.  
  6137.  
  6138.  
  6139.  
  6140.  
  6141.  
  6142.  
  6143.  
  6144.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6145.  
  6146.           presentation attribute "clipping".   No restriction is  placed on
  6147.           the use of this attribute.
  6148.  
  6149.  
  6150.           6.4.2.6  Pel spacing
  6151.  
  6152.           The pel spacing is the distance in BMUs between any two pels on a
  6153.           line  when a pel  array is imaged.   Any value  may be explicitly
  6154.           specified provided that the spacing between pels is not less than
  6155.           1 BMU.   The pel spacing need not be an integer value.  Also, the
  6156.           value  'null'  may  be specified,  indicating  that  the scalable
  6157.           layout process is to be used.
  6158.  
  6159.           The specification of the  value 'null' or spacings of 16,  12, 8,
  6160.           6, 5, 4, 3,  2, and 1 BMU  between adjacent pels are basic.   The
  6161.           specification of  any other  spacing is  non-basic  and shall  be
  6162.           indicated in the document profile.
  6163.  
  6164.           The  pel  spacing  applicable to  content  associated  with basic
  6165.           logical  components is  specified by  the presentation  attribute
  6166.           "pel spacing".
  6167.  
  6168.              NOTES
  6169.  
  6170.              1 The basic pel spacing values  listed above are  equivalent
  6171.                to resolutions of  75, 100, 150, 200,  240, 300,  400, 600
  6172.                and  1200 pels per  25,4 mm respectively when the document
  6173.                is imaged in its specified size. 
  6174.  
  6175.              2 The attribute "pel  spacing" specifies  two integers,  the
  6176.                ratio  of   which  determines  the   pels  spacing.     No
  6177.                restriction is placed on the values of these integers.
  6178.  
  6179.  
  6180.           6.4.2.7  Spacing ratio
  6181.  
  6182.           The spacing  ratio is the  ratio between the pel  spacing and the
  6183.           line spacing when a  pel array is imaged.  This ratio  is used to
  6184.           determine the line spacing from the pel spacing specified. 
  6185.  
  6186.           No restrictions are placed on  the value of this ratio  providing
  6187.           that the resultant  line spacing is not  less than 1 BMU.   Also,
  6188.           the line  spacing need not  be an integral  number of BMUs.   All
  6189.           values are basic. 
  6190.  
  6191.           The default value  may be specified in the document  profile.  If
  6192.           no default value  is explicitly specified then the  default value
  6193.           is the  ratio 1:1, that is, the line spacing  is equal to the pel
  6194.           spacing.
  6195.  
  6196.           The  spacing ratio  applicable to the  content associated  with a
  6197.           basic   logical  component  is   specified  by  the  presentation
  6198.           attribute "spacing ratio".
  6199.  
  6200.  
  6201.                                           82
  6202.  
  6203.  
  6204.  
  6205.  
  6206.  
  6207.  
  6208.  
  6209.  
  6210.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6211.  
  6212.           6.4.2.8  Image dimensions
  6213.  
  6214.           The  image dimensions are  the constraints  to be applied  to the
  6215.           size  of   the  image  produced  when  laying  out  a  pel  array
  6216.           represented by a content portion associated with  a basic logical
  6217.           component.
  6218.  
  6219.           These constraints are  specified for basic logical  components by
  6220.           the presentation attribute "image dimensions".  The value of this
  6221.           attribute  is  only taken  into  account  if  the  value  of  the
  6222.           attribute "pel spacing" is 'null'.
  6223.  
  6224.  
  6225.           6.4.3  Geometric graphics content
  6226.  
  6227.           A  document  may  contain graphic  images  composed  of geometric
  6228.           graphic  content  encoded  as CGM  metafiles  in  accordance with
  6229.           ISO/IEC 8632.  Each  CGM figure shall consist of a single picture
  6230.           only.  Each CGM figure may specify its minimum dimensions.
  6231.  
  6232.           Further  information  concerning the  specification  of geometric
  6233.           graphics content information is given in Annex B.
  6234.  
  6235.  
  6236.  
  6237.  
  6238.  
  6239.  
  6240.  
  6241.  
  6242.  
  6243.  
  6244.  
  6245.  
  6246.  
  6247.  
  6248.  
  6249.  
  6250.  
  6251.  
  6252.  
  6253.  
  6254.  
  6255.  
  6256.  
  6257.  
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.  
  6264.  
  6265.  
  6266.  
  6267.                                           83
  6268.  
  6269.  
  6270.  
  6271.  
  6272.  
  6273.  
  6274.  
  6275.  
  6276.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6277.  
  6278.           Miscellaneous features
  6279.  
  6280.           6.5.1  Resource-documents
  6281.  
  6282.           Object classes of the types BodyText, BodyRaster,  BodyGeometric,
  6283.           CommonText,     CommonRaster,     CommonGeometric,     EntryText,
  6284.           EntryRaster,  EntryGeometric   and  GenericBlock  may   refer  to
  6285.           corresponding constituent constraints in a resource-document.
  6286.            
  6287.           The constituent constraints in the resource-documentmay  refer to
  6288.           content portions and  to layout and presentation styles  that are
  6289.           contained  within   the  resource-document.     The   constituent
  6290.           constraints listed above are the only ones that are allowed to be
  6291.           referenced  from another  document via the  attribute "resource":
  6292.           however,  a  generic-document  used  as a  resource-document  may
  6293.           contain any  combination of generic constituent constraints which
  6294.           is conformant to this document application profile.
  6295.  
  6296.           6.5.2  External-documents
  6297.  
  6298.           In the case of processable and formatted processable, the generic
  6299.           logical structure and  the generic layout structure,  if present,
  6300.           may be contained  in an external-document.   Note that it  is not
  6301.           permitted to exchange  one generic structure in  the interchanged
  6302.           document  while  referencing  the  other  through  the  external-
  6303.           document.
  6304.  
  6305.  
  6306.           6.5.3  Border
  6307.  
  6308.           Border may be specified for all the frame types defined in 6.3.5,
  6309.           6.3.6 and 6.3.7 using the  attribute "border".  All the  features
  6310.           of  borders specified  in CCITT  Rec. T.412 |  ISO 8613-2  may be
  6311.           specified as  basic values.     Border  may also be  specified in
  6312.           presentation styles.
  6313.  
  6314.           Border shall not  be specified for the  constituents GenericBlock
  6315.           and SpecificBlock.  
  6316.  
  6317.           6.5.4  Application comments
  6318.  
  6319.           Specification  of   the  attribute   "application  comments"   is
  6320.           mandatory  for all  object classes  contained in a  document that
  6321.           conforms  to this Specification.  Specification of this attribute
  6322.           is mandatory  for all  objects that  do not  refer  to an  object
  6323.           class.   Specification  of  the  attribute is  optional  for  all
  6324.           objects that refer to object classes.
  6325.  
  6326.           This attribute is structured so that it contains two fields.  The
  6327.           first field  is  mandatory when  the attribute  is specified  and
  6328.           contains  a   numeric  string   which  uniquely  identifies   the
  6329.           constituent  constraint applicable to  the constituent  for which
  6330.           the attribute is  specified.  This facilitates  the processing of
  6331.           documents.  A list of these identifiers  is given in Tables 3 and
  6332.  
  6333.                                           84
  6334.  
  6335.  
  6336.  
  6337.  
  6338.  
  6339.  
  6340.  
  6341.  
  6342.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6343.  
  6344.           4.
  6345.  
  6346.              NOTES
  6347.  
  6348.              1 The   values  of   the  constituent   constraint   numeric
  6349.                identifiers are not unique between  the logical and layout
  6350.                structures,  and  therefore  in   order  to  identify  the
  6351.                constituent  constraint applicable to a constituent, it is
  6352.                necessary to know the structure  of which the  constituent
  6353.                is a part.
  6354.  
  6355.              2 For constituent constraints  that correspond to each other
  6356.                between  the   hierarchically  related  Recommendations  |
  6357.                International   Standardized   Profiles   to  which   this
  6358.                Specification  belongs,  the  same constituent  constraint
  6359.                numeric identifier is specified.
  6360.  
  6361.           The second field is optional and may contain any information that
  6362.           is relevant to the application or user.  The format of the second
  6363.           field is not defined in this Specification and the interpretation
  6364.           of this  field  depends  upon a  private  agreement  between  the
  6365.           originator and recipient of the document. 
  6366.  
  6367.           The encoding of  the attribute "application comments"  is defined
  6368.           in 8.1.3 and 8.2.3.
  6369.  
  6370.  
  6371.           6.5.5  Alternative representation
  6372.  
  6373.           The content information in a content portion may be replaced by a
  6374.           string of  characters  specified in  the  attribute  "alternative
  6375.           representation".   This  attribute may  be  specified in  content
  6376.           portions  that contain  character,  raster graphics  or geometric
  6377.           graphics content.
  6378.  
  6379.           The  specification and use  of this  attribute is optional.   The
  6380.           string  of characters  specified shall  belong  to the  character
  6381.           repertoires   indicated  in   the   document  profile   attribute
  6382.           "alternative representation  character sets"  (see 6.7.4.3).   If
  6383.           the latter attribute is not  explicitly specified in the document
  6384.           profile, then  the default defined in  CCITT Rec. T.410  series |
  6385.           ISO 8613  is assumed.  The control functions space (SP), carriage
  6386.           return  (CR)  and line  feed  (LF) may  also  be used  within the
  6387.           character string but no other  control function is allowed; hence
  6388.           graphic character sets  cannot be changed within  the alternative
  6389.           representation.
  6390.  
  6391.  
  6392.           6.5.6  Automatic numbering and referencing mechanisms
  6393.  
  6394.  
  6395.  
  6396.  
  6397.  
  6398.  
  6399.                                           85
  6400.  
  6401.  
  6402.  
  6403.  
  6404.  
  6405.  
  6406.  
  6407.  
  6408.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6409.  
  6410.           6.5.6.1  Introduction
  6411.  
  6412.           This Specification  provides  general mechanisms  to support  the
  6413.           automatic  numbering  of  various  types  of  constituents  in  a
  6414.           document   and  for   referencing   those  numbers   from   other
  6415.           constituents in  the document.    For example,  the numbering  of
  6416.           segments  (such  as  chapters,  sections  and  annexes),  tables,
  6417.           figures, footnotes, lists of items and pages is supported.
  6418.  
  6419.           Also  character strings may be specified for various constituents
  6420.           and  these  strings  may  be referenced  from  other  parts  of a
  6421.           document  in order  to support  a  general referencing  mechanism
  6422.           within a document.
  6423.  
  6424.           To  achieve  these  features,  this  Specification  provides  the
  6425.           bindings  listed  in  6.6.6.2.   Subclauses  6.6.6.3  to 6.6.6.11
  6426.           describe how these  bindings are used in  the automatic numbering
  6427.           and referencing schemes.  These descriptions  are not intended to
  6428.           restrict  the use of the bindings  provided by this Specification
  6429.           or the mechanisms used to achieve these numbering and referencing
  6430.           schemes.
  6431.  
  6432.  
  6433.           6.5.6.2  Bindings
  6434.  
  6435.           The  binding  listed  below may  be  specified,  unless otherwise
  6436.           stated, on any composite logical constituent constraint, on basic
  6437.           logical constituent constraints of the types BodyText, BodyRaster
  6438.           and  BodyGeometric and on  layout constituent constraints  of the
  6439.           types DocumentLayoutRoot, PageSet, Page, RectoPage and VersoPage.
  6440.  
  6441.           Groups of bindings have names whose general form is '<name>-<n>'.
  6442.           The character string <name> serves to identify a particular group
  6443.           of  bindings and  <n> is  a string  of characters that  serves to
  6444.           identify a  particular binding.  The  field <n> is a  sequence of
  6445.           characters taken from the set of characters '0..9'; this sequence
  6446.           may be of any length, but shall consist of  a string representing
  6447.           an integer with no leading zeroes.  
  6448.  
  6449.           Binding values  may consist of integers or character strings.  In
  6450.           the case of integers, any value may be specified.  In the case of
  6451.           character  strings,  the string  may  consist of  any  of the  94
  6452.           characters  of  the IRV  of  ISO/IEC  646,  ISO-IR  6,  plus  the
  6453.           character  space.   Any other  character repertoire  may be  used
  6454.           provided   it  is  designated  and  invoked  by  the  appropriate
  6455.           designation  and  invocation  sequences,  and  indicated  in  the
  6456.           document  profile  as  a  non-basic  value.    No  other  control
  6457.           functions may be used.
  6458.  
  6459.  
  6460.           6.5.6.2.1  Binding 'prefixes-<n>'
  6461.  
  6462.           This binding specifies a character  string that is typically used
  6463.           to specify a prefix string  in a character string represented  by
  6464.  
  6465.                                           86
  6466.  
  6467.  
  6468.  
  6469.  
  6470.  
  6471.  
  6472.  
  6473.  
  6474.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6475.  
  6476.           another binding.  Examples are prefixes to segment,  footnote and
  6477.           page numbers. 
  6478.  
  6479.           6.5.6.2.2  Binding 'suffixes-<n>'
  6480.  
  6481.           This binding specifies a character string that is typically  used
  6482.           to specify a suffix string  in a character string represented  by
  6483.           another binding.  Examples are  suffixes to segment, footnote and
  6484.           page numbers. 
  6485.  
  6486.  
  6487.           6.5.6.2.3  Binding 'numberstring-<n>'
  6488.  
  6489.           This binding specifies a character string that typically consists
  6490.           of one  or more  numerals  and separators  that constitutes,  for
  6491.           example, a segment, figure,  table, list item or footnote  number
  6492.           in a  document.  An example  is the string  "3.4.3.6" which might
  6493.           identify a sub-section in a document.
  6494.  
  6495.  
  6496.           6.5.6.2.4  Binding 'numbers-<n>'
  6497.  
  6498.           This binding  specifies  an integer  that  is associated  with  a
  6499.           particular  constituent.   This  integer  is  typically  used  to
  6500.           generate a  numeral or a sequence of numerals, represented by the
  6501.           binding  'numberstring-<n>'  that   identifies,  for  example,  a
  6502.           particular  segment, footnote, table,  figure, list item  or page
  6503.           within a document. Binding 'separator-<n>'
  6504.           This  binding specifies a character string that is typically used
  6505.           to   represent  the  separators  between  numerals  in  a  string
  6506.           represented by the binding 'numberstring-<n>'.  An example is the
  6507.           string   "3.4.3.6"   where   the    character   "."   forms   the
  6508.           separator.Binding 'string-<n>'
  6509.           This binding specifies a character string that is associated with
  6510.           a  constituent  and is  used  to  support a  general  referencing
  6511.           mechanism  with a document.   Typically  this binding is  used to
  6512.           support the  referencing of  character content  specified in  one
  6513.           part of  the document  from another part  of the  document.   For
  6514.           example,  this binding  might be  used to  carry  the title  of a
  6515.           chapter or figure that  is referenced in some  other part of  the
  6516.           document.Binding 'PGnum'
  6517.           This binding  specifies an  integer that  typically represents  a
  6518.           page  number.   This  binding  may only  be  specified on  layout
  6519.           constituent constraints of the types DocumentLayoutRoot, PageSet,
  6520.           RectoPage, VersoPage and Page. Binding 'fnotenumber'
  6521.           This binding specifies  an integer that is  specifically provided
  6522.           to represent the  numbers that identify footnotes.   This binding
  6523.           may only  be specified  for the  logical constituent  constraints
  6524.           DocumentLogicalRoot,  Passage and  Footnote, and is  provided for
  6525.           compatibility with FOD26 | PM-26.
  6526.  
  6527.  
  6528.  
  6529.  
  6530.  
  6531.                                           87
  6532.  
  6533.  
  6534.  
  6535.  
  6536.  
  6537.  
  6538.  
  6539.  
  6540.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6541.  
  6542.           6.5.6.2.5  Binding 'fnotestring'
  6543.  
  6544.           This binding specifies a character string which is the equivalent
  6545.           of the  number represented  by the  binding 'fnotenumber'.   This
  6546.           binding  may  only  be  specified  for  the  logical  constituent
  6547.           constraint Footnote, and is provided for compatibility with FOD26
  6548.           | PM-26.
  6549.  
  6550.  
  6551.           6.5.6.3  Numbering of segments
  6552.  
  6553.           The constituent  constraint Number contains  a content  generator
  6554.           which,  when  evaluated  during the  layout  process,  produces a
  6555.           character string that  serves to identify the  NumberedSegment to
  6556.           which the Number belongs. 
  6557.  
  6558.           The format of this character string is as follows:
  6559.  
  6560.                <pre-str><num-str><suf-str>
  6561.  
  6562.           This format  is defined by a string expression which is specified
  6563.           by the  macro SEGMENTNUMBER (see  7.3.1).  The  description below
  6564.           indicates how this string is typically generated.
  6565.  
  6566.           The fields <pre-str> and <suf-str> are optional prefix and suffix
  6567.           character strings respectively which may be of any length.  These
  6568.           may be predefined in the  expression or derived from bindings  of
  6569.           the  type  'prefix-<n>' and  'suffix-<n>'  respectively that  are
  6570.           defined   on  constituents  at  higher  levels  in  the  document
  6571.           structure.
  6572.  
  6573.           The field  <num-str>  is the  segment  identifier which  has  the
  6574.           following general form:
  6575.  
  6576.                <number>[<separator><number>]...
  6577.  
  6578.  
  6579.           where  [..]... indicates optional repetition.  That is, a segment
  6580.           identifier consists of a single  numeral or a sequence of  two or
  6581.           more numerals, each of which  is separated by a character  string
  6582.           called a 'separator'.  An example is the string "7.3.3.1".
  6583.  
  6584.           Segment identifiers are represented by the binding 'numberstring-
  6585.           <n>'.   This  binding may  be explicitly  specified or  generated
  6586.           automatically  by  a  string  expression  defined  by  the  macro
  6587.           USENUMBERSTRINGS (see 7.3.1) which has the general form:
  6588.  
  6589.                <numberstring-x><separator-y><number-z>
  6590.  
  6591.           The   field  <numberstring-x>  is  a  reference  to  the  segment
  6592.           identifier (that  is, another instance of  a binding of  the type
  6593.           'numberstring-<n>')  that   is  specified  for   the  immediately
  6594.           superior NumberedSegment.   This allows hierarchically structured
  6595.           numbering schemes to be specified.   If this NumberedSegment does
  6596.  
  6597.                                           88
  6598.  
  6599.  
  6600.  
  6601.  
  6602.  
  6603.  
  6604.  
  6605.  
  6606.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6607.  
  6608.           not exist,  then this  field is  empty and,  in  this case,  non-
  6609.           hierarchical.
  6610.  
  6611.           The  field <separator-y>  is  character  string  derived  from  a
  6612.           binding  of the  type 'separator-<n>'  specified  at some  higher
  6613.           level in the document structure.  This field may be empty.
  6614.  
  6615.           The field <number-z>  is the number represented in the  form of a
  6616.           character  string that is applicable to the NumberedSegment whose
  6617.           identifier is being constructed.  This number may  be represented
  6618.           in  the form  of an  Arabic numeral string,  upper or  lower case
  6619.           Roman  numeral  string or  by  upper  or  lower  case  alphabetic
  6620.           characters.
  6621.  
  6622.           The integer value  corresponding to the  field <number-z> may  be
  6623.           generated by one of two methods.  The value may be generated by a
  6624.           ORDINAL  function  within  the expression  defined  by  the macro
  6625.           USENUMBERSTRINGS.  Alternatively, it may be  derived by a binding
  6626.           of   the   type   'number-<n>'  which   is   specified   for  the
  6627.           NumberedSegment  whose  identifier  is being  constructed.    The
  6628.           binding 'number-<n>' is initialized at some suitable point in the
  6629.           document and is then automatically incremented on each successive
  6630.           NumberedSegment.  This is achieved using an expression defined by
  6631.           the macro USENUMBERS (see 7.3.1). 
  6632.  
  6633.           The constructed binding 'numberstring-<n>' generated by the macro
  6634.           USENUMBERSTRINGS may then be  referred to by a  content generator
  6635.           specified by the constituent Number to generate the identifier of
  6636.           the NumberedSegment as indicated earlier in this subclause. 
  6637.  
  6638.           This  binding  is  also available  for  constructing  the segment
  6639.           identifiers used at lower levels of NumberedSegment.   This means
  6640.           that  a hierarchical  numbering scheme may  be specified  for the
  6641.           NumberedSegments at different levels of the document structure. 
  6642.  
  6643.           The level number shall  be indicated using the  smallest possible
  6644.           number of characters, that is, there shall be no leading zeroes.
  6645.  
  6646.           A  document may  contain  any  number  of  different  independent
  6647.           numbering schemes.   This  is achieved  by setting  the value  of
  6648.           bindings  of the  type 'number-<n>',  'numberstring-<n>, 'prefix-
  6649.           <n>' and  'suffix-<n>'; and  the expressions  indicated above  at
  6650.           appropriate points in the document structure.  
  6651.  
  6652.           The  above  mechanism   may  be  used  for   different  purposes;
  6653.           subsequent subclauses illustrate how  this mechanism is typically
  6654.           used for the numbering of tables and lists of items.
  6655.  
  6656.  
  6657.           6.5.6.4  Numbering of lists
  6658.  
  6659.           A list  of items that are individually numbered is represented by
  6660.           the logical constituent  NumberedList.  Each item  is represented
  6661.           by a  constituent constraint of the type ListItem and each number
  6662.  
  6663.                                           89
  6664.  
  6665.  
  6666.  
  6667.  
  6668.  
  6669.  
  6670.  
  6671.  
  6672.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6673.  
  6674.           belonging to each item is represented by a  preceding constituent
  6675.           constraint of the type Number.  
  6676.  
  6677.           Number  contains  a  content  generator  which,  when  evaluated,
  6678.           generates the  number  belonging to  the  subsequent item.    The
  6679.           format  of this  content generator is  the same as  that used for
  6680.           numbering segments  (see 6.6.6.3)  and is  defined  by the  macro
  6681.           SEGMENTNUMBER. 
  6682.  
  6683.           As described in  6.6.6.3, the binding 'numberstring-<n>'  is used
  6684.           to represent the number  string belonging to each item.   In this
  6685.           case, this  binding is  generated on  the constituent  constraint
  6686.           Number which is referred to by the content generator contained in
  6687.           the same  constituent  constraint.   (Note that  in  the case  of
  6688.           segment numbers, the  binding 'numberstring-<n>' is generated  on
  6689.           the superior object.)
  6690.  
  6691.  
  6692.           6.5.6.5  Numbering of tables
  6693.  
  6694.           The constituent  constraint  TableNumber  is  typically  used  to
  6695.           represent a  character string  that constitutes  the number  that
  6696.           relates  to a Table.   This string  is laid out  in a TableHeader
  6697.           frame by  means of a SourcedContentFixed frame.  The latter frame
  6698.           specifies  the attribute  "logical  source"  which indicates  the
  6699.           instance  of   the  constituent  constraint   CommonContent  that
  6700.           contains the subordinate TableNumber which specifies the required
  6701.           table number.
  6702.  
  6703.           The character string represented by TableNumber is generated by a
  6704.           content  generator which defines a string expression specified by
  6705.           the macro  TABLENUMBER (see 7.3.1).   The general format  of this
  6706.           character string is as follows:
  6707.  
  6708.                <pre-str><num-str><suf-str>
  6709.  
  6710.           The fields <pre-str> and <suf-str> are optional prefix and suffix
  6711.           character strings which are pre-defined in the expression.
  6712.  
  6713.           The field  <num-str> is  a character  string that  represents the
  6714.           identifier of the table being laid out.  It is obtained  from the
  6715.           binding 'numberstring-<n>'  which is  specified  for the  logical
  6716.           object of the  type Table which is being laid out.   That is, the
  6717.           field  <num-str> is  derived  from the  current  instance of  the
  6718.           constituent constraint of the type Table. 
  6719.  
  6720.           The general format of the field <num-str> and the mechanisms used
  6721.           to specify and generate this field are described in 6.6.6.3.
  6722.  
  6723.           Tables,  like figures, may be independently numbered throughout a
  6724.           document, or their numbers may be linked to the segments in which
  6725.           they are contained.  An example  of a table number is the  string
  6726.           "1.1.5"  where "1.1" is  the number of  the segment  to which the
  6727.           table  belongs,  "."  is  a  separator  and  "5"  is  the  number
  6728.  
  6729.                                           90
  6730.  
  6731.  
  6732.  
  6733.  
  6734.  
  6735.  
  6736.  
  6737.  
  6738.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6739.  
  6740.           associated with the particular table.
  6741.  
  6742.  
  6743.           6.5.6.6  Footnote numbering
  6744.  
  6745.           The constituent constraints FootnoteReference and  FootnoteNumber
  6746.           contain content  generators  which,  when  evaluated  during  the
  6747.           layout  process, produce character strings that serve to identify
  6748.           the    Footnote    to   which    the    constituent   constraints
  6749.           FootnoteReference and FootnoteNumber are subordinate.
  6750.  
  6751.           The format of this character string is as follows:
  6752.  
  6753.                <pre-str><num-str><suf-str>
  6754.  
  6755.           This string  is defined by a  string expression specified  by the
  6756.           macro FNNUMBER (see 7.3.1).
  6757.  
  6758.           The numbering  mechanism is the same  as that used  for numbering
  6759.           segments  (see 6.6.6.3).  Thus the fields <pre-str> and <suf-str>
  6760.           are optional  prefix and  suffix  character strings  respectively
  6761.           which may be of any length and are predefined in the expression. 
  6762.  
  6763.           The  field  <num-str>  is  derived from  a  binding  of  the type
  6764.           'fnotestring' which is  specified on the constituent  Footnote to
  6765.           which   the   constituent   constraints   FootnoteReference   and
  6766.           FootnoteNumber  are subordinate.    This  field is  automatically
  6767.           generated  using expressions defined by the macros INCFNOTENUMBER
  6768.           and FNOTENUMBERSTRING.
  6769.  
  6770.  
  6771.           6.5.6.7  Page numbering
  6772.  
  6773.           The constituent constraint PageNumber is specifically provided to
  6774.           represent common  content that contains a page number and that is
  6775.           to be placed on each successive page  of a document.  A mechanism
  6776.           is  provided which  allows  the page  number to  be automatically
  6777.           incremented on each successive page of a document.  
  6778.  
  6779.           The format of the content  generator specified by the constituent
  6780.           PageNumber is as follows:
  6781.  
  6782.                <pre-str><num-str><suf-str>
  6783.  
  6784.           This format  is defined by a  string expression specified  by the
  6785.           macro PGNUMBER (see 7.3.1).
  6786.  
  6787.           The fields <pre-str> and <suf-str> are optional prefix and suffix
  6788.           character strings  respectively which may  be of any  length, and
  6789.           are predefined in the expression.
  6790.  
  6791.           The  field <num-str>  is the  page number.   This  consists of  a
  6792.           single number derived from the binding 'PGnum' which is specified
  6793.           for the current instance  of the frame or page in  which the page
  6794.  
  6795.                                           91
  6796.  
  6797.  
  6798.  
  6799.  
  6800.  
  6801.  
  6802.  
  6803.  
  6804.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6805.  
  6806.           number is  to be laid out.   A page number may  be represented in
  6807.           the form of Arabic numeric strings,  an upper or lower case Roman
  6808.           numeric string or  an equivalent upper  or lower case  alphabetic
  6809.           string.
  6810.  
  6811.           The binding 'PGnum' is initialized at the document layout root or
  6812.           page set  level (using  the macro  INITIALISEPGNUMBER defined  in
  6813.           7.3.1).   This  binding  is  automatically  incremented  on  each
  6814.           successive  page using  an  expression  specified  by  the  macro
  6815.           USEPGNUMBERS  (see  7.3.1).   By  placing  initialization  on the
  6816.           layout   root,  rather   than  on   the   pageset  classes,   the
  6817.           pagenumbering may  be defined to be continued from one pageset to
  6818.           the next. 
  6819.  
  6820.           The content associated  with logical object  classes of the  type
  6821.           PageNumber is laid  out in a frame of one of the following types:
  6822.           BasicHeader,         BasicFooter,         SourcedContentVariable,
  6823.           SourcedContentFixed  (see   6.3.6)  using   the  logical   source
  6824.           mechanism.   Thus when the appropriate  frame is being  laid out,
  6825.           the  field <num-expr>  in the  content  generator contained  in a
  6826.           logical object  class of  the type  PageNumber is evaluated,  and
  6827.           this determines the value of the binding PGnum that is associated
  6828.           with the current page being laid out.
  6829.  
  6830.           Similar numbering is applicable for page sets.Referenced content
  6831.           ReferencedContent is a constituent constraint that is provided to
  6832.           support a general referencing mechanism within the content of the
  6833.           body part of a document.  This constituent constraint, therefore,
  6834.           is  used to represent character content that contains a reference
  6835.           to  content  specified elsewhere  in  a document.    Examples are
  6836.           references to  strings that  represent the  numbers of  segments,
  6837.           figures,  tables,  footnotes  and   pages.    Particular  strings
  6838.           specified by 'string-<n>' may be referenced. 
  6839.  
  6840.           This constituent constraint  contains a content  generator which,
  6841.           when  evaluated, produces  a character  string  of the  following
  6842.           form:
  6843.  
  6844.                <pre-str> a sequence of <ref-str><suf-str>
  6845.  
  6846.           This content generator is defined by a string expression which is
  6847.           specified by the macro REF (see 7.3.1).
  6848.  
  6849.           The fields <pre-str> and <suf-str> are optional prefix and suffix
  6850.           character strings which are predefined in the expression.
  6851.  
  6852.           The field <ref-str> is a  character string that is obtained  from
  6853.           content specified on  a particular constituent in the document by
  6854.           reference to one  of the following  bindings: 'numberstring-<n>',
  6855.           'number-<n>', 'string-<n>', 'fnotestring' or 'PGnum'.
  6856.  
  6857.           The following referencing mechanisms are permitted in this case:
  6858.  
  6859.  
  6860.  
  6861.                                           92
  6862.  
  6863.  
  6864.  
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6871.  
  6872.                                a  particular logical  object  is  referenced for  the
  6873.                required binding;
  6874.  
  6875.                               a particular logical object is  referenced and a search
  6876.                for the required binding is made on the logical objects
  6877.                superior to the referenced object.
  6878.  
  6879.           The referencing mechanism shall take into account the constituent
  6880.           constraints for which  the particular bindings are  permitted, as
  6881.           defined in 6.6.6.2.
  6882.  
  6883.  
  6884.           6.5.6.8  Common references
  6885.  
  6886.           CommonReference  is  a constituent  constraint within  the common
  6887.           part  of the  logical  structure of  a  document that  represents
  6888.           common character  content that may be reproduced in more than one
  6889.           place in a document.  This constituent constraint is specifically
  6890.           provided  to  represent  content which  contains  a  reference to
  6891.           content specified  elsewhere  in a  document.   This  content  is
  6892.           specified  by bindings.   Examples  are  references to  character
  6893.           strings that represent  the numbers of segments,  figures, tables
  6894.           and footnotes in a document. 
  6895.  
  6896.           This  constituent constraint  contains a  content generator,  the
  6897.           general format  of which  is the  same as  the content  generator
  6898.           specified for the  constituent constraint ReferencedContent  (see
  6899.           6.6.7.9) and content may be obtained from the following bindings:
  6900.           'numberstring-<n>', 'numbers-<n>', 'string-<n>', 'fnotestring' or
  6901.           'PGnum'. 
  6902.  
  6903.           This content  generator  is defined  by  an expression  which  is
  6904.           specified by the macro COMMONREF.
  6905.  
  6906.           The following referencing mechanisms are permitted in this case:
  6907.  
  6908.                                a current page or frame,  or a logical object which is
  6909.                laid  out  currently  is  referenced  for the  required
  6910.                binding;
  6911.  
  6912.                               a current  page or frame, or a logical  object which is
  6913.                laid out  currently is referenced and a  search for the
  6914.                required binding is  made on the constituents  superior
  6915.                to a referenced constituent;
  6916.  
  6917.                               a page  or frame into which a particular logical object
  6918.                is laid out is referenced for the required binding;
  6919.  
  6920.                               a page  or frame into which a particular logical object
  6921.                is laid out is referenced and a search for the required
  6922.                binding is  made on the layout objects  superior to the
  6923.                referenced page or frame.
  6924.  
  6925.           The   referencing  mechanism   shall   take  into   account   the
  6926.  
  6927.                                           93
  6928.  
  6929.  
  6930.  
  6931.  
  6932.  
  6933.  
  6934.  
  6935.  
  6936.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  6937.  
  6938.           constituents  for which the particular bindings are permitted, as
  6939.           defined in 6.6.6.2.
  6940.  
  6941.  
  6942.           6.5.7  User readable comments
  6943.  
  6944.           Information which  is to be  interpreted as comments  relevant to
  6945.           constituents  and  associated content  portions may  be specified
  6946.           using the attribute  "user readable comments".   This information
  6947.           is intended for presentation to humans.
  6948.  
  6949.           The information consists  of a string  of characters which  shall
  6950.           belong to  one of  the graphic  character sets  indicated in  the
  6951.           document  profile   attribute  "comments  character   sets"  (see
  6952.           6.7.4.2).   If the latter attribute is  not explicitly specified,
  6953.           then the default defined in CCITT Rec. T.410 series | ISO 8613 is
  6954.           assumed.  The control functions  space (SP), carriage return (CR)
  6955.           and line  feed (LF) and code extension control functions may also
  6956.           be  used  within  the  character  string,  but  no other  control
  6957.           functions are allowed.
  6958.  
  6959.  
  6960.           6.5.8  User visible name
  6961.  
  6962.           Information which may be  used to identify constituents within  a
  6963.           document  may  be  specified using  the  attribute  "user visible
  6964.           name".  This information is intended  for presentation to humans,
  6965.           for example, to assist in the editing of documents.
  6966.  
  6967.           The information consists  of a string  of characters which  shall
  6968.           belong to  one of  the graphic  character sets  indicated in  the
  6969.           document  profile   attribute  "comments  character   sets"  (see
  6970.           6.7.4.2).   If the latter attribute is  not explicitly specified,
  6971.           then the default defined in CCITT Rec. T.410 series | ISO 8613 is
  6972.           assumed.  The control functions space (SP), carriage return (CR),
  6973.           line feed (LF) and code  extension control functions may also  be
  6974.           used within the character string, but no other  control functions
  6975.           are allowed.
  6976.  
  6977.  
  6978.           6.6  Document management features
  6979.  
  6980.           Information relating to the document  as a whole is specified  in
  6981.           the  document profile  which is  represented  by the  constituent
  6982.           DocumentProfile.   This constituent  shall be specified  in every
  6983.           document.
  6984.  
  6985.           The information in  the document profile  is classified into  the
  6986.           following categories:
  6987.  
  6988.  
  6989.  
  6990.  
  6991.  
  6992.  
  6993.                                           94
  6994.  
  6995.  
  6996.  
  6997.  
  6998.  
  6999.  
  7000.  
  7001.  
  7002.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7003.  
  7004.                               document constituent information;
  7005.  
  7006.                               document identification information;
  7007.  
  7008.                               document default information;
  7009.  
  7010.                               non-basic characteristics information;
  7011.  
  7012.                               document management information.
  7013.  
  7014.           The information in the document profile may be of interest to the
  7015.           user, or may be used for machine processing of the document.
  7016.  
  7017.  
  7018.           6.6.1  Document constituent information
  7019.  
  7020.           This  information  specifies  which  constituents  are   used  to
  7021.           represent the document, including  constituents that are external
  7022.           to  the interchanged document.  This  information is divided into
  7023.           three categories.
  7024.  
  7025.  
  7026.           6.6.1.1  Presence of document constituents
  7027.  
  7028.           This information indicates which constituents are included in the
  7029.           document.  That is, this information indicates whether or not the
  7030.           document contains a generic logical structure, a specific logical
  7031.           structure,  a  generic   layout  structure,  a   specific  layout
  7032.           structure,  layout styles and presentation styles (see note).  It
  7033.           is mandatory to specify this information in the document profile.
  7034.  
  7035.              NOTE  - If the generic logical or  layout structure is external
  7036.              to the document  (see 6.7.1.3), then it  is still  necessary to
  7037.              indicate  that these structures  are present  and form  part of
  7038.              the document.
  7039.  
  7040.  
  7041.           6.6.1.2  Resource-document information
  7042.  
  7043.           This  information consists of  a reference to  a generic-document
  7044.           referred  to  as  a  resource-document  (see  6.6.1).    This  is
  7045.           specified  by the attribute "resource-document".  If constituents
  7046.           in  the document  contain  references  to  object  classes  in  a
  7047.           resource-document,  then   it  is   mandatory  to  specify   this
  7048.           information in the document profile.
  7049.  
  7050.  
  7051.           6.6.1.3  External-document information
  7052.  
  7053.           This  information consists of a reference to an external-document
  7054.           which may  consist of  a generic  logical structure  or both  the
  7055.           generic  layout and the  generic logical structures  (see 6.6.2).
  7056.           If  such a reference  is required,  then it  is specified  by the
  7057.           attribute "external-document class" in the document profile.
  7058.  
  7059.                                           95
  7060.  
  7061.  
  7062.  
  7063.  
  7064.  
  7065.  
  7066.  
  7067.  
  7068.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7069.  
  7070.  
  7071.           6.6.2  Document identification information
  7072.  
  7073.           This information relates  to the identification of  the document.
  7074.           This information is divided into six categories.
  7075.  
  7076.  
  7077.           6.6.2.1  Document application profile information
  7078.  
  7079.           This  information indicates the  document application  profile to
  7080.           which the  document belongs.   It  is mandatory  to specify  this
  7081.           information using the attribute "document application profile".
  7082.  
  7083.           6.6.2.2  Document architecture class information
  7084.  
  7085.           This  information indicates  the document  architecture  class to
  7086.           which the document belongs (see 6.1).  It is mandatory to specify
  7087.           this  information  using  the  attribute  "document  architecture
  7088.           class".
  7089.  
  7090.  
  7091.           6.6.2.3  Content architecture classes information
  7092.  
  7093.           This information indicates the content architecture  classes used
  7094.           in  the  document (see  6.5.1.2,  6.5.2.2  and  6.5.3).    It  is
  7095.           mandatory  to  specify  this  information  using  the   attribute
  7096.           "content   architecture    classes".Interchange   format    class
  7097.           information
  7098.           This information indicates  the interchange format class  used to
  7099.           represent  the  document (see  clause  8).   It  is mandatory  to
  7100.           specify this information using the attribute  "interchange format
  7101.           class".
  7102.  
  7103.  
  7104.           6.6.2.4  ODA version information
  7105.           This  information  indicates the  Recommendation  | International
  7106.           Standard  to which the  document conforms.   It also  specifies a
  7107.           calendar  date, which indicates that the document conforms to the
  7108.           version  of the Recommendation  | International Standard  and any
  7109.           addenda  that  are current  on that  date.   It  is  mandatory to
  7110.           specify this information using the attribute "ODA version".
  7111.  
  7112.  
  7113.           6.6.2.5  Document reference
  7114.  
  7115.           This information serves to identify the document.  Typically this
  7116.           information is  allocated to the document  by the creator  of the
  7117.           document.    The  identifier  may  consist  of  an  ASN.1  object
  7118.           identifier or a string of characters.  It is mandatory to specify
  7119.           this information using the attribute "document reference".
  7120.  
  7121.  
  7122.  
  7123.  
  7124.  
  7125.                                           96
  7126.  
  7127.  
  7128.  
  7129.  
  7130.  
  7131.  
  7132.  
  7133.  
  7134.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7135.  
  7136.           6.6.3  Document default information
  7137.  
  7138.           This information specifies various default values  for attributes
  7139.           used in  the document.   The default values that  are allowed are
  7140.           specified   in  the  various   subclauses  of  clause   6.    The
  7141.           specification  of this  information is only  required when  it is
  7142.           required to  specify  a default  value which  is  other than  the
  7143.           standard default value specified in CCITT Rec. T.410 series | ISO
  7144.           8613.
  7145.  
  7146.           Default  values for  the following  groups  of attributes  may be
  7147.           specified:
  7148.  
  7149.                               document architecture attributes;
  7150.  
  7151.                               character content attributes;
  7152.  
  7153.                               raster graphics attributes;
  7154.  
  7155.                               geometric graphics attributes.
  7156.  
  7157.  
  7158.           6.6.4  Non-basic characteristics information
  7159.  
  7160.           This  information   specifies  the  non-basic   attribute  values
  7161.           specified in  the document.   It is mandatory  to specify  a non-
  7162.           basic attribute value in the  document profile when such a  value
  7163.           is used in the document.
  7164.  
  7165.           The   following  types  of  non-basic  attribute  values  may  be
  7166.           specified:
  7167.  
  7168.                               profile character sets;
  7169.  
  7170.                               comments character sets;
  7171.  
  7172.                               alternative representation character sets;
  7173.  
  7174.                               page dimensions;
  7175.  
  7176.                                medium types;
  7177.  
  7178.                               character presentation features;
  7179.  
  7180.                               raster graphics presentation features;
  7181.  
  7182.                               raster graphics coding attributes.
  7183.  
  7184.              NOTE - In addition to  the above, layout paths  and borders may
  7185.              be specified for upwards compatibility with FOD26 | PM-26.
  7186.  
  7187.           Further  information concerning  document  profile, comments  and
  7188.           alternative representation character sets is given below.
  7189.  
  7190.  
  7191.                                           97
  7192.  
  7193.  
  7194.  
  7195.  
  7196.  
  7197.  
  7198.  
  7199.  
  7200.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7201.  
  7202.           6.6.4.1  Profile character sets
  7203.  
  7204.           Some  document  profile  attributes  have  values  consisting  of
  7205.           character   strings,  for   example,   the  document   management
  7206.           attributes.  The character sets  used in these character  strings
  7207.           are    specified  by  the  document  profile  attribute  "profile
  7208.           character sets".
  7209.  
  7210.           This  attribute  "profile  character   sets"  specifies  a   code
  7211.           extension announcer and designations of character sets, which are
  7212.           subject to the following restrictions:
  7213.  
  7214.                               The  code  extension  announcer  shall  be  04/03  when
  7215.                specified.  This code extension announcer specifies the
  7216.                use of G0 and G1 sets in an 8-bit  environment and also
  7217.                the  invocation  of  G0  and G1  sets  into  GL  and GR
  7218.                respectively.   Thus, in  each attribute to  which this
  7219.                attribute applies, invocation  shift functions are  not
  7220.                necessary because G0 and G1 sets are implicitly invoked
  7221.                by this code extension announcer.
  7222.  
  7223.  
  7224.                               G0 set: only  ISO-IR 6 (the IRV of ISO/IEC 646), ISO-IR
  7225.                2 (the primary set of ISO 6937-2), or any other version
  7226.                of ISO/IEC  646 may be  designated for this  set; these
  7227.                graphic character sets are implicitly invoked in GL.
  7228.  
  7229.                                G1 set:  no  restrictions are  placed  on the  graphic
  7230.                character sets  that may  be designated  for this  set;
  7231.                these graphic  character sets are implicitly invoked in
  7232.                GR.
  7233.  
  7234.                               The empty set shall  be designated into G1 and  invoked
  7235.                into GR if no  other specific character set is  invoked
  7236.                in GR.
  7237.  
  7238.           If the attribute "profile character sets" is not  specified, then
  7239.           the default  defined in  CCITT Rec. T.410  series |  ISO 8613  is
  7240.           assumed.
  7241.  
  7242.  
  7243.           6.6.4.2  Comments character sets
  7244.  
  7245.           The character sets assumed to have been designated and optionally
  7246.           invoked at the  beginning of the  character strings specified  by
  7247.           the attributes  "user readable  comments" (see  6.6.7) and  "user
  7248.           visible name"    (see 6.6.8)  are  specified using  the  document
  7249.           profile attribute "comments character sets".
  7250.  
  7251.           It also specifies the code  extension techniques and the  graphic
  7252.           character sets which may be used in the attributes "user readable
  7253.           comments" and "user visible name".
  7254.  
  7255.           If this  attribute is  specified, the  code extension  techniques
  7256.  
  7257.                                           98
  7258.  
  7259.  
  7260.  
  7261.  
  7262.  
  7263.  
  7264.  
  7265.  
  7266.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7267.  
  7268.           which may  be used in the attributes "user readable comments" and
  7269.           "user  visible name"  shall  be  announced  by  appropriate  code
  7270.           extension announcers.  The  use of G0 set and GL  shall always be
  7271.           announced.  Other  code extension announcers are  to be specified
  7272.           according to the requirements of a particular document.
  7273.  
  7274.           Two  kinds of  code extension  techniques are permitted  for this
  7275.           attribute.  One is to use GL and GR without shift  functions, and
  7276.           the other  is to use various  character sets by  shift functions.
  7277.           The  former is  rather  restricted, but  no  shift functions  are
  7278.           necessary  in  the  "user readable  comments"  and  "user visible
  7279.           name".  The  same restrictions as in  6.7.4.1 is applied  in this
  7280.           case.  
  7281.  
  7282.           The   latter  permits  various  usages  of  character  sets,  but
  7283.           invocations shall  be specified by  shift functions in  the "user
  7284.           readable comment" and "user visible  name".  The same restriction
  7285.           as in 6.5.1.4 is applied in this case.
  7286.  
  7287.           All  the  graphic  character  sets  which  may  be  used  in  the
  7288.           attributes "user readable comments" and "user visible name" shall
  7289.           be designated in the "comments character sets".
  7290.  
  7291.           There  are no  restrictions  concerning  the  number  of  graphic
  7292.           character  sets  which  are  designated  and/or  invoked  in  the
  7293.           "comments character  sets"; hence designation  to the same  G set
  7294.           overrides the previous G set.
  7295.  
  7296.           If  the attribute "comments character sets" is not specified, the
  7297.           default defined in CCITT Rec. T.410 series | ISO 8613 is assumed.
  7298.  
  7299.  
  7300.           6.6.4.3  Alternative representation character sets
  7301.  
  7302.           This  attribute specifies  the graphic character  sets designated
  7303.           and  invoked at  the  beginning  of  the  attribute  "alternative
  7304.           representation" other than the standard default graphic character
  7305.           sets.
  7306.  
  7307.           The restriction on profile character sets described in 6.7.4.1 is
  7308.           also applied.  If this  attribute is not explicitly specified  in
  7309.           the  document profile,  the default defined  in CCITT  Rec. T.410
  7310.           series | ISO 8613 is assumed.
  7311.  
  7312.  
  7313.           6.6.5  Fonts list
  7314.  
  7315.           This  information specifies all  the fonts  (if any) used  in the
  7316.           document.   It is specified using the attribute "fonts list" (see
  7317.           clause B.2).
  7318.  
  7319.  
  7320.  
  7321.  
  7322.  
  7323.                                           99
  7324.  
  7325.  
  7326.  
  7327.  
  7328.  
  7329.  
  7330.  
  7331.  
  7332.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7333.  
  7334.           6.6.6  Document management attributes
  7335.  
  7336.           Document  management  attributes  contain  information about  the
  7337.           content of the document and its purpose.  Information relating to
  7338.           the following may be specified:
  7339.  
  7340.                                document description (see the note below);
  7341.  
  7342.                               dates and times;
  7343.  
  7344.                               originators;
  7345.  
  7346.                               other user information;
  7347.  
  7348.                               external references;
  7349.  
  7350.                               local file references;
  7351.  
  7352.                               content attributes;
  7353.  
  7354.                               security information.
  7355.  
  7356.           The attributes that may be  used to specify this information  are
  7357.           defined in CCITT Rec. T.414 | ISO 8613-4.
  7358.  
  7359.           The   string  of  characters  used  in  the  document  management
  7360.           attributes shall belong  to the character  sets indicated in  the
  7361.           document  profile   attribute  "profile   character  sets"   (see
  7362.           6.7.4.1).  If the latter attribute is not explicitly specified in
  7363.           the  document  profile, then  the  default character  set  is the
  7364.           minimum subrepertoire of ISO 6937-2.
  7365.  
  7366.           The control  functions space (SP), carriage return  (CR) and line
  7367.           feed (LF) may also be used  within the character strings, but  no
  7368.           other  control functions  are allowed.    Therefore, the  graphic
  7369.           character  set cannot  be  changed  in  the  document  management
  7370.           attributes.
  7371.  
  7372.              NOTE - The document description  includes the specification  of
  7373.              the document reference (see 6.7.2.6).
  7374.  
  7375.  
  7376.           6.6.6.1  Additional information
  7377.  
  7378.           This attribute  is required to be specified with the value "Level
  7379.           2 to Level 3 Migration DAP". 
  7380.  
  7381.           This  permits applications to distinguish FOD36 | PM-36 documents
  7382.           which adhere to the Implementation Support Requirements specified
  7383.           in this document from fully-functional FOD36 | PM-36 documents.
  7384.  
  7385.  
  7386.  
  7387.  
  7388.  
  7389.                                          100
  7390.  
  7391.  
  7392.  
  7393.  
  7394.  
  7395.  
  7396.  
  7397.  
  7398.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7399.  
  7400.  
  7401.  
  7402.           7  Specification of constituent constraints
  7403.  
  7404.           This  clause   specifies  the  definition   of  the   constituent
  7405.           constraints which may  be represented by data  streams conforming
  7406.           to this Specification.
  7407.  
  7408.           7.1  Introduction
  7409.  
  7410.           The structure diagrams illustrating the relationships between the
  7411.           constituents in the logical structures  are shown in 7.1.1.   The
  7412.           macros indicated on these diagrams  are defined in 7.3.1.   These
  7413.           macros define the permissible values for the attribute "generator
  7414.           for  subordinates" that are  applicable to the  constituents, and
  7415.           define   the  allowed  structures  that  are  supported  by  this
  7416.           Specification.
  7417.  
  7418.           The  structure diagrams  illustrating  the layout  structures are
  7419.           shown  in  7.1.2. The  macros  indicated  in  these diagrams  are
  7420.           defined in 7.4.1.
  7421.  
  7422.  
  7423.           7.1.1  Diagrams of relationships of logical constituents
  7424.  
  7425.  
  7426.  
  7427.  
  7428.  
  7429.  
  7430.  
  7431.  
  7432.  
  7433.  
  7434.  
  7435.  
  7436.  
  7437.  
  7438.  
  7439.  
  7440.  
  7441.  
  7442.  
  7443.  
  7444.                      Figure 16   DocumentLogicalRoot, 1st level 
  7445.  
  7446.  
  7447.  
  7448.  
  7449.  
  7450.  
  7451.  
  7452.  
  7453.  
  7454.  
  7455.                                          101
  7456.  
  7457.  
  7458.  
  7459.  
  7460.  
  7461.  
  7462.  
  7463.  
  7464.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7465.  
  7466.  
  7467.  
  7468.  
  7469.  
  7470.  
  7471.  
  7472.  
  7473.  
  7474.  
  7475.  
  7476.  
  7477.  
  7478.  
  7479.  
  7480.  
  7481.  
  7482.  
  7483.  
  7484.  
  7485.  
  7486.  
  7487.  
  7488.  
  7489.  
  7490.  
  7491.  
  7492.  
  7493.                       Figure 17   DocumentLogicalRoot, 2nd level
  7494.  
  7495.  
  7496.  
  7497.  
  7498.  
  7499.  
  7500.  
  7501.  
  7502.  
  7503.  
  7504.  
  7505.  
  7506.  
  7507.  
  7508.  
  7509.                           Figure 18   Paragraph and ListTerm
  7510.  
  7511.  
  7512.  
  7513.  
  7514.  
  7515.  
  7516.  
  7517.  
  7518.  
  7519.  
  7520.  
  7521.                                          102
  7522.  
  7523.  
  7524.  
  7525.  
  7526.  
  7527.  
  7528.  
  7529.  
  7530.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7531.  
  7532.  
  7533.  
  7534.  
  7535.  
  7536.  
  7537.  
  7538.  
  7539.  
  7540.  
  7541.  
  7542.  
  7543.  
  7544.                                   Figure 19   Phrase
  7545.  
  7546.  
  7547.  
  7548.  
  7549.  
  7550.  
  7551.  
  7552.  
  7553.  
  7554.  
  7555.  
  7556.  
  7557.  
  7558.  
  7559.  
  7560.  
  7561.  
  7562.  
  7563.  
  7564.  
  7565.  
  7566.  
  7567.  
  7568.  
  7569.                                  Figure 20   Footnote
  7570.  
  7571.  
  7572.  
  7573.  
  7574.  
  7575.  
  7576.  
  7577.  
  7578.  
  7579.  
  7580.  
  7581.  
  7582.  
  7583.  
  7584.  
  7585.  
  7586.  
  7587.                                          103
  7588.  
  7589.  
  7590.  
  7591.  
  7592.  
  7593.  
  7594.  
  7595.  
  7596.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7597.  
  7598.  
  7599.  
  7600.  
  7601.  
  7602.  
  7603.  
  7604.  
  7605.  
  7606.  
  7607.  
  7608.  
  7609.  
  7610.  
  7611.  
  7612.  
  7613.  
  7614.  
  7615.  
  7616.  
  7617.  
  7618.  
  7619.  
  7620.  
  7621.  
  7622.                                   Figure 21   Table
  7623.  
  7624.  
  7625.  
  7626.  
  7627.  
  7628.  
  7629.  
  7630.  
  7631.  
  7632.  
  7633.                                 Figure 22   Reference
  7634.  
  7635.  
  7636.  
  7637.  
  7638.  
  7639.  
  7640.  
  7641.  
  7642.  
  7643.  
  7644.  
  7645.  
  7646.  
  7647.  
  7648.  
  7649.  
  7650.  
  7651.  
  7652.  
  7653.                                          104
  7654.  
  7655.  
  7656.  
  7657.  
  7658.  
  7659.  
  7660.  
  7661.  
  7662.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7663.  
  7664.  
  7665.  
  7666.  
  7667.  
  7668.  
  7669.  
  7670.  
  7671.  
  7672.  
  7673.  
  7674.  
  7675.  
  7676.  
  7677.  
  7678.  
  7679.  
  7680.  
  7681.                                Figure 23   NumberedList
  7682.  
  7683.  
  7684.  
  7685.  
  7686.  
  7687.  
  7688.  
  7689.  
  7690.  
  7691.  
  7692.  
  7693.  
  7694.  
  7695.  
  7696.  
  7697.  
  7698.  
  7699.  
  7700.  
  7701.  
  7702.  
  7703.                               Figure 24   UnNumberedList
  7704.  
  7705.  
  7706.  
  7707.  
  7708.  
  7709.  
  7710.  
  7711.  
  7712.  
  7713.  
  7714.  
  7715.  
  7716.  
  7717.  
  7718.  
  7719.                                          105
  7720.  
  7721.  
  7722.  
  7723.  
  7724.  
  7725.  
  7726.  
  7727.  
  7728.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7729.  
  7730.  
  7731.  
  7732.  
  7733.  
  7734.  
  7735.  
  7736.  
  7737.  
  7738.  
  7739.  
  7740.  
  7741.  
  7742.  
  7743.  
  7744.  
  7745.  
  7746.  
  7747.                               Figure 25   DefinitionList
  7748.  
  7749.  
  7750.  
  7751.  
  7752.  
  7753.  
  7754.  
  7755.  
  7756.  
  7757.  
  7758.  
  7759.  
  7760.                               Figure 26   CommonContent
  7761.  
  7762.  
  7763.           Diagrams of relationships of layout constituents
  7764.  
  7765.  
  7766.  
  7767.  
  7768.  
  7769.  
  7770.  
  7771.  
  7772.  
  7773.  
  7774.  
  7775.  
  7776.  
  7777.  
  7778.  
  7779.  
  7780.                             Figure 27   DocumentLayoutRoot
  7781.  
  7782.  
  7783.  
  7784.  
  7785.                                          106
  7786.  
  7787.  
  7788.  
  7789.  
  7790.  
  7791.  
  7792.  
  7793.  
  7794.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7795.  
  7796.  
  7797.  
  7798.  
  7799.  
  7800.  
  7801.  
  7802.  
  7803.  
  7804.  
  7805.  
  7806.  
  7807.  
  7808.  
  7809.  
  7810.  
  7811.  
  7812.  
  7813.  
  7814.  
  7815.  
  7816.                       Figure 28   Page, RectoPage and VersoPage
  7817.  
  7818.  
  7819.  
  7820.  
  7821.  
  7822.  
  7823.  
  7824.  
  7825.  
  7826.  
  7827.  
  7828.  
  7829.  
  7830.  
  7831.  
  7832.  
  7833.  
  7834.  
  7835.  
  7836.  
  7837.  
  7838.  
  7839.  
  7840.  
  7841.  
  7842.  
  7843.  
  7844.  
  7845.  
  7846.  
  7847.  
  7848.  
  7849.  
  7850.  
  7851.                                          107
  7852.  
  7853.  
  7854.  
  7855.  
  7856.  
  7857.  
  7858.  
  7859.  
  7860.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7861.  
  7862.  
  7863.  
  7864.  
  7865.  
  7866.  
  7867.  
  7868.  
  7869.  
  7870.  
  7871.  
  7872.  
  7873.  
  7874.  
  7875.  
  7876.  
  7877.                    Figure 29   CompositeHeader and CompositeFooter
  7878.  
  7879.  
  7880.  
  7881.  
  7882.  
  7883.  
  7884.  
  7885.  
  7886.  
  7887.  
  7888.  
  7889.  
  7890.  
  7891.  
  7892.  
  7893.  
  7894.  
  7895.  
  7896.  
  7897.  
  7898.  
  7899.  
  7900.  
  7901.  
  7902.  
  7903.  
  7904.  
  7905.  
  7906.  
  7907.  
  7908.                           Figure 30   VariableCompositeBody
  7909.  
  7910.  
  7911.  
  7912.  
  7913.  
  7914.  
  7915.  
  7916.  
  7917.                                          108
  7918.  
  7919.  
  7920.  
  7921.  
  7922.  
  7923.  
  7924.  
  7925.  
  7926.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7927.  
  7928.  
  7929.  
  7930.  
  7931.  
  7932.  
  7933.  
  7934.  
  7935.  
  7936.  
  7937.  
  7938.  
  7939.  
  7940.  
  7941.                                 Figure 31   TableArea
  7942.  
  7943.  
  7944.  
  7945.  
  7946.           7.1.2  Notation
  7947.  
  7948.  
  7949.           This   clause  is  written   in  accordance  with   the  Document
  7950.           Application Profile Proforma  and Notation (DAPPN) of  CCITT Rec.
  7951.           T.411  | ISO  8613-1, Annex F.  The following  clarifications and
  7952.           minor extensions apply:
  7953.  
  7954.                             a) [Clarification] 
  7955.                          The value range definition for the attributes
  7956.                "subordinates" and  "imaging-order" specify the  set of
  7957.                object  instances that  may  occur.  The  ordering  and
  7958.                number (which may be zero)  of object instances for the
  7959.                attribute  "subordinates" shall  be in  accordance with
  7960.                the value of the attribute "generator for subordinates"
  7961.                in the respective object class.
  7962.  
  7963.                             b) [Clarification] 
  7964.                          The  value  "ANY_STRING"  may  include   code
  7965.                extension   control  functions   as  well   as  graphic
  7966.                characters.
  7967.  
  7968.                             c)  [Extension] 
  7969.                          In order  to write  the  specification of  the
  7970.                usage  of  character sets  and  code  extension control
  7971.                functions  precisely,  the  following  extensions   are
  7972.                applied:
  7973.  
  7974.                                       1)   Table  5  defines  the  symbols  that  are
  7975.                     introduced to denote shift functions.
  7976.  
  7977.  
  7978.  
  7979.  
  7980.  
  7981.  
  7982.  
  7983.                                          109
  7984.  
  7985.  
  7986.  
  7987.  
  7988.  
  7989.  
  7990.  
  7991.  
  7992.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  7993.  
  7994.                      Table 5   Symbols to denote shift functions
  7995.  
  7996.  
  7997.              Symbol  Shift function             Coded representation
  7998.              LS0     Locking shift zero         00/15
  7999.  
  8000.              LS1R    Locking shift one right    ESC 07/14
  8001.  
  8002.              LS2R    Locking shift two right    ESC 07/13
  8003.              LS3R    Locking shift three right  ESC 07/12
  8004.  
  8005.              SS2     Single shift two           08/14
  8006.  
  8007.              SS3     Single shift three         08/15
  8008.  
  8009.           
  8010.  
  8011.                                       2)  <escape-sequence>  is extended  to  include
  8012.                     shift functions:
  8013.                          <escape-sequence>     ::=     'ESC'     <octet>...
  8014.           [<invocation-control-function>];
  8015.                          <invocation-control-function>                  ::=
  8016.           'LS0'|'LS1R'|'LS2R'|'LS3R'|'SS2'|'SS3';
  8017.  
  8018.                                       3) Data type specification  for #ESC in content
  8019.                     information is extended as:
  8020.                          <escape-sequence>...
  8021.           [Clarification]
  8022.           When an  attribute value  is  specified by  a set  of  production
  8023.           rules,  a  non-terminal symbol  which occurs  first is  its start
  8024.           symbol.  Note that  start  symbols other  than  <object-id-expr>,
  8025.           <string-expr> and <construction-expr> are used.
  8026.                             d) [Extension] 
  8027.                     Data   type   specifications  other   than   those
  8028.                specified in the tables in  DAPPN are applied for  some
  8029.                attributes within  the  range that  the base  standards
  8030.                permit.
  8031.  
  8032.                             e)  [Extension] 
  8033.                        "|" is used in CASE SUPERIOR  expressions in the
  8034.                following format in order to shorten the text:
  8035.                   CASE    SUPERIOR   ({const1|const2|...|constn}(aaaa))   OF
  8036.           {.......}
  8037.                   where  "const1,  const2,  ...  ,  constn"   are  names  of
  8038.           constituent constraints, and "aaaa" is the 
  8039.                   name of an attribute. 
  8040.  
  8041.                This expression is equivalent to the following expression:
  8042.                   CASE SUPERIOR (const1(aaaa)) OF {.......}
  8043.                   CASE SUPERIOR (const2(aaaa)) OF {.......}
  8044.                     . . . .
  8045.                   CASE SUPERIOR (constn(aaaa)) OF {.......}
  8046.  
  8047.                When CASE SUPERIOR  is evaluated, constituents  are searched
  8048.  
  8049.                                          110
  8050.  
  8051.  
  8052.  
  8053.  
  8054.  
  8055.  
  8056.  
  8057.  
  8058.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8059.  
  8060.           from the immediate superior        to the  root.  Only  the first
  8061.           one  which satisfies one  of the constituent  constraints const1,
  8062.           const2, 
  8063.                ...., and constn is selected, and the attribute "aaaa" in it
  8064.           is tested.
  8065.  
  8066.  
  8067.           7.2  Document profile constituent constraints
  8068.  
  8069.  
  8070.           7.2.1  Macro definitions
  8071.  
  8072.           DEFINE(FC, "ASN.1{2 8 2 6 0}" -- formatted character content --)
  8073.           DEFINE(PC,  "ASN.1{2 8 2  6 1}" --  processable character content
  8074.           --)
  8075.           DEFINE(FPC, "ASN.1{2 8 2 6 2}" -- formatted processable character
  8076.           content --)
  8077.           DEFINE(FPR, "ASN.1{2 8  2 7 2}"  -- formatted processable  raster
  8078.           graphics content --)
  8079.           DEFINE(FPG, "ASN.1{2 8 2 8 0}" -- formatted processable geometric
  8080.           graphics content --)
  8081.  
  8082.  
  8083.           DEFINE(FDA,         "{'formatted'}")
  8084.           DEFINE(PDA,         "{'processable'}")
  8085.           DEFINE(FPDA,   "{'formatted-processable'}")
  8086.           DEFINE(PDA-FPDA,    "{'processable'|'formatted-processable'}")
  8087.  
  8088.           DEFINE(DAC, "DocumentProfile (Document-architecture-class)")
  8089.           DEFINE(GLAS, "DocumentProfile (Generic-layout-structure)")
  8090.           DEFINE(COMPLETE, "{'complete-generator-set'}")
  8091.  
  8092.  
  8093.           DEFINE(BasicPageDimensions, "
  8094.                       REQ #horizontal-dimension 
  8095.                          {REQ #fixed-dimension{<=9240}},
  8096.                       REQ #vertical-dimension   
  8097.                          {REQ #fixed-dimension{<=12400}}
  8098.                     | REQ #horizontal-dimension 
  8099.                          {REQ #fixed-dimension{<=12400}},
  8100.                       REQ #vertical-dimension   
  8101.                          {REQ #fixed-dimension{<=9240}} ")
  8102.  
  8103.           --   Any  size equal  to  or smaller  than  CARA (Common  Assured
  8104.                Reproduction Area) of  ISO A4 and ANSI A.  Both Portrait and
  8105.                Landscape may  be specified.  Note  that the above  macro is
  8106.                defined  for clarification of  the specification and  is not
  8107.                used in any other part of this DAP. --
  8108.  
  8109.  
  8110.           DEFINE(NonBasicPageDimensions, "
  8111.                      REQ #horizontal-dimension
  8112.                          {REQ #fixed-dimension{<=14030}},
  8113.                      REQ #vertical-dimension
  8114.  
  8115.                                          111
  8116.  
  8117.  
  8118.  
  8119.  
  8120.  
  8121.  
  8122.  
  8123.  
  8124.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8125.  
  8126.                          {REQ #fixed-dimension {12401..19840}}
  8127.                     |REQ #horizontal-dimension
  8128.                     {REQ #fixed-dimension{9241..14030}},
  8129.                      REQ #vertical-dimension
  8130.                          {REQ #fixed-dimension {<=19840}}
  8131.                                    -- up to ISO A3 portrait --
  8132.                     |REQ #horizontal-dimension
  8133.                          {REQ #fixed-dimension {<=19840}},
  8134.                      REQ #vertical-dimension
  8135.                          {REQ #fixed-dimension {9241..14030}}
  8136.                     |REQ #horizontal-dimension
  8137.                          {REQ #fixed-dimension {12401..19840}},
  8138.                      REQ #vertical-dimension
  8139.                          {REQ #fixed-dimension {<=14030}}
  8140.                                    -- up to ISO A3 landscape --
  8141.                     |REQ #horizontal-dimension
  8142.                          {REQ #fixed-dimension {<=13200}},
  8143.                      REQ #vertical-dimension
  8144.                          {REQ #fixed-dimension {12401..20400}}
  8145.                     |REQ #horizontal-dimension
  8146.                          {REQ #fixed-dimension {9241..13200}},
  8147.                      REQ #vertical-dimension
  8148.                          {REQ #fixed-dimension {<=20400}}
  8149.                                    -- up to ANSI B portrait --
  8150.                     |REQ #horizontal-dimension
  8151.                          {REQ #fixed-dimension {<=20400}},
  8152.                      REQ #vertical-dimension
  8153.                          {REQ #fixed-dimension {9241..13200}}
  8154.                     |REQ #horizontal-dimension
  8155.                          {REQ #fixed-dimension {12401..20400}},
  8156.                      REQ #vertical-dimension
  8157.                          {REQ #fixed-dimension {<=13200}}
  8158.                                    -- up to ANSI B landscape --
  8159.                     |REQ #horizontal-dimension
  8160.                          {REQ #fixed-dimension {<=12141}},
  8161.                      REQ #vertical-dimension
  8162.                          {REQ #fixed-dimension {12401..17196}}
  8163.                     |REQ #horizontal-dimension
  8164.                          {REQ #fixed-dimension {9241..12141}},
  8165.                      REQ #vertical-dimension
  8166.                          {REQ #fixed-dimension {<=17196}}
  8167.                                    -- up to JIS B4(Japanese legal) portrait
  8168.           --
  8169.                     |REQ #horizontal-dimension
  8170.                          {REQ #fixed-dimension {<=17196}},
  8171.                      REQ #vertical-dimension
  8172.                          {REQ #fixed-dimension {9241..12141}}
  8173.                     |REQ #horizontal-dimension
  8174.                          {REQ #fixed-dimension {12401..17196}},
  8175.                      REQ #vertical-dimension
  8176.                          {REQ #fixed-dimension {<=12141}}
  8177.                                    --   up   to   JIS   B4(Japanese  legal)
  8178.           landscape -- 
  8179.           ")
  8180.  
  8181.                                          112
  8182.  
  8183.  
  8184.  
  8185.  
  8186.  
  8187.  
  8188.  
  8189.  
  8190.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8191.  
  8192.  
  8193.           DEFINE(PermissiblePageDimensions, "
  8194.                      REQ #horizontal-dimension
  8195.                          {REQ #fixed-dimension {<=14030}},
  8196.                      REQ #vertical-dimension
  8197.                          {REQ #fixed-dimension  {<=19840}} -- up to  ISO A3
  8198.           portrait --
  8199.                     |REQ #horizontal-dimension
  8200.                          {REQ #fixed-dimension {<=19840}},
  8201.                      REQ #vertical-dimension
  8202.                          {REQ #fixed-dimension  {<=14030}} -- up to  ISO A3
  8203.           landscape --
  8204.                     |REQ #horizontal-dimension
  8205.                          {REQ #fixed-dimension {<=13200}},
  8206.                      REQ #vertical-dimension
  8207.                          {REQ #fixed-dimension {<=20400}} --  up to ANSI  B
  8208.           portrait --
  8209.                     |REQ #horizontal-dimension
  8210.                          {REQ #fixed-dimension {<=20400}},
  8211.                      REQ #vertical-dimension
  8212.                          {REQ #fixed-dimension {<=13200}}  -- up to  ANSI B
  8213.           landscape --
  8214.           ")
  8215.  
  8216.  
  8217.           DEFINE(NominalPageSizes,  "
  8218.                  REQ #horizontal-dimension {7015},     R        E        Q
  8219.           #vertical-dimension {9920}
  8220.                                         -- ISO A5 portrait  --
  8221.                | REQ #horizontal-dimension {9920},     R        E        Q
  8222.           #vertical-dimension {7015}
  8223.                                         -- ISO A5 landscape--
  8224.                | REQ #horizontal-dimension {9920},     R        E        Q
  8225.           #vertical-dimension {14030}
  8226.                                         -- ISO A4 portrait --
  8227.                | REQ #horizontal-dimension {14030},    R        E        Q
  8228.           #vertical-dimension {9920}
  8229.                                         -- ISO A4 landscape--
  8230.                | REQ #horizontal-dimension {14030},    R        E        Q
  8231.           #vertical-dimension {19840}
  8232.                                         -- ISO A3 portrait --
  8233.                | REQ #horizontal-dimension {19840},    R        E        Q
  8234.           #vertical-dimension {14030}
  8235.                                         -- ISO A3 landscape --
  8236.                | REQ #horizontal-dimension {10200},    R        E        Q
  8237.           #vertical-dimension {16800}
  8238.                                         -- ANSI legal portrait --
  8239.                | REQ #horizontal-dimension {16800},    R        E        Q
  8240.           #vertical-dimension {10200}
  8241.                                         -- ANSI legal landscape --
  8242.                | REQ #horizontal-dimension {10200},    R        E        Q
  8243.           #vertical-dimension {13200}
  8244.                                         -- ANSI A portrait  --
  8245.                | REQ #horizontal-dimension {13200},    R        E        Q
  8246.  
  8247.                                          113
  8248.  
  8249.  
  8250.  
  8251.  
  8252.  
  8253.  
  8254.  
  8255.  
  8256.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8257.  
  8258.           #vertical-dimension {10200}
  8259.                                         -- ANSI A landscape --
  8260.                | REQ #horizontal-dimension {13200},    R        E        Q
  8261.           #vertical-dimension {20400}
  8262.                                         -- ANSI B portrait --
  8263.                | REQ #horizontal-dimension {20400},    R        E        Q
  8264.           #vertical-dimension {13200}
  8265.                                         -- ANSI B landscape --
  8266.                | REQ #horizontal-dimension {12141},    R        E        Q
  8267.           #vertical-dimension {17196}
  8268.                                         -- JIS B4 (Japanese legal) portrait
  8269.           --
  8270.                | REQ #horizontal-dimension {17196},    R        E        Q
  8271.           #vertical-dimension {12141}
  8272.                                         --   JIS   B4    (Japanese   legal)
  8273.           landscape --
  8274.                | REQ #horizontal-dimension {8598},     R        E        Q
  8275.           #vertical-dimension {12141}
  8276.                                         --   JIS   B5   (Japanese   letter)
  8277.           portrait --
  8278.                | REQ #horizontal-dimension {12141},    R        E        Q
  8279.           #vertical-dimension {8598}
  8280.                                         --   JIS   B5   (Japanese   letter)
  8281.           landscape--
  8282.           ")
  8283.  
  8284.  
  8285.           DEFINE(GRAPHICRENDITIONS, "
  8286.                {'cancel'|'increased-intensity'
  8287.                |'italicised'|'underlined'|'crossed-out'
  8288.                |'primary-font'|'first-alternative-font'
  8289.                |'second-alternative-font' |'third-alternative-font'
  8290.                |'fourth-alternative-font' |'fifth-alternative-font'
  8291.                |'sixth-alternative-font'|'seventh-alternative-font'
  8292.                |'eighth-alternative-font' |'ninth-alternative-font'
  8293.                |'doubly-underlined' |'normal-intensity' |'not-italicised'
  8294.                |'not-underlined'|'not-crossed-out' }... ")
  8295.  
  8296.  
  8297.           --   Macro defining  permissible code extension  announcers. Note
  8298.                that all the values are basic. --
  8299.  
  8300.           DEFINE(CDEXTEN,     "ESC 02/00 05/00,   -- Use G0 & LS0  --
  8301.                          [ESC 02/00 05/03] , -- Use G1 & LS1R --
  8302.                          [ESC 02/00 05/05] , -- Use G2 & LS2R --
  8303.                          [ESC 02/00 05/07] , -- Use G3 & LS3R --
  8304.                          [ESC 02/00 05/10] , -- Use G2 & SS2  --
  8305.                          [ESC 02/00 05/11]   -- Use G3 & SS3  --
  8306.           ")
  8307.  
  8308.  
  8309.           -- Macro defining code extension announcers for DAP defaults --
  8310.  
  8311.           DEFINE(DAP-DEFAULT-CDEXTEN, "$CDEXTEN")
  8312.  
  8313.                                          114
  8314.  
  8315.  
  8316.  
  8317.  
  8318.  
  8319.  
  8320.  
  8321.  
  8322.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8323.  
  8324.  
  8325.           -- Macros defining final character for designation --
  8326.  
  8327.           DEFINE(FCORE,  "04/02      -- A final character designating  ISO-
  8328.           IR 6 (the IRV of ISO/IEC 646,
  8329.  
  8330.           DEFINE(F646,   "    -- A final character designating any  version
  8331.                               of ISO/IEC 646 except ISO-IR 6 --")
  8332.  
  8333.           DEFINE(F94S,   "    --   A   final   character   designating  any
  8334.                               registered 94 single  byte  graphic character
  8335.                               set,  optionally  preceded  by  one  or  more
  8336.                               intermediate characters as defined in annex C
  8337.                               of ISO 2022 --")
  8338.  
  8339.           DEFINE(F94M,   "    --   A   final   character   designating  any
  8340.                               registered 94  multi  byte graphic  character
  8341.                               set,  optionally  preceded  by  one  or  more
  8342.                               intermediate characters as defined in annex C
  8343.                               of ISO 2022 --")
  8344.  
  8345.           DEFINE(F96S,   "    --   A   final   character   designating  any
  8346.                               registered  96 single byte  graphic character
  8347.                               set,  optionally  preceded  by  one  or  more
  8348.                               intermediate characters as defined in annex C
  8349.                               of ISO 2022 --")  
  8350.  
  8351.           DEFINE(F96M,   "    --   A   final   character   designating  any
  8352.                               registered 96  multi  byte graphic  character
  8353.                               set,  optionally  preceded  by  one  or  more
  8354.                               intermediate characters as defined in annex C
  8355.                               of ISO 2022  --")
  8356.  
  8357.           DEFINE(FEMPTY, "07/14  -- The empty set --")
  8358.  
  8359.  
  8360.           -- Macro defining a revision number of a character set --
  8361.  
  8362.           DEFINE(REV,      "--  An octet  between  04/00 and  07/14,  which
  8363.           represents a revision number as defined in ISO 2022. --")
  8364.  
  8365.  
  8366.           -- Macros defining designation sequences --
  8367.  
  8368.           DEFINE(DEG-CORE-G0, "ESC 02/08 $FCORE")
  8369.                                --  Designate 94 characters of ISO IR 6 (the
  8370.           IRV of ISO/IEC 646) to G0 --
  8371.  
  8372.           DEFINE(DEG-646-G0,       "ESC 02/08 $F646")
  8373.                                --  Designate any  version  of ISO/IEC  646,
  8374.           except ISO-IR 6, to G0 --
  8375.  
  8376.           DEFINE(DEG-ANY-G1,  "{[ESC 02/06 $REV]
  8377.                                 { ESC 02/09 $F94S
  8378.  
  8379.                                          115
  8380.  
  8381.  
  8382.  
  8383.  
  8384.  
  8385.  
  8386.  
  8387.  
  8388.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8389.  
  8390.                                  |ESC 02/04 02/09 $F94M
  8391.                                  |ESC 02/13 $F96S
  8392.                                  |ESC 02/04 02/13 $F96M}}")
  8393.                                -- Designate any character set to G1 --
  8394.  
  8395.           DEFINE(DEG-ANY-G2,  "{[ESC 02/06 $REV]
  8396.                                 { ESC 02/10 $F94S
  8397.                                 | ESC 02/04 02/10 $F94M
  8398.                                 | ESC 02/14 $F96S
  8399.                                 | ESC 02/04 02/14 $F96M}}")
  8400.                                -- Designate any character set to G2 --
  8401.  
  8402.           DEFINE(DEG-ANY-G3,  "{[ESC 02/06 $REV]
  8403.                                 { ESC 02/11 $F94S
  8404.                                 | ESC 02/04 02/11 $F94M
  8405.                                 | ESC 02/15 $F96S
  8406.                                 | ESC 02/04 02/15 $F96M}}")
  8407.                                -- Designate any character set to G3 --
  8408.  
  8409.           DEFINE(DEG-EMPTY-G1,     "ESC 02/09 $FEMPTY")
  8410.                                -- Designate the empty set to G1 --
  8411.  
  8412.  
  8413.           --   Macro defining permissible graphic character sets. --
  8414.  
  8415.           DEFINE(PERMIT-GRCHAR,  "{$DEG-CORE-G0 LS0 
  8416.                           |$DEG-646-G0 LS0},
  8417.                          {{$DEG-ANY-G1 LS1R
  8418.                           |$DEG-ANY-G2 LS2R
  8419.                           |$DEG-ANY-G3 LS3R}...
  8420.                           |$DEG-EMPTY-G1 LS1R}")
  8421.  
  8422.  
  8423.           -- Macro defining graphic character sets for DAP defaults --
  8424.  
  8425.           DEFINE(DAP-DEFAULT-GRCHAR, "$PERMIT-GRCHAR")
  8426.  
  8427.  
  8428.           --   Macro  defining basic graphic character sets. Note that this
  8429.                macro  is defined for clarification of the specification and
  8430.                is not used in any other part of this DAP. --
  8431.  
  8432.           DEFINE(BASIC-GRCHAR,     "$DEG-CORE-G0 LS0,
  8433.                                $DEG-EMPTY-G1 LS1R")
  8434.  
  8435.  
  8436.           -- Macro defining non-basic graphic character sets --
  8437.  
  8438.           DEFINE(NON-BASIC-GRCHAR, "{$DEG-646-G0
  8439.                                     |$DEG-ANY-G1
  8440.                                     |$DEG-ANY-G2
  8441.                                     |$DEG-ANY-G3}...")
  8442.  
  8443.  
  8444.  
  8445.                                          116
  8446.  
  8447.  
  8448.  
  8449.  
  8450.  
  8451.  
  8452.  
  8453.  
  8454.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8455.  
  8456.           --  Macro  defining  character  sets  used  in  document  profile
  8457.           attributes --
  8458.  
  8459.           DEFINE(PROFCHAR, "
  8460.                ESC 02/00 04/03               --  announcement of use  of G0
  8461.           and G1, and invocation
  8462.                                         into GL  and  GR respectively.  (no
  8463.           shift functions are
  8464.                                         necessary) --
  8465.  
  8466.                {$DEG-CORE-G0 | $DEG-646-G0 } -- designate G0 --
  8467.                {$DEG-ANY-G1  | $DEG-EMPTY-G1 }    -- designate G1 --
  8468.           ")
  8469.  
  8470.  
  8471.  
  8472.           -- Macro defining comments character sets --
  8473.  
  8474.           DEFINE(COMCHAR,  "
  8475.                -- in the case to use both GL and GR without shift functions
  8476.           --
  8477.                ESC 02/00 04/03               --  announcement of use  of G0
  8478.           and G1, and invocation 
  8479.                                         into GL  and  GR respectively.  (no
  8480.           shift functions are
  8481.                                         necessary) --
  8482.  
  8483.                { $DEG-CORE-G0 | $DEG-646-G0 }     -- designate G0 --
  8484.                { $DEG-ANY-G1  | $DEG-EMPTY-G1 }   -- designate G1 --
  8485.  
  8486.                 |   -- in  the case of use of various character sets (shift
  8487.           functions are necessary) --
  8488.                {ESC 02/00 05/00,                  -- announcement to use G0
  8489.           and LS0  --
  8490.                [ESC 02/00 05/03],                 -- announcement to use G1
  8491.           and LS1R --
  8492.                [ESC 02/00 05/05],                 -- announcement to use G2
  8493.           and LS2R --
  8494.                [ESC 02/00 05/07],                 -- announcement to use G3
  8495.           and LS3R --
  8496.                [ESC 02/00 05/10],                 -- announcement to use G2
  8497.           and SS2  --
  8498.                [ESC 02/00 05/11] }                -- announcement to use G3
  8499.           and SS3  --
  8500.  
  8501.                { $DEG-CORE-G0 | $DEG-646-G0 }     -- designate G0 --
  8502.  
  8503.                {{$DEG-ANY-G1            -- designate G1 --
  8504.                |$DEG-ANY-G2             -- designate G2 --
  8505.                |$DEG-ANY-G3}...              -- designate G3 --
  8506.                |$DEG-EMPTY-G1}
  8507.           ")
  8508.  
  8509.  
  8510.  
  8511.                                          117
  8512.  
  8513.  
  8514.  
  8515.  
  8516.  
  8517.  
  8518.  
  8519.  
  8520.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8521.  
  8522.           --   Macro   defining  character   sets   used   for  alternative
  8523.           representation --
  8524.  
  8525.           DEFINE(ALTCHAR, "$PROFCHAR")
  8526.  
  8527.  
  8528.           7.2.2  Constituent constraints
  8529.  
  8530.  
  8531.           7.2.2.1  DocumentProfile
  8532.  
  8533.           {
  8534.           CASE $DAC OF {
  8535.  
  8536.                $FDA:     PERM Generic-layout-structure {'factor-set'},
  8537.                     PERM Specific-layout-structure     {'present'},
  8538.                     --  shall be present  in the case of complete  document
  8539.           and shall not be present
  8540.                         in the case of generic document     --
  8541.                     PERM Presentation-styles      {'present'}
  8542.  
  8543.                $PDA:     PERM Generic-layout-structure
  8544.           {'complete-generator-set'},
  8545.                     PERM Generic-logical-structure
  8546.           {'complete-generator-set'
  8547.                                              |'partial-generator-set'},
  8548.                     --  shall be present  if there is no external  document
  8549.           class reference --
  8550.                     PERM Specific-logical-structure    {'present'},
  8551.                     --  shall be present  in case of complete document  and
  8552.           shall not be present
  8553.                         in the case of generic document     --
  8554.                     PERM Presentation-styles      {'present'},
  8555.                     PERM Layout-styles            {'present'}
  8556.  
  8557.                $FPDA: PERM    Generic-layout-structure
  8558.           {'complete-generator-set'},
  8559.                     --  shall be present  if there is no external  document
  8560.           class reference -- 
  8561.                     PERM Specific-layout-structure     {'present'},
  8562.                     --  shall be present  in the case of specific  document
  8563.           and shall not be present
  8564.                         in the case of generic document     --
  8565.                     PERM Generic-logical-structure
  8566.           {'complete-generator-set'
  8567.                                              |'partial-generator-set'},
  8568.                     --  shall be present  if there is  no external document
  8569.           class reference --
  8570.                     PERM Specific-logical-structure    {'present'},
  8571.                     --  shall be present  in the case of complete  document
  8572.           and shall not be present
  8573.                         in the case of generic document     --
  8574.                     PERM Presentation-styles      {'present'},
  8575.                     PERM Layout-styles            {'present'}
  8576.  
  8577.                                          118
  8578.  
  8579.  
  8580.  
  8581.  
  8582.  
  8583.  
  8584.  
  8585.  
  8586.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8587.  
  8588.                },
  8589.  
  8590.                PERM   External-document-class          {ANY_VALUE},
  8591.  
  8592.                PERM   Resource-document           {ANY_VALUE},
  8593.  
  8594.                PERM   Resources    {MUL {REQ #resource-identifier
  8595.           {ANY_VALUE},
  8596.                                     REQ #resource-object-class-identifier
  8597.           {ANY_VALUE}}
  8598.                               },
  8599.  
  8600.                --  document characteristics --
  8601.  
  8602.               REQ   Document-application-profile       {-- See clause 8 for
  8603.                                                        a definition  of the
  8604.                                                        permitted values for
  8605.                                                        this attribute --},
  8606.  
  8607.  
  8608.               PERM  Document-application-profile-defaults  {
  8609.  
  8610.  
  8611.                CASE $DAC OF {
  8612.                     $FDA  : {PERM  #content-architecture-class
  8613.           {$FC|$FPC}}
  8614.                     $PDA  : {PERM  #content-architecture-class
  8615.           {$FC|$PC|$FPC}}
  8616.                     $FPDA : {PERM  #content-architecture-class
  8617.           {$FC|$FPC}}
  8618.                },
  8619.  
  8620.                   PERM  #dimensions     {$PermissiblePageDimensions},
  8621.  
  8622.                   PERM  #medium-type    {PERM            #nominal-page-size
  8623.           {$NominalPageSizes},
  8624.                                PERM #side-of-sheet     {ANY_VALUE }},
  8625.  
  8626.  
  8627.                   PERM  #layout-path         {'0-degrees'|'180-
  8628.           degrees'|'270-degrees'},
  8629.  
  8630.                   PERM  #page-position       {ANY_VALUE},
  8631.  
  8632.                   PERM  #type-of-coding
  8633.                               {ASN.1 {2 8 3 6 0} -- character encoding --
  8634.                               |ASN.1 {2 8 3 7 0} -- T.6 encoding --
  8635.                               |ASN.1 {2  8 3  7 1}  -- T.4 one  dimensional
  8636.           encoding --
  8637.                               |ASN.1  {2 8 3  7 2}  -- T.4  two dimensional
  8638.           encoding --
  8639.                               |ASN.1 {2 8 3 7 3} -- bitmap encoding --
  8640.                               |ASN.1 {2 8 3 8 0} -- geometric encoding --},
  8641.  
  8642.  
  8643.                                          119
  8644.  
  8645.  
  8646.  
  8647.  
  8648.  
  8649.  
  8650.  
  8651.  
  8652.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8653.  
  8654.                PERM  #character-content-defaults   {
  8655.                     PERM  #alignment              {ANY_VALUE},
  8656.                     PERM  #character-fonts        {ANY_VALUE},
  8657.                     PERM  #character-path         {ANY_VALUE},
  8658.                     PERM  #character-spacing      {ANY_VALUE},
  8659.                     PERM  #character-orientation       {'0-degrees'|'90-
  8660.           degrees'},
  8661.                     PERM  #code-extension-announcers   {$DAP-DEFAULT-
  8662.           CDEXTEN},
  8663.                     PERM  #first-line-offset           {ANY_VALUE},
  8664.                     PERM  #graphic-character-sets {$DAP-DEFAULT-GRCHAR},
  8665.                     PERM  #graphic-character-subrepertoire  {ANY_VALUE},
  8666.                     PERM  #graphic-rendition      {$GRAPHICRENDITIONS},
  8667.                     PERM  #itemization            {ANY_VALUE},
  8668.                     PERM  #kerning-offset              {ANY_VALUE},
  8669.                     PERM  #line-layout-table      {ANY_VALUE},
  8670.                     PERM  #line-progression       {ANY_VALUE},
  8671.                     PERM  #line-spacing           {ANY_VALUE},
  8672.                     PERM  #indentation            {ANY_VALUE},
  8673.                     PERM  #orphan-size            {ANY_VALUE},
  8674.                     PERM  #proportional-line-spacing   {ANY_VALUE},
  8675.                     PERM  #widow-size             {ANY_VALUE},
  8676.                     PERM  #initial-offset              {ANY_VALUE}
  8677.                },
  8678.  
  8679.                PERM  #raster-graphics-content-defaults  {
  8680.                     PERM  #image-dimensions       {ANY_VALUE},
  8681.                     PERM  #pel-spacing            {ANY_VALUE},
  8682.                     PERM  #spacing-ratio               {ANY_VALUE},
  8683.                     PERM  #compression            {ANY_VALUE}
  8684.                },
  8685.  
  8686.               },
  8687.  
  8688.               REQ   Document-architecture-class   {$FDA| $PDA |$FPDA},
  8689.  
  8690.               REQ   Content-architecture-classes
  8691.           {[$FC],[$PC],[$FPC],[$FPR],[$FPG]},
  8692.  
  8693.               REQ   Interchange-format-class {--  See  clause  8  for   the
  8694.           definition of the permitted values for
  8695.                                    this attribute. --},
  8696.               REQ   Oda-version         {REQ #standard-or-recommendation 
  8697.                 {"CCITT Rec. T.410 series (1988) | ISO 8613 (1989); version
  8698.           1.1"},
  8699.                                REQ #publication-date   {"1992-01-01"}},
  8700.  
  8701.  
  8702.                -- non basic document characteristics --
  8703.  
  8704.               PERM  Profile-character-sets             {$PROFCHAR},
  8705.  
  8706.               PERM  Comments-character-sets            {$COMCHAR},
  8707.  
  8708.  
  8709.                                          120
  8710.  
  8711.  
  8712.  
  8713.  
  8714.  
  8715.  
  8716.  
  8717.  
  8718.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8719.  
  8720.               PERM  Alternative-representation-character-sets
  8721.           {$ALTCHAR},
  8722.  
  8723.               PERM  Page-dimensions     {PMUL{$NonBasicPageDimensions}},
  8724.  
  8725.               PERM  Medium-types   {PMUL     {PERM #nominal-page-size
  8726.           {$NominalPageSizes},
  8727.                                     PERM #side-of-sheet
  8728.           {'recto'|'verso'}}},
  8729.                -- All values of "medium type" are non-basic --
  8730.  
  8731.               PERM  Layout-paths   {{'0-degrees'|'90-degrees'|'180-
  8732.           degrees'}...},
  8733.                -- These  values need not be declared, they may be specified
  8734.                here for upwards compatibility from FOD26 | PM-26 --
  8735.  
  8736.               PERM  Borders        {ANY_VALUE},
  8737.                -- Any  values need not be  declared, they may  be specified
  8738.                here for upwards compatibility
  8739.                from FOD26 | PM-26 --
  8740.  
  8741.               PERM  Coding-attributes   {
  8742.                  PERM  #raster-graphics-coding-attributes   {
  8743.                PERM  #compression       {'uncompressed'}
  8744.                }
  8745.               },
  8746.  
  8747.               PERM  Presentation-features {
  8748.                  PERM #character-presentation-features {
  8749.                PERM #character-orientation        {'90-degrees'},
  8750.                -- This  value need not be  declared, they may  be specified
  8751.                here for upwards compatibility from FOD26 | PM-26 --
  8752.  
  8753.                PMUL {PERM #character-path         {'90-degrees'|'180-
  8754.           degrees'|'270-degrees'}},
  8755.                     --  These  values need  not  be declared,  they  may be
  8756.                     specified here for upwards  compatibility from FOD26  |
  8757.                     PM-26 --
  8758.  
  8759.                PMUL {PERM #character-spacing {<100 | 100 | 160 | 200}},  
  8760.                     -- These  values  need not  be  declared, they  may  be
  8761.                     specified here for  upwards compatibility from  FOD26 |
  8762.                     PM-26 --
  8763.  
  8764.                PMUL {PERM #graphic-rendition {'crossed-out'|'not-crossed-
  8765.           out'}},
  8766.                     -- These  values  need not  be  declared, they  may  be
  8767.                     specified here  for upwards compatibility from  FOD26 |
  8768.                     PM-26 --
  8769.  
  8770.                PMUL {PERM #line-spacing {ANY_VALUE} EXCEPT{200, 300, 400}},
  8771.                     -- Values 100,150 and 600 need not to be declared, they
  8772.                     may be  specified here  for upwards  compatibility from
  8773.                     FOD26 | PM-26 --
  8774.  
  8775.                                          121
  8776.  
  8777.  
  8778.  
  8779.  
  8780.  
  8781.  
  8782.  
  8783.  
  8784.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8785.  
  8786.                PERM #line-progression             {'90-degrees'},
  8787.                     -- This  value  need  not  be  declared,  they  may  be
  8788.                     specified  here for upwards  compatibility from FOD26 |
  8789.                     PM-26 --
  8790.  
  8791.                PMUL {PERM #graphic-character-sets
  8792.                {$NON-BASIC-GRCHAR}},
  8793.                PMUL {PERM #graphic-character-subrepertoire                 
  8794.               {ANY_VALUE}}
  8795.                 },
  8796.  
  8797.                  PERM #raster-graphics-presentation-features {
  8798.                PMUL {PERM #pel-spacing  {ANY_VALUE}EXCEPT{16, 12, 8,  6, 5,
  8799.           4, 3, 2, 1}},
  8800.                     -- Any value of #pel spaces is permitted as basic --
  8801.                     -- Basic values of #length are multiples of #pel spaces
  8802.                     as listed --
  8803.  
  8804.                PMUL {PERM #spacing-ratio
  8805.                         {REQ #line-spacing-value  {ANY_VALUE} EXCEPT {1},
  8806.                                REQ #pel-spacing-value  {ANY_VALUE}   EXCEPT
  8807.           {1}}}
  8808.                  }
  8809.               },
  8810.  
  8811.                -- additional document characteristics --
  8812.  
  8813.               PERM  Fonts-list    {PMUL {REQ #font-identifier {ANY_VALUE},
  8814.                                REQ #font-reference  {ANY_VALUE}}
  8815.               },
  8816.  
  8817.  
  8818.             -- document management attributes --
  8819.  
  8820.                     -- document description --
  8821.               PERM  Title                         {ANY_STRING},
  8822.               PERM  Subject                  {ANY_STRING},
  8823.               PERM  Document-type            {ANY_STRING},
  8824.               PERM  Abstract                 {ANY_STRING},
  8825.               PERM  Keywords                 {ANY_STRING...},
  8826.               REQ   Document-reference            {ANY_VALUE},
  8827.  
  8828.                     -- dates and times --
  8829.               PERM  Document-date-and-time        {ANY_STRING},
  8830.               PERM  Creation-date-and-time        {ANY_STRING},
  8831.               PERM  Local-filing-date-and-time         {ANY_VALUE},
  8832.               PERM  Expiry-date-and-time          {ANY_STRING},
  8833.               PERM  Start-date-and-time           {ANY_STRING},
  8834.               PERM  Purge-date-and-time      {ANY_STRING},
  8835.               PERM  Release-date-and-time         {ANY_STRING},
  8836.               PERM  Revision-history              {ANY_VALUE},
  8837.  
  8838.                     -- originators --
  8839.               PERM  Organizations            {ANY_STRING...},
  8840.  
  8841.                                          122
  8842.  
  8843.  
  8844.  
  8845.  
  8846.  
  8847.  
  8848.  
  8849.  
  8850.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8851.  
  8852.               PERM  Preparers                {ANY_VALUE},
  8853.               PERM  Owners                   {ANY_VALUE},
  8854.               PERM  Authors                  {ANY_VALUE},
  8855.  
  8856.                     -- other user information --
  8857.               PERM  Copyright                {ANY_VALUE},
  8858.               PERM  Status                   {ANY_STRING},
  8859.               PERM  User-specific-codes           {ANY_STRING...},
  8860.               PERM  Distribution-list             {ANY_VALUE},
  8861.               REQ  Additional-information              {"Level 2 to Level 3
  8862.           Migration DAP"},
  8863.  
  8864.                     -- external references --
  8865.               PERM  References-to-other-documents {ANY_VALUE},
  8866.               PERM  Superseded-documents          {ANY_VALUE},
  8867.  
  8868.                     -- local file references --
  8869.               PERM  Local-file-references              {ANY_VALUE},
  8870.  
  8871.                     -- content attributes --
  8872.               PERM  Document-size            {ANY_INTEGER},
  8873.               PERM  Number-of-pages               {ANY_INTEGER},
  8874.               PERM  Languages                {ANY_STRING...},
  8875.  
  8876.                     -- security information --
  8877.               PERM  Authorization            {ANY_VALUE},
  8878.               PERM  Security-classification       {ANY_STRING},
  8879.               PERM  Access-rights            {ANY_STRING...}
  8880.           }
  8881.  
  8882.  
  8883.  
  8884.  
  8885.  
  8886.  
  8887.  
  8888.  
  8889.  
  8890.  
  8891.  
  8892.  
  8893.  
  8894.  
  8895.  
  8896.  
  8897.  
  8898.  
  8899.  
  8900.  
  8901.  
  8902.  
  8903.  
  8904.  
  8905.  
  8906.  
  8907.                                          123
  8908.  
  8909.  
  8910.  
  8911.  
  8912.  
  8913.  
  8914.  
  8915.  
  8916.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8917.  
  8918.  
  8919.  
  8920.           7.3  Logical constituent constraints
  8921.  
  8922.  
  8923.           7.3.1  Macro definitions
  8924.  
  8925.           -- Defines any  logical objects in a  specific logical structure.
  8926.           --
  8927.  
  8928.           DEFINE(LogicalObjects, " 
  8929.            <logical-objects> ::=          OBJECT_ID_OF(DocumentLogicalRoot)
  8930.                               | OBJECT_ID_OF(Passage)
  8931.                               | OBJECT_ID_OF(NumberedSegment)
  8932.                               | OBJECT_ID_OF(Number)
  8933.                               | OBJECT_ID_OF(Paragraph)
  8934.                               | OBJECT_ID_OF(Phrase)
  8935.                               | OBJECT_ID_OF(Footnote)
  8936.                               | OBJECT_ID_OF(FootnoteNumber)
  8937.                               | OBJECT_ID_OF(FootnoteReference)
  8938.                               | OBJECT_ID_OF(FootnoteBody)
  8939.                               | OBJECT_ID_OF(FootnoteText)
  8940.                               | OBJECT_ID_OF(BodyText)
  8941.                               | OBJECT_ID_OF(Reference)
  8942.                               | OBJECT_ID_OF(ReferencedContent)
  8943.                               | OBJECT_ID_OF(BodyRaster)
  8944.                               | OBJECT_ID_OF(BodyGeometric)
  8945.                               | OBJECT_ID_OF(NumberedList)
  8946.                               | OBJECT_ID_OF(UnNumberedList)
  8947.                               | OBJECT_ID_OF(DefinitionList)
  8948.                               | OBJECT_ID_OF(ListItem)
  8949.                               | OBJECT_ID_OF(ListTerm)
  8950.                               | OBJECT_ID_OF(Table)
  8951.                               | OBJECT_ID_OF(Row)
  8952.                               | OBJECT_ID_OF(EntryElement)
  8953.                               | OBJECT_ID_OF(EntryText) 
  8954.                               | OBJECT_ID_OF(EntryRaster)
  8955.                               | OBJECT_ID_OF(EntryGeometric);
  8956.           ")
  8957.  
  8958.  
  8959.           -- Defines any logical object classes other than classes referred
  8960.           by logical source --
  8961.  
  8962.           DEFINE(LogicalObjectClasses, " 
  8963.            <logical-object-classes> ::=
  8964.           OBJECT_CLASS_ID_OF(DocumentLogicalRoot)
  8965.                               | OBJECT_CLASS_ID_OF(Passage)
  8966.                               | OBJECT_CLASS_ID_OF(NumberedSegment)
  8967.                               | OBJECT_CLASS_ID_OF(Number)
  8968.                               | OBJECT_CLASS_ID_OF(Paragraph)
  8969.                               | OBJECT_CLASS_ID_OF(Phrase)
  8970.                               | OBJECT_CLASS_ID_OF(Footnote)
  8971.                               | OBJECT_CLASS_ID_OF(FootnoteNumber)
  8972.  
  8973.                                          124
  8974.  
  8975.  
  8976.  
  8977.  
  8978.  
  8979.  
  8980.  
  8981.  
  8982.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  8983.  
  8984.                               | OBJECT_CLASS_ID_OF(FootnoteReference)
  8985.                               | OBJECT_CLASS_ID_OF(FootnoteBody)
  8986.                               | OBJECT_CLASS_ID_OF(FootnoteText)
  8987.                               | OBJECT_CLASS_ID_OF(BodyText)
  8988.                               | OBJECT_CLASS_ID_OF(Reference)
  8989.                               | OBJECT_CLASS_ID_OF(ReferencedContent)
  8990.                               | OBJECT_CLASS_ID_OF(BodyRaster)
  8991.                               | OBJECT_CLASS_ID_OF(BodyGeometric)
  8992.                               | OBJECT_CLASS_ID_OF(NumberedList)
  8993.                               | OBJECT_CLASS_ID_OF(UnNumberedList)
  8994.                               | OBJECT_CLASS_ID_OF(DefinitionList)
  8995.                               | OBJECT_CLASS_ID_OF(ListItem)
  8996.                               | OBJECT_CLASS_ID_OF(ListTerm)
  8997.                               | OBJECT_CLASS_ID_OF(Table)
  8998.                               | OBJECT_CLASS_ID_OF(Row)
  8999.                               | OBJECT_CLASS_ID_OF(EntryElement)
  9000.                               | OBJECT_CLASS_ID_OF(EntryText) 
  9001.                               | OBJECT_CLASS_ID_OF(EntryRaster)
  9002.                               | OBJECT_CLASS_ID_OF(EntryGeometric);
  9003.           ")
  9004.  
  9005.  
  9006.           D       E       F       I       N       E       (       N       ,
  9007.           "<n>::={""0""|""1""|""2""|""3""|""4""|""5""|""6""|""7""|""8""|""9
  9008.           ""}...;")
  9009.                --   any  string of characters  from the set  of characters:
  9010.                     '0'...'9' --
  9011.  
  9012.  
  9013.  
  9014.           --   Defines  the prefix binding.   This  binding may be  used to
  9015.                associate a string literal with  an object or object  class.
  9016.                In  addition,  this binding  is  used to  prefix  text to  a
  9017.                segment number binding.  The instances are differentiated by
  9018.                a suffix number. --
  9019.  
  9020.           DEFINE(PREFIX,      "
  9021.            <prefix> ::=  ""prefix-""<n>;
  9022.            $N
  9023.           ")
  9024.  
  9025.  
  9026.           --   Defines  the suffix binding.   This  binding may be  used to
  9027.                associate a string  literal with an object  or object class.
  9028.                In  addition,  this binding  is  used to  suffix  text to  a
  9029.                segment number binding.  The instances are differentiated by
  9030.                a suffix number. --
  9031.  
  9032.           DEFINE(SUFFIX,      "
  9033.            <suffix> ::=  ""suffix-""<n>;
  9034.            $N
  9035.           ")
  9036.  
  9037.  
  9038.  
  9039.                                          125
  9040.  
  9041.  
  9042.  
  9043.  
  9044.  
  9045.  
  9046.  
  9047.  
  9048.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9049.  
  9050.            --  Defines  the separator  binding.   This  binding is  used to
  9051.                provide a separator  character for a hierarchical form  of a
  9052.                segment number, table  number or page number.  The instances
  9053.                are differentiated by a suffix number. --
  9054.  
  9055.           DEFINE(SEPARATOR,    "
  9056.            <separator>   ::=  ""separator-""<n>;
  9057.            $N
  9058.           ")   
  9059.  
  9060.  
  9061.           --   Defines the  general number  binding.   This binding may  be
  9062.                instanced for  use as the numeric  value such as  in segment
  9063.                number, table number,  list number, footnote number  or page
  9064.                number  bindings.   The instances  are  differentiated by  a
  9065.                suffix number.  --
  9066.  
  9067.           DEFINE(NUMBER,       "
  9068.            <number> ::=  ""number-""<n>;
  9069.            $N
  9070.           ")
  9071.  
  9072.  
  9073.           --   Defines the general number string binding.  This binding may
  9074.                be instanced for use as the string value such as for segment
  9075.                number, table number,  list number, footnote number  or page
  9076.                numbers.  The  instances  are  differentiated  by  a  suffix
  9077.                number.  --
  9078.  
  9079.           DEFINE(NUMBERSTRING, "
  9080.            <numberstring>     ::=  ""numberstring-""<n>;
  9081.            $N
  9082.           ")
  9083.  
  9084.  
  9085.           --   Defines  the  general  string  binding.  The  instances  are
  9086.                differentiated by a suffix number. --
  9087.  
  9088.           DEFINE(STRING, "
  9089.            <string> ::=  ""string-""<n>;
  9090.            $N
  9091.           ")
  9092.  
  9093.  
  9094.           --   Defines the names for footnote categories.
  9095.  
  9096.           DEFINE(FOOTNOTECATEGORY, "
  9097.            <footnotecategory> ::=  ""Footnote"";
  9098.           ")
  9099.  
  9100.           --   NOTE: The following macro is called INITIALISEANY in FOD26 |
  9101.                PM26. --
  9102.  
  9103.           DEFINE(INITIALISEBINDINGS, "
  9104.  
  9105.                                          126
  9106.  
  9107.  
  9108.  
  9109.  
  9110.  
  9111.  
  9112.  
  9113.  
  9114.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9115.  
  9116.                  REQ  #binding-name          {$PREFIX},
  9117.                  REQ  #binding-value         {ANY_STRING}
  9118.                 |REQ  #binding-name          {$SUFFIX},
  9119.                  REQ  #binding-value         {ANY_STRING}
  9120.                 |REQ  #binding-name          {$SEPARATOR},
  9121.                  REQ  #binding-value         {ANY_STRING}
  9122.                 |REQ  #binding-name          {$NUMBER},
  9123.                  REQ  #binding-value         {>=0}
  9124.                 |REQ  #binding-name          {$NUMBERSTRING},
  9125.                  REQ  #binding-value         {ANY_STRING}
  9126.                 |REQ  #binding-name          {$STRING},
  9127.                  REQ  #binding-value         {ANY_STRING}
  9128.           ")
  9129.            
  9130.            
  9131.            --  Used to make  a simple or compound string  out of the number
  9132.                bindings. --
  9133.  
  9134.           DEFINE(USENUMBERSTRINGS, "
  9135.                REQ  #binding-name       {$NUMBERSTRING},
  9136.                REQ  #binding-value
  9137.           {<string-expr> ::=  <hierarchic-expr>|<simple-expr> ;
  9138.  
  9139.            <hierarchic-expr>  ::=  B_REF(SUP(CURR-OBJ))(<numberstring>)
  9140.                               B_REF(SUP(CURR-OBJ))(<separator>)
  9141.                               <simple-expr>;
  9142.  
  9143.            <simple-expr> ::=        MK-STR(B_REF(CURR-OBJ)(<number>))
  9144.                          | U-ALPHA(B_REF(CURR-OBJ)(<number>))
  9145.                          | L-ALPHA(B_REF(CURR-OBJ)(<number>))
  9146.                          | U-ROM(B_REF(CURR-OBJ)(<number>))
  9147.                          | L-ROM(B_REF(CURR-OBJ)(<number>))
  9148.                          | MK-STR(ORD(CURR-OBJ))
  9149.                          | U-ALPHA(ORD(CURR-OBJ))
  9150.                          | L-ALPHA(ORD(CURR-OBJ))
  9151.                          | U-ROM(ORD(CURR-OBJ))
  9152.                          | L-ROM(ORD(CURR-OBJ))
  9153.                          | ANY_STRING;
  9154.  
  9155.            $NUMBERSTRING
  9156.            $SEPARATOR
  9157.            $NUMBER}
  9158.           ")
  9159.  
  9160.  
  9161.           --   Used to increment any of the number bindings. --
  9162.  
  9163.           DEFINE(USENUMBERS, "
  9164.                 REQ  #binding-name      {$NUMBER},
  9165.                 REQ  #binding-value
  9166.                     {<num-expr> ::= INC(B_REF(PREC(CURR-OBJ))(<number>));
  9167.            $NUMBER}
  9168.           ")
  9169.  
  9170.  
  9171.                                          127
  9172.  
  9173.  
  9174.  
  9175.  
  9176.  
  9177.  
  9178.  
  9179.  
  9180.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9181.  
  9182.           --   Used to initialise/specify  or manipulate the bindings.  The
  9183.                bindings defined by this macro are permitted to:
  9184.                     -    any logical object class,
  9185.                     -    any logical object,
  9186.                     -    any layout  object class except  frame classes and
  9187.                          block classes.
  9188.           -- 
  9189.  
  9190.           DEFINE(SPECIFYBINDINGS, "
  9191.            $INITIALISEBINDINGS | $USENUMBERS | $USENUMBERSTRINGS
  9192.           ")
  9193.  
  9194.  
  9195.           --   Used to initialise fnotenumber and fnotestring bindings. --
  9196.  
  9197.           DEFINE(INITIALISEFNOTE, "
  9198.                 REQ  #binding-name      {""fnotenumber""},
  9199.                 REQ  #binding-value          {>=0}
  9200.           ")
  9201.  
  9202.  
  9203.           -- Used to increment fnotenumber binding. --
  9204.  
  9205.           DEFINE(INCFNOTENUMBER,"
  9206.                REQ  #binding-name       {""fnotenumber""},
  9207.                REQ  #binding-value
  9208.                     {<num-expr>           ::=          INC(B_REF(PREC(CURR-
  9209.           OBJ))(""fnotenumber""));}
  9210.           ")
  9211.  
  9212.  
  9213.           --   Used to create a fnotestring from a fnotenumber binding. --
  9214.  
  9215.           DEFINE(FNOTENUMBERSTRING, "
  9216.                 REQ  #binding-name      {""fnotestring""},
  9217.                 REQ  #binding-value          {<str-expr>::=
  9218.                            MK-STR(B_REF(CURR-OBJ)(""fnotenumber""))
  9219.                          | U-ALPHA(B_REF(CURR-OBJ)(""fnotenumber""))
  9220.                          | L-ALPHA(B_REF(CURR-OBJ)(""fnotenumber""))
  9221.                          | U-ROM(B_REF(CURR-OBJ)(""fnotenumber""))
  9222.                          | L-ROM(B_REF(CURR-OBJ)(""fnotenumber""));}
  9223.           ")
  9224.  
  9225.  
  9226.           --   Used  to  reset  the  footnote  number string  to  a  string
  9227.                literal.  This provides a mechanism for setting the footnote
  9228.                number string to something other than a numeric value. --
  9229.  
  9230.           DEFINE(FNOTESTRINGLITERAL, "
  9231.                REQ  #binding-name       {""fnotestring""},
  9232.                REQ  #binding-value      {ANY_STRING}
  9233.           ")
  9234.  
  9235.  
  9236.  
  9237.                                          128
  9238.  
  9239.  
  9240.  
  9241.  
  9242.  
  9243.  
  9244.  
  9245.  
  9246.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9247.  
  9248.           --   Used to initialise PGnum binding. --
  9249.           --   NOTE: The following macro is called INITIALISEPGNUM in FOD26
  9250.                | PM26. 
  9251.                Page  numbering is  realized  as a  particular  case of  the
  9252.                general number binding mechanism supported by this DAP using
  9253.                the  bindings <number>  and <numberstring>.  "PGnum" may  be
  9254.                used for the compatibility with FOD26 | PM-26. --
  9255.  
  9256.           DEFINE(INITIALISEPGNUMBER, "
  9257.                REQ  #binding-name       {""PGnum""},
  9258.                REQ  #binding-value      {>=-1}
  9259.           ")
  9260.  
  9261.  
  9262.           --   Used to increment PGnum binding.  --
  9263.           --   NOTE: The  following macro is  called PAGENUMBER in  FOD26 |
  9264.                PM26. --
  9265.  
  9266.           DEFINE(USEPGNUMBERS,"
  9267.                REQ  #binding-name       {""PGnum""},
  9268.                REQ  #binding-value {<num-expr>::=      INC(B_REF(PREC(CURR-
  9269.           OBJ))(""PGnum""));}
  9270.           ")
  9271.  
  9272.  
  9273.           --   This string expression is allowed in a content generator for
  9274.                Number to automatically generate text for segment numbers or
  9275.                list  numbers.    (Note: B_REF(CURR-OBJ)  is  used  for list
  9276.                numbers.)  --
  9277.  
  9278.           DEFINE(SEGMENTNUMBER, "
  9279.            <string-expr> ::=  [<pre-str>]<num-str>[<suf-str>];
  9280.            <num-str>          ::=  B_REF(SUP(CURR-OBJ))(<numberstring>) 
  9281.                               | B_REF(CURR-OBJ)(<numberstring>);
  9282.            <pre-str>          ::=  B_REF(SUP(CURR-OBJ))(<prefix>)         |
  9283.           ANY_STRING;
  9284.            <suf-str>          ::=  B_REF(SUP(CURR-OBJ))(<suffix>)         |
  9285.           ANY_STRING;
  9286.            $NUMBERSTRING
  9287.            $PREFIX
  9288.            $SUFFIX
  9289.           ")
  9290.  
  9291.  
  9292.           --   This string expression is allowed in a content generator for
  9293.                TableNumber  to  automatically  generate text  for  a  table
  9294.                number.  --
  9295.  
  9296.           DEFINE(TABLENUMBER, "
  9297.            <string-expr> ::=  [<pre-str>]<num-str>[<suf-str>];
  9298.            <num-str>     ::=  B_REF
  9299.                            (CURR-INST(OBJECT_CLASS_ID_OF(Table),(CURR-
  9300.           OBJ)))
  9301.                            (<numberstring>);
  9302.  
  9303.                                          129
  9304.  
  9305.  
  9306.  
  9307.  
  9308.  
  9309.  
  9310.  
  9311.  
  9312.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9313.  
  9314.            <pre-str>     ::=  ANY_STRING;
  9315.            <suf-str>     ::=  ANY_STRING;
  9316.            $NUMBERSTRING
  9317.           ")
  9318.  
  9319.  
  9320.           --   This string expression is allowed in a content generator for
  9321.                PageNumber to automatically generate text for a page number.
  9322.                --
  9323.           --   NOTE:  The following macro  is called  HEADERFOOTERSTRING in
  9324.                FOD26 | PM26. 
  9325.                A  page  number may  be  generated either  from  <number> or
  9326.                <numberstring>  or   from  PGnum.     PGnum   is  kept   for
  9327.                compatibility with FOD26 | PM-26. --
  9328.  
  9329.           DEFINE(PGNUMBER, "
  9330.            <string-expr> ::= [<pre-str>]<num-str>[<suf-str>];
  9331.            <pre-str>     ::= ANY_STRING;
  9332.            <suf-str>     ::= ANY_STRING;
  9333.  
  9334.            <num-str>     ::= MK-STR(<numeric-expr>)
  9335.                       | U-ALPHA(<numeric-expr>)
  9336.                       | L-ALPHA(<numeric-expr>)
  9337.                       | U-ROM(<numeric-expr>)
  9338.                       | L-ROM(<numeric-expr>);
  9339.  
  9340.            <numeric-expr>    ::= B_REF(SUP(<layout-object-1>))(""PGnum"")
  9341.                       | B_REF(<layout-object-2>)(""PGnum"");
  9342.  
  9343.            <layout-object-1>       ::=   CURR-INST(<class-or-type-1>,(CURR-
  9344.           OBJ));
  9345.            <layout-object-2>       ::=   CURR-INST(<class-or-type-2>,(CURR-
  9346.           OBJ));
  9347.            <class-or-type-1>       ::= 'frame';
  9348.            <class-or-type-2>       ::= 'page'
  9349.                                | OBJECT_CLASS_ID_OF(Page) 
  9350.                                | OBJECT_CLASS_ID_OF(RectoPage) 
  9351.                                | OBJECT_CLASS_ID_OF(VersoPage);
  9352.           ")
  9353.  
  9354.  
  9355.           --   This string expression is allowed in a content generator for
  9356.                FootnoteNumber   and   FootnoteReference   to  automatically
  9357.                generate text for a footnote number. --
  9358.           --   NOTE: The following macro  is called FNOTENUMBER in  FOD26 |
  9359.                PM-26. --
  9360.  
  9361.           DEFINE(FNNUMBER, "
  9362.            <string-expr>      ::=  [<pre-str>]<num-str>[<suf-str>];
  9363.            <num-str>               ::=  B _ R E F ( S U P ( C U R R -
  9364.           OBJ))(""fnotestring"");
  9365.            <pre-str>               ::=  ANY_STRING;
  9366.            <suf-str>               ::=  ANY_STRING;
  9367.           ")
  9368.  
  9369.                                          130
  9370.  
  9371.  
  9372.  
  9373.  
  9374.  
  9375.  
  9376.  
  9377.  
  9378.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9379.  
  9380.  
  9381.           --   This string expression is allowed in a content generator for
  9382.                ReferencedContent  to   automatically   generate  text   for
  9383.                references such as  to segment numbers, table  numbers, list
  9384.                numbers, footnote  numbers and <string>  bindings associated
  9385.                with a  referring (i.e. a target) logical object, or to page
  9386.                numbers, pageset  numbers and  <string> bindings  associated
  9387.                with a layout  object in which the  referring logical object
  9388.                is laid out.  --
  9389.  
  9390.           DEFINE(REF, "
  9391.            <string-expr>      ::= [<pre-str>]<ref-str>[<suf-str>];
  9392.  
  9393.           --   These are a prefix and a suffix of ReferencedContent itself,
  9394.                not those of referring text. e.g. '(See' and ')'. --
  9395.            <pre-str>     ::= ANY_STRING;
  9396.            <suf-str>     ::= ANY_STRING;
  9397.  
  9398.  
  9399.            <ref-str>     ::= { <ref-numberstring>
  9400.                        | <ref-fnotestring>
  9401.                        | <ref-pgnum>
  9402.                        | <ref-number>
  9403.                        | <ref-string>
  9404.                        | ANY_STRING }... ;
  9405.  
  9406.            <ref-numberstring> ::= [<pre-str-a>] <ref-str-a> [<suf-str-a>];
  9407.            <pre-str-a> ::= B_REF(SUP(<target-object-1>))(<prefix>)
  9408.                     | B_REF(<target-object>)(<prefix>) ;
  9409.            <suf-str-a> ::= B_REF(SUP(<target-object-1>))(<suffix>)
  9410.                     | B_REF(<target-object>)(<suffix>) ;
  9411.            <ref-str-a> ::= B_REF(SUP(<target-object-1>))(<numberstring>)
  9412.                     | B_REF(<target-object>)(<numberstring>);
  9413.  
  9414.            <ref-fnotestring> ::= <ref-str-b>;
  9415.            <ref-str-b>         ::=        B_REF(SUP(<target-logical-object-
  9416.           1>))(""fnotestring"")
  9417.                     | B_REF(<target-logical-object>)(""fnotestring"");
  9418.  
  9419.            <ref-pgnum> ::= <ref-str-c>;
  9420.            <ref-str-c> ::=      MK-STR(B_REF(SUP(<layout-object-
  9421.           1>))(""PGnum""))
  9422.                     | U-ALPHA(B_REF(SUP(<layout-object-1>))(""PGnum""))
  9423.                     | L-ALPHA(B_REF(SUP(<layout-object-1>))(""PGnum""))
  9424.                     | U-ROM(B_REF(SUP(<layout-object-1>))(""PGnum""))
  9425.                     | L-ROM(B_REF(SUP(<layout-object-1>))(""PGnum""))
  9426.                     | MK-STR(B_REF(<layout-object-2>)(""PGnum""))
  9427.                     | U-ALPHA(B_REF(<layout-object-2>)(""PGnum""))
  9428.                     | L-ALPHA(B_REF(<layout-object-2>)(""PGnum""))
  9429.                     | U-ROM(B_REF(<layout-object-2>)(""PGnum""))
  9430.                     | L-ROM(B_REF(<layout-object-2>)(""PGnum""));
  9431.  
  9432.            <ref-number> ::= [<pre-str-d>] <ref-str-d> [<suf-str-d>];
  9433.            <pre-str-d> ::= B_REF(SUP(<target-object-1>))(<prefix>)
  9434.  
  9435.                                          131
  9436.  
  9437.  
  9438.  
  9439.  
  9440.  
  9441.  
  9442.  
  9443.  
  9444.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9445.  
  9446.                     | B_REF(<target-object>)(<prefix>) ;
  9447.            <suf-str-d> ::= B_REF(SUP(<target-object-1>))(<suffix>)
  9448.                     | B_REF(<target-object>)(<suffix>) ;
  9449.            <ref-str-d> ::=      MK-STR(B_REF(SUP(<target-object-
  9450.           1>))(<number>))
  9451.                     | U-ALPHA(B_REF(SUP(<target-object-1>))(<number>))
  9452.                     | L-ALPHA(B_REF(SUP(<target-object-1>))(<number>))
  9453.                     | U-ROM(B_REF(SUP(<target-object-1>))(<number>))
  9454.                     | L-ROM(B_REF(SUP(<target-object-1>))(<number>))
  9455.                     | MK-STR(B_REF(<target-object>)(<number>))
  9456.                     | U-ALPHA(B_REF(<target-object>)(<number>))
  9457.                     | L-ALPHA(B_REF(<target-object>)(<number>))
  9458.                     | U-ROM(B_REF(<target-object>)(<number>))
  9459.                     | L-ROM(B_REF(<target-object>)(<number>));
  9460.  
  9461.            <ref-string> ::= <ref-str-e>;
  9462.            <ref-str-e> ::= B_REF(SUP(<target-object-1>))(<string>)
  9463.                     | B_REF(<target-object>)(<string>);
  9464.  
  9465.            <target-object>  ::=  <target-logical-object>  | <target-layout-
  9466.           object>;
  9467.            <target-object-1>  ::=   <target-logical-object-1>  |   <target-
  9468.           layout-object>;
  9469.  
  9470.            <target-logical-object>    ::=    <logical-objects>    |   CURR-
  9471.           INST(<class-or-type-logical>,<logical-objects>);
  9472.            <target-logical-object-x>   ::=   <logical-objects>    |   CURR-
  9473.           INST(<class-or-type-logical>,<logical-objects>));
  9474.            <target-logical-object-1>      ::=     CURR-INST(<class-or-type-
  9475.           logical>,<logical-objects>);
  9476.            <class-or-type-logical> ::= <logical-object-classes>
  9477.                          | 'composite-logical-object'
  9478.                          | 'basic-logical-object';
  9479.  
  9480.            <target-layout-object> ::=  <layout-object-1> |  <layout-object-
  9481.           2>;
  9482.            <layout-object-1>      ::=      CURR-INST(<class-or-type-layout-
  9483.           1>,<target-logical-object-x>);
  9484.            <layout-object-2>      ::=      CURR-INST(<class-or-type-layout-
  9485.           2>,<target-logical-object-x>);
  9486.            <class-or-type-layout-1> : <class-or-type-layout-1> ::= 'frame';
  9487.            <class-or-type-layout-2> ::= 'page'
  9488.                          | OBJECT_CLASS_ID_OF(Page) 
  9489.                          | OBJECT_CLASS_ID_OF(RectoPage) 
  9490.                          | OBJECT_CLASS_ID_OF(VersoPage);
  9491.            $PREFIX
  9492.            $SUFFIX
  9493.            $NUMBERSTRING
  9494.            $NUMBER
  9495.            $STRING
  9496.            $LogicalObjects
  9497.            $LogicalObjectClasses
  9498.           ")
  9499.  
  9500.  
  9501.                                          132
  9502.  
  9503.  
  9504.  
  9505.  
  9506.  
  9507.  
  9508.  
  9509.  
  9510.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9511.  
  9512.           --   This string expression is allowed in a content generator for
  9513.                CommonReference   to   automatically   generate   text   for
  9514.                references such as  to segment numbers, table  numbers, list
  9515.                numbers, footnote  numbers and <string>  bindings associated
  9516.                with a logical object which is laid out in a current  layout
  9517.                object, or  to page  numbers, pageset  numbers and  <string>
  9518.                bindings  associated with  a current  or  a superior  layout
  9519.                object.  --
  9520.  
  9521.           DEFINE(COMMONREF, "
  9522.            <string-expr> ::= [<pre-str>]<ref-str>[<suf-str>];
  9523.  
  9524.            <pre-str>     ::= ANY_STRING;
  9525.            <suf-str>     ::= ANY_STRING;
  9526.  
  9527.            <ref-str>     ::= { <ref-numberstring>
  9528.                        | <ref-fnotestring>
  9529.                        | <ref-pgnum>
  9530.                        | <ref-number>
  9531.                        | <ref-string>
  9532.                        | ANY_STRING   } ... ;
  9533.  
  9534.            <ref-numberstring> ::= [<pre-str-a>] <ref-str-a> [<suf-str-a>];
  9535.            <pre-str-a> ::= B_REF(SUP(<current-object>))(<prefix>)
  9536.                     | B_REF(<current-object>)(<prefix>) ;
  9537.            <suf-str-a> ::= B_REF(SUP(<current-object>))(<suffix>)
  9538.                     | B_REF(<current-object>)(<suffix>) ;
  9539.            <ref-str-a> ::= B_REF(SUP(<current-object>))(<numberstring>)
  9540.                     | B_REF(<current-object>)(<numberstring>);
  9541.  
  9542.            <ref-fnotestring> ::=  <ref-str-b>;
  9543.            <ref-str-b>            ::=           B_REF(SUP(<current-logical-
  9544.           object>))(""fnotestring"")
  9545.                     | B_REF(<current-logical-object>)(""fnotestring"");
  9546.  
  9547.            <ref-pgnum> ::= <ref-str-c>;
  9548.            <ref-str-c> ::=           MK-STR(B_REF(SUP(<layout-object-
  9549.           1>))(""PGnum""))
  9550.                          |                U-ALPHA(B_REF(SUP(<layout-object-
  9551.           1>))(""PGnum""))
  9552.                          |                L-ALPHA(B_REF(SUP(<layout-object-
  9553.           1>))(""PGnum""))
  9554.                          | U-ROM(B_REF(SUP(<layout-object-1>))(""PGnum""))
  9555.                          | L-ROM(B_REF(SUP(<layout-object-1>))(""PGnum""))
  9556.                          | MK-STR(B_REF(<layout-object-2>)(""PGnum""))
  9557.                          | U-ALPHA(B_REF(<layout-object-2>)(""PGnum""))
  9558.                          | L-ALPHA(B_REF(<layout-object-2>)(""PGnum""))
  9559.                          | U-ROM(B_REF(<layout-object-2>)(""PGnum""))
  9560.                          | L-ROM(B_REF(<layout-object-2>)(""PGnum""));
  9561.  
  9562.            <ref-number> ::= [<pre-str-d>] <ref-str-d> [<suf-str-d>];
  9563.            <pre-str-d> ::= B_REF(SUP(<current-object>))(<prefix>)
  9564.                     | B_REF(<current-object>)(<prefix>) ;
  9565.            <suf-str-d> ::= B_REF(SUP(<current-object>))(<suffix>)
  9566.  
  9567.                                          133
  9568.  
  9569.  
  9570.  
  9571.  
  9572.  
  9573.  
  9574.  
  9575.  
  9576.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9577.  
  9578.                     | B_REF(<current-object>)(<suffix>) ;
  9579.            <ref-str-d> ::=           MK-STR(B_REF(SUP(<current-
  9580.           object>))(<number>))
  9581.                          | U-ALPHA(B_REF(SUP(<current-object>))(<number>))
  9582.                          | L-ALPHA(B_REF(SUP(<current-object>))(<number>))
  9583.                          | U-ROM(B_REF(SUP(<current-object>))(<number>))
  9584.                          | L-ROM(B_REF(SUP(<current-object>))(<number>))
  9585.                          | MK-STR(B_REF(<current-object>)(<number>))
  9586.                          | U-ALPHA(B_REF(<current-object>)(<number>))
  9587.                          | L-ALPHA(B_REF(<current-object>)(<number>))
  9588.                          | U-ROM(B_REF(<current-object>)(<number>))
  9589.                          | L-ROM(B_REF(<current-object>)(<number>));
  9590.  
  9591.            <ref-string> ::= <ref-str-e>;
  9592.            <ref-str-e> ::= B_REF(SUP(<current-object>))(<string>)
  9593.                     | B_REF(<current-object>)(<string>);
  9594.  
  9595.            <current-object> ::= <current-logical-object> | <current-layout-
  9596.           object>;
  9597.  
  9598.            <current-logical-object>      ::=      CURR-INST(<class-or-type-
  9599.           logical>,(CURR-OBJ));
  9600.            <class-or-type-logical> ::= <logical-object-classes>
  9601.                          | 'composite-logical-object'
  9602.                          | 'basic-logical-object';
  9603.  
  9604.            <current-layout-object> ::=  <layout-object-1> | <layout-object-
  9605.           2>;
  9606.            <layout-object-1>  ::= CURR-INST(<class-or-type-layout-1>,(CURR-
  9607.           OBJ));
  9608.            <layout-object-2>  ::= CURR-INST(<class-or-type-layout-2>,(CURR-
  9609.           OBJ));
  9610.            <class-or-type-layout-1> ::= 'frame';
  9611.            <class-or-type-layout-2> ::= 'page'
  9612.                          | OBJECT_CLASS_ID_OF(Page) 
  9613.                          | OBJECT_CLASS_ID_OF(RectoPage) 
  9614.                          | OBJECT_CLASS_ID_OF(VersoPage);
  9615.  
  9616.            $PREFIX
  9617.            $SUFFIX
  9618.            $NUMBERSTRING
  9619.            $NUMBER
  9620.            $STRING
  9621.            $LogicalObjectClasses
  9622.           ")
  9623.  
  9624.           DEFINE(DocLogRootGFS, "
  9625.            <construction-expr>     ::=  <construction-term>
  9626.                                    | <construction-type>;
  9627.  
  9628.            <construction-term>     ::=  <construction-factor>
  9629.                                    | OPT <construction-factor>
  9630.                                    | REP <construction-factor>
  9631.                                    | OPT REP <construction-factor>;
  9632.  
  9633.                                          134
  9634.  
  9635.  
  9636.  
  9637.  
  9638.  
  9639.  
  9640.  
  9641.  
  9642.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9643.  
  9644.            <construction-type>     ::=  SEQ({<construction-term>}...)
  9645.                                    | CHO({<construction-term>}...);
  9646.  
  9647.            <construction-factor>   ::=  OBJECT_CLASS_ID_OF(Passage)
  9648.                                    | <construction-type>;
  9649.           ")
  9650.  
  9651.  
  9652.           DEFINE(CONSTRAINT-1,  "
  9653.            <constraint-1>          ::=  <construction-term>
  9654.                                    | <construction-type>;
  9655.  
  9656.            <construction-term>     ::=  <construction-factor>
  9657.                                    | OPT <construction-factor>
  9658.                                    | REP <construction-factor>
  9659.                                    | OPT REP <construction-factor>;
  9660.  
  9661.            <construction-type>     ::=  SEQ({<construction-term>}...)
  9662.                                    | CHO({<construction-term>}...);
  9663.  
  9664.            <construction-factor>   ::=  OBJECT_CLASS_ID_OF(NumberedSegment)
  9665.                                    | OBJECT_CLASS_ID_OF(Paragraph)
  9666.                                    | OBJECT_CLASS_ID_OF(BodyText)
  9667.                                    | OBJECT_CLASS_ID_OF(BodyRaster)
  9668.                                    | OBJECT_CLASS_ID_OF(BodyGeometric)
  9669.                                    | OBJECT_CLASS_ID_OF(Table)
  9670.                                    | OBJECT_CLASS_ID_OF(NumberedList)
  9671.                                    | OBJECT_CLASS_ID_OF(UnNumberedList)
  9672.                                    | OBJECT_CLASS_ID_OF(DefinitionList)
  9673.                                    | <construction-type>;
  9674.           ")
  9675.  
  9676.  
  9677.           DEFINE(PassageGFS, "
  9678.            <construction-expr>     ::=  <constraint-1>;
  9679.  
  9680.            $CONSTRAINT-1  
  9681.           ")
  9682.  
  9683.  
  9684.           DEFINE(NumberedSegmentGFS, "
  9685.            <construction-expr>     ::=
  9686.                          SEQ(<term-1>[<constraint-2>][<constraint-1>]);
  9687.  
  9688.            <term-1>           ::=  OBJECT_CLASS_ID_OF(Number);
  9689.  
  9690.            $CONSTRAINT-1
  9691.            $CONSTRAINT-2
  9692.           ")
  9693.  
  9694.  
  9695.           DEFINE(CONSTRAINT-3,      "
  9696.            <construction-expr>     ::=  <construction-term>
  9697.                                    | <construction-type>;
  9698.  
  9699.                                          135
  9700.  
  9701.  
  9702.  
  9703.  
  9704.  
  9705.  
  9706.  
  9707.  
  9708.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9709.  
  9710.            <construction-term>     ::=  <construction-factor>
  9711.                                    | OPT <construction-factor>
  9712.                                    | REP <construction-factor>
  9713.                                    | OPT REP <construction-factor>;
  9714.  
  9715.            <construction-type>     ::=  SEQ({<construction-term>}...)
  9716.                                    | CHO({<construction-term>}...);
  9717.  
  9718.            <construction-factor>   ::=  OBJECT_CLASS_ID_OF(BodyText)
  9719.                                    | OBJECT_CLASS_ID_OF(BodyRaster)
  9720.                                    | OBJECT_CLASS_ID_OF(BodyGeometric)
  9721.                                    | OBJECT_CLASS_ID_OF(Footnote)
  9722.                                    | OBJECT_CLASS_ID_OF(Reference)
  9723.                                    | <construction-type>;
  9724.           ")
  9725.  
  9726.  
  9727.           DEFINE(ParagraphGFS, "$CONSTRAINT-3")
  9728.  
  9729.  
  9730.           DEFINE(CONSTRAINT-5,      "
  9731.            <construction-expr>     ::=  <construction-term>
  9732.                                    | <construction-type>;
  9733.  
  9734.            <construction-term>     ::=  <construction-factor>
  9735.                                    | OPT <construction-factor>
  9736.                                    | REP <construction-factor>
  9737.                                    | OPT REP <construction-factor>;
  9738.  
  9739.            <construction-type>     ::=  SEQ({<construction-term>}...)
  9740.                                    | CHO({<construction-term>}...);
  9741.  
  9742.            <construction-factor>   ::=  OBJECT_CLASS_ID_OF(Footnote)
  9743.                                    | OBJECT_CLASS_ID_OF(Reference)
  9744.                                    | OBJECT_CLASS_ID_OF(BodyText)
  9745.                                    | <construction-type>;
  9746.           ")
  9747.  
  9748.  
  9749.           DEFINE(PhraseGFS,   "$CONSTRAINT-5")
  9750.  
  9751.  
  9752.           DEFINE(FootnoteGFS, "
  9753.            <construction-expr>     ::=
  9754.                     SEQ(OBJECT_CLASS_ID_OF(FootnoteReference)
  9755.                         OBJECT_CLASS_ID_OF(FootnoteBody));
  9756.           ")
  9757.  
  9758.  
  9759.           DEFINE(FootnoteBodyGFS, "
  9760.            <construction-expr>     ::=
  9761.           SEQ(OBJECT_CLASS_ID_OF(FootnoteNumber)
  9762.                                         <term-1>);
  9763.  
  9764.  
  9765.                                          136
  9766.  
  9767.  
  9768.  
  9769.  
  9770.  
  9771.  
  9772.  
  9773.  
  9774.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9775.  
  9776.            <term-1>      ::=  OBJECT_CLASS_ID_OF(FootnoteText)
  9777.                               | OBJECT_CLASS_ID_OF(Reference) 
  9778.                               | REP OBJECT_CLASS_ID_OF(FootnoteText)
  9779.                               | REP OBJECT_CLASS_ID_OF(Reference) 
  9780.                               | CHO({OBJECT_CLASS_ID_OF(FootnoteText)
  9781.                                    | OBJECT_CLASS_ID_OF(Reference)}...)
  9782.                               | REP CHO({OBJECT_CLASS_ID_OF(FootnoteText)
  9783.                                    | OBJECT_CLASS_ID_OF(Reference)}...);
  9784.           ")
  9785.  
  9786.  
  9787.           DEFINE(ReferenceGFS, "
  9788.            <construction-expr>     ::=
  9789.           OBJECT_CLASS_ID_OF(ReferencedContent)
  9790.                               | SEQ([<term>]
  9791.                                    OBJECT_CLASS_ID_OF(ReferencedContent)
  9792.                                    [<term>]);
  9793.            <term> ::=              OBJECT_CLASS_ID_OF(BodyText)
  9794.                               | OPT OBJECT_CLASS_ID_OF(BodyText)
  9795.                               | CHO( {OBJECT_CLASS_ID_OF(BodyText)}... );
  9796.           ")
  9797.  
  9798.  
  9799.           DEFINE(CommonContentGFS, "
  9800.            <construction-expr>     ::=  <construction-factor>
  9801.                                    | SEQ(<construction-factor>...);
  9802.  
  9803.            <construction-factor>   ::=  OBJECT_CLASS_ID_OF(CommonText)
  9804.                                    | OBJECT_CLASS_ID_OF(PageNumber)
  9805.                                    | OBJECT_CLASS_ID_OF(CommonRaster)
  9806.                                    | OBJECT_CLASS_ID_OF(CommonGeometric)
  9807.                                    | OBJECT_CLASS_ID_OF(CommonReference)
  9808.                                    | OBJECT_CLASS_ID_OF(TableNumber);
  9809.           ")
  9810.  
  9811.  
  9812.           DEFINE(TableGFS,"
  9813.            <construction-expr> ::= REP CHO(OBJECT_CLASS_ID_OF(Row)...)
  9814.                               | REP OBJECT_CLASS_ID_OF(Row)
  9815.                               | SEQ(OBJECT_CLASS_ID_OF(Row)...);
  9816.           ")
  9817.  
  9818.  
  9819.           DEFINE(RowGFS,"
  9820.            <construction-expr> ::= <simple-table>;
  9821.            <simple-table>      ::= REP OBJECT_CLASS_ID_OF(EntryElement)
  9822.                               |   R                   E                   P
  9823.           CHO(OBJECT_CLASS_ID_OF(EntryElement)...)
  9824.                               | SEQ(OBJECT_CLASS_ID_OF(EntryElement)...);
  9825.           ")
  9826.  
  9827.  
  9828.           DEFINE(EntryElementGFS,"
  9829.            <construction-expr> ::= OBJECT_CLASS_ID_OF(EntryText)
  9830.  
  9831.                                          137
  9832.  
  9833.  
  9834.  
  9835.  
  9836.  
  9837.  
  9838.  
  9839.  
  9840.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9841.  
  9842.                               |OBJECT_CLASS_ID_OF(EntryRaster)
  9843.                               |OBJECT_CLASS_ID_OF(EntryGeometric);
  9844.           ")
  9845.  
  9846.  
  9847.           DEFINE(NumberedListGFS,"
  9848.            <construction-expr> ::= SEQ(OBJECT_CLASS_ID_OF(Number)
  9849.                                   OBJECT_CLASS_ID_OF(ListItem))
  9850.                               | REP SEQ(OBJECT_CLASS_ID_OF(Number)
  9851.                                        OBJECT_CLASS_ID_OF(ListItem));
  9852.           ")
  9853.  
  9854.  
  9855.           DEFINE(UnNumberedListGFS,"
  9856.            <construction-expr> ::= OBJECT_CLASS_ID_OF(ListItem)
  9857.                               | REP OBJECT_CLASS_ID_OF(ListItem)
  9858.                               |       S E Q ( < s e p a r a t o r - o b j >
  9859.           OBJECT_CLASS_ID_OF(ListItem))
  9860.                               |           REP           SEQ(<separator-obj>
  9861.           OBJECT_CLASS_ID_OF(ListItem));
  9862.  
  9863.            <separator-obj>    ::= OBJECT_CLASS_ID_OF(BodyText)
  9864.                               |OBJECT_CLASS_ID_OF(BodyRaster)
  9865.                               |OBJECT_CLASS_ID_OF(BodyGeometric); 
  9866.           ")
  9867.  
  9868.            
  9869.           DEFINE(DefinitionListGFS,"
  9870.            <construction-expr>    ::= SEQ(OBJECT_CLASS_ID_OF(ListTerm)
  9871.                                          OBJECT_CLASS_ID_OF(ListItem))
  9872.                                      |REP SEQ(OBJECT_CLASS_ID_OF(ListTerm)
  9873.                                             
  9874.           OBJECT_CLASS_ID_OF(ListItem));
  9875.           ")
  9876.  
  9877.  
  9878.           DEFINE(ListItemGFS," 
  9879.            <construction-expr>     ::= <term> | CHO(<term>...) ;
  9880.  
  9881.            <term>        ::= REP OBJECT_CLASS_ID_OF(Phrase)
  9882.                            | OBJECT_CLASS_ID_OF(NumberedList)
  9883.                            | OBJECT_CLASS_ID_OF(UnNumberedList)
  9884.                            | OBJECT_CLASS_ID_OF(DefinitionList);
  9885.           ")
  9886.  
  9887.  
  9888.           DEFINE(ListTermGFS,"$CONSTRAINT-3")
  9889.  
  9890.  
  9891.           7.3.2  Factor constraints
  9892.  
  9893.  
  9894.  
  9895.  
  9896.  
  9897.                                          138
  9898.  
  9899.  
  9900.  
  9901.  
  9902.  
  9903.  
  9904.  
  9905.  
  9906.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9907.  
  9908.           7.3.2.1  FACTOR ANY-LOGICAL
  9909.  
  9910.           {
  9911.           GENERIC:
  9912.               REQ    Object-type             {VIRTUAL},
  9913.               REQ    Object-class-identifier {ANY_VALUE}
  9914.           SPECIFIC:
  9915.               PERM   Object-type             {VIRTUAL},
  9916.               REQ    Object-identifier       {ANY_VALUE},
  9917.               REQ    Object-class            {VIRTUAL}
  9918.           SPECIFIC_AND_GENERIC:
  9919.               PERM   User-readable-comments  {ANY_STRING},
  9920.               PERM   User-visible-name       {ANY_STRING} 
  9921.           }
  9922.  
  9923.  
  9924.           7.3.2.2  FACTOR COMP-LOGICAL
  9925.  
  9926.           :ANY-LOGICAL {
  9927.           GENERIC:
  9928.               REQ    Object-type             {'composite-logical-object'}
  9929.           SPECIFIC:
  9930.               REQ    Subordinates       {VIRTUAL},
  9931.               PERM   Object-type             {'composite-logical-object'}
  9932.           }
  9933.  
  9934.  
  9935.           7.3.2.3  FACTOR BASIC-LOGICAL
  9936.  
  9937.           :ANY-LOGICAL {
  9938.           GENERIC:
  9939.               REQ    Object-type             {'basic-logical-object'},
  9940.           SPECIFIC:
  9941.               PERM   Object-type             {'basic-logical-object'}
  9942.           }
  9943.  
  9944.  
  9945.           7.3.2.4  FACTOR ANY-COMMON
  9946.  
  9947.           {
  9948.           GENERIC:
  9949.               REQ    Object-type             {VIRTUAL},
  9950.               REQ    Object-class-identifier {ANY_VALUE},
  9951.               PERM   User-readable-comments  {ANY_STRING},
  9952.               PERM   User-visible-name       {ANY_STRING} 
  9953.           }
  9954.  
  9955.  
  9956.           7.3.3  Constituent constraints
  9957.  
  9958.  
  9959.  
  9960.  
  9961.  
  9962.  
  9963.                                          139
  9964.  
  9965.  
  9966.  
  9967.  
  9968.  
  9969.  
  9970.  
  9971.  
  9972.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  9973.  
  9974.           7.3.3.1  DocumentLogicalRoot
  9975.  
  9976.           :ANY-LOGICAL {
  9977.           GENERIC:
  9978.               REQ    Object-type             {'document-logical-root'},
  9979.               REQ    Generator-for-subordinates   {$DocLogRootGFS},
  9980.               REQ    Application-comments    {REQ #constraint-name {"0"},
  9981.                                          PERM #external-data {ANY_VALUE}}
  9982.           SPECIFIC:  
  9983.               PERM   Object-type             {'document-logical-root'},
  9984.               REQ    Object-class
  9985.           {OBJECT_CLASS_ID_OF(DocumentLogicalRoot)},
  9986.               REQ    Subordinates       {SUB_ID_OF(Passage)+},
  9987.               PERM   Application-comments    {REQ #constraint-name {"0"},
  9988.                                     PERM #external-data  {ANY_VALUE}}
  9989.           SPECIFIC_AND_GENERIC:
  9990.               PERM   Bindings           {PMUL {$INITIALISEBINDINGS},
  9991.                                     PERM {$INITIALISEFNOTE}},
  9992.           }
  9993.  
  9994.  
  9995.           7.3.3.2  Passage
  9996.  
  9997.           :COMP-LOGICAL {
  9998.           GENERIC:
  9999.               REQ    Generator-for-subordinates   {$PassageGFS},
  10000.               REQ    Application-comments    {REQ #constraint-name {"1"},
  10001.                                     PERM #external-data  {ANY_VALUE}}
  10002.           SPECIFIC:
  10003.               REQ    Object-class            {OBJECT_CLASS_ID_OF(Passage)},
  10004.               REQ    Subordinates       {SUB_ID_OF(NumberedSegment)+,
  10005.                                     SUB_ID_OF(BodyText)+,
  10006.                                     SUB_ID_OF(BodyRaster)+,
  10007.                                     SUB_ID_OF(BodyGeometric)+,
  10008.                                     SUB_ID_OF(Paragraph)+,
  10009.                                     SUB_ID_OF(Table)+,
  10010.                                     SUB_ID_OF(NumberedList)+,
  10011.                                     SUB_ID_OF(DefinitionList)+,
  10012.                                     SUB_ID_OF(UnNumberedList)+},
  10013.               PERM   Application-comments    {REQ  #constraint-name {"1"},
  10014.                                     PERM #external-data   {ANY_VALUE}}
  10015.           SPECIFIC_AND_GENERIC:
  10016.               PERM   Bindings           {PMUL {$INITIALISEBINDINGS},
  10017.                                     PERM {$INITIALISEFNOTE}},
  10018.               PERM   Layout-style       {STYLE_ID_OF(LStyle1)} 
  10019.           }
  10020.  
  10021.  
  10022.           7.3.3.3  NumberedSegment
  10023.  
  10024.           :COMP-LOGICAL {
  10025.           GENERIC:
  10026.               REQ    Generator-for-subordinates   {$NumberedSegmentGFS},
  10027.               REQ    Application-comments    {REQ #constraint-name {"2"},
  10028.  
  10029.                                          140
  10030.  
  10031.  
  10032.  
  10033.  
  10034.  
  10035.  
  10036.  
  10037.  
  10038.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10039.  
  10040.                                     PERM #external-data {ANY_VALUE}},
  10041.               REQ    Bindings           {PMUL {$SPECIFYBINDINGS}}
  10042.           SPECIFIC:
  10043.               REQ    Object-class
  10044.           {OBJECT_CLASS_ID_OF(NumberedSegment)},
  10045.               REQ    Subordinates       {SUB_ID_OF(Number),
  10046.                                    SUB_ID_OF(NumberedSegment)+,
  10047.                                    SUB_ID_OF(BodyText)+,
  10048.                                    SUB_ID_OF(BodyRaster)+,
  10049.                                    SUB_ID_OF(BodyGeometric)+,
  10050.                                    SUB_ID_OF(Paragraph)+,
  10051.                                    SUB_ID_OF(Table)+,
  10052.                                    SUB_ID_OF(NumberedList)+,
  10053.                                    SUB_ID_OF(DefinitionList)+,
  10054.                                    SUB_ID_OF(UnNumberedList)+},
  10055.               PERM   Application-comments    {REQ  #constraint-name {"2"},
  10056.                                     PERM #external-data   {ANY_VALUE}},
  10057.               PERM   Bindings           {PMUL {$INITIALISEBINDINGS}}
  10058.           SPECIFIC_AND_GENERIC:
  10059.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10060.           }
  10061.  
  10062.  
  10063.           7.3.3.4  Number
  10064.  
  10065.           :BASIC-LOGICAL {
  10066.           GENERIC:
  10067.               REQ    Content-generator       {$SEGMENTNUMBER},
  10068.               REQ    Application-comments    {REQ  #constraint-name {"3"},
  10069.                                     PERM #external-data {ANY_VALUE}}
  10070.           SPECIFIC:
  10071.               REQ    Object-class            {OBJECT_CLASS_ID_OF(Number)},
  10072.               PERM   Application-comments    {REQ #constraint-name {"3"},
  10073.                                     PERM #external-data {ANY_VALUE}}
  10074.           SPECIFIC_AND_GENERIC:
  10075.               PERM   Layout-style       {STYLE_ID_OF(LStyle2)},
  10076.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)},
  10077.               PERM   Content-architecture-class   {$FC|$PC|$FPC} 
  10078.           }
  10079.  
  10080.  
  10081.           7.3.3.5  Paragraph
  10082.  
  10083.           :COMP-LOGICAL {
  10084.           GENERIC:
  10085.               REQ    Generator-for-subordinates   {$ParagraphGFS},
  10086.               REQ    Application-comments    {REQ #constraint-name {"6"},
  10087.                                     PERM #external-data {ANY_VALUE}}
  10088.           SPECIFIC:
  10089.               REQ    Object-class
  10090.           {OBJECT_CLASS_ID_OF(Paragraph)},
  10091.               REQ    Subordinates       {SUB_ID_OF(BodyText)+,
  10092.                                     SUB_ID_OF(Footnote)+,
  10093.                                     SUB_ID_OF(BodyRaster)+,
  10094.  
  10095.                                          141
  10096.  
  10097.  
  10098.  
  10099.  
  10100.  
  10101.  
  10102.  
  10103.  
  10104.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10105.  
  10106.                                     SUB_ID_OF(BodyGeometric)+,
  10107.                                     SUB_ID_OF(Reference)+},    
  10108.               PERM   Application-comments    {REQ #constraint-name {"6"},
  10109.                                     PERM #external-data {ANY_VALUE}}
  10110.           SPECIFIC_AND_GENERIC:
  10111.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10112.           }
  10113.  
  10114.  
  10115.           7.3.3.6  Phrase
  10116.  
  10117.           :COMP-LOGICAL {
  10118.           GENERIC:
  10119.               REQ    Generator-for-subordinates   {$PhraseGFS},
  10120.               REQ    Application-comments    {REQ #constraint-name {"7"},
  10121.                                     PERM #external-data {ANY_VALUE}}
  10122.           SPECIFIC:
  10123.               REQ    Object-class            {OBJECT_CLASS_ID_OF(Phrase)},
  10124.               REQ    Subordinates       {SUB_ID_OF(BodyText)+,
  10125.                                     SUB_ID_OF(Footnote)+,
  10126.                                     SUB_ID_OF(Reference)+},    
  10127.               PERM   Application-comments    {REQ #constraint-name {"7"},
  10128.                                     PERM #external-data {ANY_VALUE}}
  10129.           SPECIFIC_AND_GENERIC:
  10130.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10131.           }
  10132.  
  10133.  
  10134.           7.3.3.7  Footnote
  10135.  
  10136.           :COMP-LOGICAL {
  10137.           GENERIC:
  10138.               REQ    Generator-for-subordinates   {$FootnoteGFS},
  10139.               PERM   Bindings
  10140.           {REQ{$INCFNOTENUMBER,$FNOTENUMBERSTRING}
  10141.                                          | $FNOTESTRINGLITERAL},
  10142.               REQ    Application-comments    {REQ  #constraint-name {"8"},
  10143.                                     PERM #external-data {ANY_VALUE}}
  10144.           SPECIFIC:
  10145.               REQ    Object-class
  10146.           {OBJECT_CLASS_ID_OF(Footnote)},
  10147.               REQ    Subordinates       {SUB_ID_OF(FootnoteReference),
  10148.                                     SUB_ID_OF(FootnoteBody)},
  10149.               PERM   Bindings           {$FNOTESTRINGLITERAL}
  10150.                                     PERM {$FNOTESTRINGLITERAL}},
  10151.               PERM   Application-comments    {REQ  #constraint-name {"8"},
  10152.                                     PERM #external-data {ANY_VALUE}}
  10153.           SPECIFIC_AND_GENERIC:
  10154.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10155.           }
  10156.  
  10157.  
  10158.  
  10159.  
  10160.  
  10161.                                          142
  10162.  
  10163.  
  10164.  
  10165.  
  10166.  
  10167.  
  10168.  
  10169.  
  10170.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10171.  
  10172.           7.3.3.8  FootnoteNumber
  10173.  
  10174.           :BASIC-LOGICAL {
  10175.           GENERIC:
  10176.               REQ    Content-generator       {$FNNUMBER},
  10177.               REQ    Application-comments    {REQ #constraint-name {"9"},
  10178.                                     PERM #external-data {ANY_VALUE}}
  10179.               REQ    Layout-style            {STYLE_ID_OF(LStyle9)},
  10180.           SPECIFIC:
  10181.               REQ    Object-class
  10182.           {OBJECT_CLASS_ID_OF(FootnoteNumber)},
  10183.               PERM   Application-comments    {REQ #constraint-name {"9"},
  10184.                                     PERM #external-data {ANY_VALUE}}
  10185.               PERM   Layout-style       {STYLE_ID_OF(LStyle9)},
  10186.           SPECIFIC_AND_GENERIC:
  10187.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)},
  10188.               PERM   Content-architecture-class   {$FC|$PC|$FPC} 
  10189.           }
  10190.  
  10191.  
  10192.           7.3.3.9  FootnoteReference
  10193.  
  10194.           :BASIC-LOGICAL {
  10195.           GENERIC:
  10196.               REQ    Content-generator       {$FNNUMBER},
  10197.               REQ    Application-comments    {REQ #constraint-name {"10"},
  10198.                                     PERM #external-data {ANY_VALUE}}
  10199.           SPECIFIC:
  10200.               REQ    Object-class
  10201.           {OBJECT_CLASS_ID_OF(FootnoteReference)},
  10202.               PERM   Application-comments    {REQ #constraint-name {"10"},
  10203.                                     PERM #external-data {ANY_VALUE}}
  10204.           SPECIFIC_AND_GENERIC:
  10205.               PERM   Layout-style       {STYLE_ID_OF(LStyle10)},
  10206.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)},
  10207.               PERM   Content-architecture-class   {$FC|$PC|$FPC} 
  10208.           }
  10209.  
  10210.  
  10211.           7.3.3.10  FootnoteBody
  10212.  
  10213.           :COMP-LOGICAL {
  10214.           GENERIC:
  10215.               REQ    Generator-for-subordinates   {$FootnoteBodyGFS},
  10216.               REQ    Application-comments    {REQ #constraint-name {"11"},
  10217.                                     PERM #external-data {ANY_VALUE}}
  10218.           SPECIFIC:
  10219.               REQ    Object-class
  10220.           {OBJECT_CLASS_ID_OF(FootnoteBody)},
  10221.               REQ    Subordinates       {SUB_ID_OF(FootnoteNumber),
  10222.                                     SUB_ID_OF(FootnoteText)+,
  10223.                                     SUB_ID_OF(Reference)+},
  10224.               PERM   Application-comments    {REQ #constraint-name {"11"},
  10225.                                     PERM #external-data {ANY_VALUE}}
  10226.  
  10227.                                          143
  10228.  
  10229.  
  10230.  
  10231.  
  10232.  
  10233.  
  10234.  
  10235.  
  10236.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10237.  
  10238.           SPECIFIC_AND_GENERIC:
  10239.               PERM   Layout-style       {STYLE_ID_OF(LStyle11)} 
  10240.           }
  10241.  
  10242.  
  10243.           7.3.3.11  FootnoteText
  10244.  
  10245.           :BASIC-LOGICAL {
  10246.           GENERIC:
  10247.               REQ    Application-comments    {REQ #constraint-name {"12"},
  10248.                                     PERM #external-data {ANY_VALUE}}
  10249.               REQ    Layout-style            {STYLE_ID_OF(LStyle6)},
  10250.           SPECIFIC:
  10251.               REQ    Object-class
  10252.           {OBJECT_CLASS_ID_OF(FootnoteText)},
  10253.               PERM   Application-comments    {REQ #constraint-name {"12"},
  10254.                                     PERM #external-data {ANY_VALUE}}
  10255.               PERM   Layout-style       {STYLE_ID_OF(LStyle6)},
  10256.               REQ    Content-portions
  10257.           {CONTENT_ID_OF(Character-content-portion)+}
  10258.           SPECIFIC_AND_GENERIC:
  10259.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)},
  10260.               PERM   Content-architecture-class   {$FC|$PC|$FPC},
  10261.           }
  10262.  
  10263.  
  10264.           7.3.3.12  BodyText
  10265.  
  10266.           :BASIC-LOGICAL {
  10267.           GENERIC:
  10268.               REQ    Application-comments    {REQ #constraint-name {"14"},
  10269.                                     PERM #external-data {ANY_VALUE}},
  10270.               PERM   Resource                {ANY_VALUE}
  10271.           SPECIFIC:
  10272.               REQ    Object-class
  10273.           {OBJECT_CLASS_ID_OF(BodyText)},
  10274.               PERM   Application-comments    {REQ #constraint-name {"14"},
  10275.                                     PERM #external-data {ANY_VALUE}}
  10276.           SPECIFIC_AND_GENERIC:
  10277.               PERM   Layout-style       {STYLE_ID_OF(LStyle2)},
  10278.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)},
  10279.               PERM   Content-architecture-class   {$FC|$PC|$FPC},
  10280.               PERM   Content-portions
  10281.           {CONTENT_ID_OF(Character-content-portion)+}
  10282.                --  if the attribute "content portions" is specified neither
  10283.                in the  specific nor in the generic part, then the attribute
  10284.                "resource" shall be specified. --
  10285.           }
  10286.  
  10287.           7.3.3.13  Reference
  10288.  
  10289.           :COMP-LOGICAL {
  10290.           GENERIC:
  10291.               REQ    Generator-for-subordinates   {$ReferenceGFS},
  10292.  
  10293.                                          144
  10294.  
  10295.  
  10296.  
  10297.  
  10298.  
  10299.  
  10300.  
  10301.  
  10302.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10303.  
  10304.               REQ    Application-comments    {REQ #constraint-name {"15"},
  10305.                                     PERM #external-data {ANY_VALUE}}
  10306.           SPECIFIC:
  10307.               REQ    Object-class
  10308.           {OBJECT_CLASS_ID_OF(Reference)},
  10309.               REQ    Subordinates       {SUB_ID_OF(BodyText)+,
  10310.                                     SUB_ID_OF(ReferencedContent)},
  10311.               PERM   Application-comments    {REQ #constraint-name {"15"},
  10312.                                     PERM #external-data {ANY_VALUE}}
  10313.           SPECIFIC_AND_GENERIC:
  10314.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10315.  
  10316.  
  10317.  
  10318.           7.3.3.14  ReferencedContent
  10319.  
  10320.           :BASIC-LOGICAL {
  10321.           GENERIC:
  10322.               REQ    Application-comments    {REQ #constraint-name {"16"},
  10323.                                     PERM #external-data {ANY_VALUE}}
  10324.           SPECIFIC:
  10325.               REQ    Object-class
  10326.           {OBJECT_CLASS_ID_OF(ReferencedContent)},
  10327.               PERM   Content-generator       {$REF},
  10328.               PERM   Content-portions        {CONTENT_ID_OF(Character-
  10329.           content-portion)+},
  10330.                                    -- Either Content-generator  or Content-
  10331.           portions is specified --
  10332.               PERM   Application-comments    {REQ  #constraint-name {"16"},
  10333.                                     PERM #external-data {ANY_VALUE}}
  10334.           SPECIFIC_AND_GENERIC:
  10335.               
  10336.               PERM   Layout-style       {STYLE_ID_OF(LStyle10)},
  10337.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)},
  10338.               PERM   Content-architecture-class   {$FC|$PC|$FPC}
  10339.           }
  10340.  
  10341.  
  10342.           7.3.3.15  BodyRaster
  10343.  
  10344.           :BASIC-LOGICAL {
  10345.           GENERIC:
  10346.               REQ    Content-architecture-class   {$FPR},
  10347.               PERM   Resource                     {ANY_VALUE},
  10348.               REQ    Application-comments    {REQ #constraint-name {"17"},
  10349.                                     PERM #external-data {ANY_VALUE}}
  10350.           SPECIFIC:
  10351.               REQ    Object-class
  10352.           {OBJECT_CLASS_ID_OF(BodyRaster)},
  10353.               PERM   Content-architecture-class   {$FPR},
  10354.               PERM   Application-comments    {REQ #constraint-name {"17"},
  10355.                                     PERM #external-data {ANY_VALUE}}
  10356.           SPECIFIC_AND_GENERIC:
  10357.               PERM   Layout-style       {STYLE_ID_OF(LStyle5)},
  10358.  
  10359.                                          145
  10360.  
  10361.  
  10362.  
  10363.  
  10364.  
  10365.  
  10366.  
  10367.  
  10368.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10369.  
  10370.               PERM   Presentation-style      {STYLE_ID_OF(PStyle3)},
  10371.               PERM   Content-portions        {CONTENT_ID_OF(Raster-
  10372.           graphics-content-portion)}
  10373.                --  if the attribute "content portions" is specified neither
  10374.                in the  specific nor in the generic part, then the attribute
  10375.                "resource" shall be specified. --
  10376.           }
  10377.  
  10378.           7.3.3.16  BodyGeometric
  10379.  
  10380.           :BASIC-LOGICAL {
  10381.           GENERIC:
  10382.               REQ    Content-architecture-class   {$FPG},
  10383.               PERM   Resource                     {ANY_VALUE},
  10384.               REQ    Application-comments    {REQ #constraint-name {"18"},
  10385.                                     PERM #external-data {ANY_VALUE}}
  10386.           SPECIFIC:
  10387.               REQ    Object-class
  10388.           {OBJECT_CLASS_ID_OF(BodyGeometric)},
  10389.               PERM   Content-architecture-class   {$FPG},
  10390.               PERM   Application-comments    {REQ #constraint-name {"18"},
  10391.                                     PERM #external-data {ANY_VALUE}}
  10392.           SPECIFIC_AND_GENERIC:
  10393.               PERM   Layout-style       {STYLE_ID_OF(LStyle5)},
  10394.               PERM   Presentation-style      {STYLE_ID_OF(PStyle2)},
  10395.               PERM   Content-portions        {CONTENT_ID_OF(Geometric-
  10396.           graphics-content-portion)}
  10397.                --  if the attribute "content portions" is specified neither
  10398.                in the  specific nor in the generic part, then the attribute
  10399.                "resource" shall be specified. --
  10400.           }
  10401.  
  10402.           7.3.3.17  CommonContent
  10403.  
  10404.           :ANY-COMMON {
  10405.           GENERIC:
  10406.               REQ    Object-type             {'composite-logical-object'},
  10407.               REQ    Generator-for-subordinates   {$CommonContentGFS},
  10408.               REQ    Application-comments    {REQ #constraint-name {"19"},
  10409.                                     PERM #external-data {ANY_VALUE}},
  10410.  
  10411.  
  10412.  
  10413.           7.3.3.18  CommonText
  10414.  
  10415.           :ANY-COMMON {
  10416.           GENERIC:
  10417.               REQ    Object-type             {'basic-logical-object'},
  10418.               PERM   Content-portions
  10419.           {CONTENT_ID_OF(Character-content-portion)+},
  10420.               PERM   Resource           {ANY_VALUE},
  10421.               PERM   Layout-style       {STYLE_ID_OF(LStyle3)},
  10422.               PERM   Presentation-style      {STYLE_ID_OF(PStyle4)},
  10423.               PERM   Content-architecture-class   {$FC|$PC|$FPC},
  10424.  
  10425.                                          146
  10426.  
  10427.  
  10428.  
  10429.  
  10430.  
  10431.  
  10432.  
  10433.  
  10434.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10435.  
  10436.               REQ    Application-comments    {REQ #constraint-name {"20"},
  10437.                                     PERM #external-data {ANY_VALUE}} 
  10438.                -- Either  the  attribute "content  portions" or  "resource"
  10439.                shall be specified in the above constituent constraint. --
  10440.           }
  10441.  
  10442.  
  10443.           7.3.3.19  CommonReference
  10444.  
  10445.           :ANY-COMMON {
  10446.           GENERIC:
  10447.               REQ    Object-type             {'basic-logical-object'},
  10448.               REQ    Content-generator       {$COMMONREF},
  10449.               PERM   Layout-style       {STYLE_ID_OF(LStyle3)},
  10450.               PERM   Presentation-style      {STYLE_ID_OF(PStyle4)},
  10451.               PERM   Content-architecture-class   {$FC|$PC|$FPC},
  10452.               REQ    Application-comments    {REQ #constraint-name {"37"},
  10453.                                     PERM #external-data {ANY_VALUE}} 
  10454.           }
  10455.  
  10456.  
  10457.           7.3.3.20  CommonRaster
  10458.  
  10459.           :ANY-COMMON {
  10460.           GENERIC:
  10461.               REQ    Object-type             {'basic-logical-object'},
  10462.               PERM   Content-portions
  10463.           {CONTENT_ID_OF(Raster-graphics-content-portion)},
  10464.               PERM   Resource           {ANY_VALUE},
  10465.               PERM   Layout-style       {STYLE_ID_OF(LStyle8)},
  10466.               PERM   Presentation-style      {STYLE_ID_OF(PStyle3)},
  10467.               REQ    Content-architecture-class   {$FPR},
  10468.               REQ    Application-comments    {REQ #constraint-name {"21"},
  10469.                                     PERM #external-data {ANY_VALUE}} 
  10470.                -- Either  the attribute  "content  portions" or  "resource"
  10471.                shall be specified in the above constituent constraint. --
  10472.           }
  10473.  
  10474.           7.3.3.21  CommonGeometric
  10475.  
  10476.           :ANY-COMMON {
  10477.           GENERIC:
  10478.               REQ    Object-type             {'basic-logical-object'},
  10479.               PERM   Content-portions
  10480.           {CONTENT_ID_OF(Geometric-graphics-content-portion)},
  10481.               PERM   Resource           {ANY_VALUE},
  10482.               PERM   Layout-style       {STYLE_ID_OF(LStyle8)},
  10483.               PERM   Presentation-style      {STYLE_ID_OF(PStyle2)},
  10484.               REQ    Content-architecture-class   {$FPG},
  10485.               REQ    Application-comments    {REQ #constraint-name {"22"},
  10486.                                     PERM #external-data {ANY_VALUE}} 
  10487.                -- Either  the  attribute "content  portions" or  "resource"
  10488.                shall be specified in the above constituent constraint. --
  10489.           }
  10490.  
  10491.                                          147
  10492.  
  10493.  
  10494.  
  10495.  
  10496.  
  10497.  
  10498.  
  10499.  
  10500.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10501.  
  10502.           7.3.3.22  PageNumber
  10503.  
  10504.           :ANY-COMMON {
  10505.           GENERIC:
  10506.               REQ    Object-type             {'basic-logical-object'},
  10507.               REQ    Content-generator       {$PGNUMBER},
  10508.               PERM   Layout-style       {STYLE_ID_OF(LStyle3)},
  10509.               PERM   Presentation-style      {STYLE_ID_OF(PStyle4)},
  10510.               PERM   Content-architecture-class   {$FC|$PC|$FPC},
  10511.               REQ    Application-comments    {REQ #constraint-name {"40"},
  10512.                                     PERM #external-data {ANY_VALUE}} 
  10513.           }
  10514.  
  10515.  
  10516.           7.3.3.23  TableNumber
  10517.  
  10518.           :ANY-COMMON {
  10519.           GENERIC:
  10520.               REQ    Object-type             {'basic-logical-object'},
  10521.               REQ    Content-generator       {$TABLENUMBER},
  10522.               PERM   Layout-style       {STYLE_ID_OF(LStyle3)}, 
  10523.               PERM   Presentation-style      {STYLE_ID_OF(PStyle4)},
  10524.               PERM   Content-architecture-class   {$FC|$PC|$FPC},
  10525.               REQ    Application-comments    {REQ #constraint-name {"44"},
  10526.                                     PERM #external-data {ANY_VALUE}}
  10527.           }
  10528.  
  10529.  
  10530.           7.3.3.24  NumberedList
  10531.  
  10532.           :COMP-LOGICAL {
  10533.           GENERIC:
  10534.               REQ    Generator-for-subordinates   {$NumberedListGFS},
  10535.               REQ    Application-comments    {REQ #constraint-name {"25"},
  10536.                                     PERM #external-data {ANY_VALUE}}
  10537.           SPECIFIC:
  10538.               REQ    Object-class
  10539.           {OBJECT_CLASS_ID_OF(NumberedList)},
  10540.               REQ    Subordinates       {SUB_ID_OF(Number)+,
  10541.                                     SUB_ID_OF(ListItem)+ },
  10542.               PERM   Application-comments    {REQ  #constraint-name {"25"},
  10543.                                     PERM #external-data   {ANY_VALUE}}
  10544.           SPECIFIC_AND_GENERIC:
  10545.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10546.           }
  10547.  
  10548.  
  10549.           7.3.3.25  UnNumberedList
  10550.  
  10551.           :COMP-LOGICAL {
  10552.           GENERIC:
  10553.               REQ    Generator-for-subordinates   {$UnNumberedListGFS},
  10554.               REQ    Application-comments    {REQ #constraint-name {"26"},
  10555.                                     PERM #external-data {ANY_VALUE}}
  10556.  
  10557.                                          148
  10558.  
  10559.  
  10560.  
  10561.  
  10562.  
  10563.  
  10564.  
  10565.  
  10566.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10567.  
  10568.           SPECIFIC:
  10569.               REQ    Object-class
  10570.           {OBJECT_CLASS_ID_OF(UnNumberedList)},
  10571.               REQ    Subordinates       {SUB_ID_OF(BodyText)+,
  10572.                                     SUB_ID_OF(BodyRaster)+,
  10573.                                     SUB_ID_OF(BodyGeometric)+,
  10574.                                     SUB_ID_OF(ListItem)+ },
  10575.               PERM   Application-comments    {REQ  #constraint-name {"26"},
  10576.                                     PERM #external-data {ANY_VALUE}}
  10577.           SPECIFIC_AND_GENERIC:
  10578.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10579.           }
  10580.  
  10581.  
  10582.           7.3.3.26  DefinitionList
  10583.  
  10584.           :COMP-LOGICAL {
  10585.           GENERIC:
  10586.               REQ    Generator-for-subordinates   {$DefinitionListGFS},
  10587.               REQ    Application-comments    {REQ  #constraint-name {"27"},
  10588.                                     PERM #external-data {ANY_VALUE}}
  10589.           SPECIFIC:
  10590.               REQ    Object-class            {OBJECT_CLASS_ID_OF(Definition
  10591.                                              List)},
  10592.               REQ    Subordinates       {SUB_ID_OF(ListTerm)+,
  10593.                                     SUB_ID_OF(ListItem)+ },
  10594.               PERM   Application-comments    {REQ  #constraint-name {"27"},
  10595.                                     PERM #external-data {ANY_VALUE}}
  10596.           SPECIFIC_AND_GENERIC:
  10597.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10598.           }
  10599.  
  10600.  
  10601.           7.3.3.27  ListItem
  10602.  
  10603.           :COMP-LOGICAL {
  10604.           GENERIC:
  10605.               REQ    Generator-for-subordinates   {$ListItemGFS},
  10606.               REQ    Application-comments    {REQ #constraint-name {"28"},
  10607.                                     PERM #external-data {ANY_VALUE}}
  10608.           SPECIFIC:
  10609.               REQ    Object-class
  10610.           {OBJECT_CLASS_ID_OF(ListItem)},
  10611.               REQ    Subordinates       {SUB_ID_OF(Phrase)+,
  10612.                                     SUB_ID_OF(NumberedList)+,
  10613.                                     SUB_ID_OF(UnNumberedList)+,
  10614.                                     SUB_ID_OF(DefinitionList)+ },
  10615.               PERM   Application-comments    {REQ  #constraint-name {"28"},
  10616.                                     PERM #external-data {ANY_VALUE}}
  10617.           SPECIFIC_AND_GENERIC:
  10618.               PERM   Layout-style       {STYLE_ID_OF(LStyle4)} 
  10619.           }
  10620.  
  10621.  
  10622.  
  10623.                                          149
  10624.  
  10625.  
  10626.  
  10627.  
  10628.  
  10629.  
  10630.  
  10631.  
  10632.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10633.  
  10634.           7.3.3.28  ListTerm
  10635.  
  10636.           :COMP-LOGICAL {
  10637.           GENERIC:
  10638.               REQ    Generator-for-subordinates   {$ListTermGFS},
  10639.               REQ    Application-comments    {REQ  #constraint-name {"29"},
  10640.                                     PERM #external-data {ANY_VALUE}}
  10641.           SPECIFIC:
  10642.               REQ    Object-class            {OBJECT_CLASS_ID_OF(ListTerm)}
  10643.                                              ,
  10644.               REQ    Subordinates       {SUB_ID_OF(BodyText)+,
  10645.                                     SUB_ID_OF(BodyRaster)+,
  10646.                                     SUB_ID_OF(BodyGeometric)+,
  10647.                                     SUB_ID_OF(Reference)+,
  10648.                                     SUB_ID_OF(Phrase)+,
  10649.                                     SUB_ID_OF(Footnote)+ },
  10650.               PERM   Application-comments    {REQ  #constraint-name {"29"},
  10651.                                     PERM #external-data {ANY_VALUE}}
  10652.           SPECIFIC_AND_GENERIC:
  10653.               PERM    Layout-style      {STYLE_ID_OF(LStyle4)} 
  10654.           }
  10655.  
  10656.  
  10657.           7.3.3.29  Table
  10658.  
  10659.           :COMP-LOGICAL {
  10660.           GENERIC:
  10661.               REQ    Generator-for-subordinates   {$TableGFS},
  10662.               REQ    Application-comments    {REQ  #constraint-name {"30"},
  10663.                                     PERM #external-data {ANY_VALUE}},
  10664.               REQ    Layout-style            {STYLE_ID_OF(LStyleT4)}
  10665.           SPECIFIC:
  10666.               REQ    Object-class            {OBJECT_CLASS_ID_OF(Table)},
  10667.               REQ    Subordinates       {SUB_ID_OF(Row)+},
  10668.               PERM   Application-comments    {REQ  #constraint-name {"30"},
  10669.                                     PERM #external-data {ANY_VALUE}},
  10670.               PERM   Layout-style       {STYLE_ID_OF(LStyleT8)} 
  10671.           }
  10672.  
  10673.  
  10674.           7.3.3.30  Row
  10675.  
  10676.           :COMP-LOGICAL {
  10677.           GENERIC:
  10678.               REQ    Generator-for-subordinates   {$RowGFS},
  10679.               REQ    Application-comments    {REQ #constraint-name {"31"},
  10680.                                     PERM #external-data {ANY_VALUE}},
  10681.               REQ    Layout-style            {STYLE_ID_OF(LStyleT5)}
  10682.           SPECIFIC:
  10683.               REQ    Object-class            {OBJECT_CLASS_ID_OF(Row)},
  10684.               REQ    Subordinates       {SUB_ID_OF(EntryElement)+},
  10685.               PERM   Application-comments    {REQ #constraint-name {"31"},
  10686.                                     PERM #external-data {ANY_VALUE}} 
  10687.           }
  10688.  
  10689.                                          150
  10690.  
  10691.  
  10692.  
  10693.  
  10694.  
  10695.  
  10696.  
  10697.  
  10698.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10699.  
  10700.  
  10701.           7.3.3.31  EntryElement
  10702.  
  10703.           :COMP-LOGICAL {
  10704.           GENERIC:
  10705.               REQ    Generator-for-subordinates   {$EntryElementGFS},
  10706.               REQ    Application-comments    {REQ  #constraint-name {"35"},
  10707.                                     PERM #external-data   {ANY_VALUE}},
  10708.               REQ    Layout-style            {STYLE_ID_OF(LStyleT2)}
  10709.           SPECIFIC:
  10710.               REQ    Object-class
  10711.           {OBJECT_CLASS_ID_OF(EntryElement)},
  10712.               REQ    Subordinates       {SUB_ID_OF(EntryText),
  10713.                                     SUB_ID_OF(EntryRaster),
  10714.                                     SUB_ID_OF(EntryGeometric)},
  10715.               PERM   Application-comments    {REQ  #constraint-name {"35"},
  10716.                                     PERM #external-data  {ANY_VALUE}} 
  10717.           }
  10718.  
  10719.  
  10720.           7.3.3.32  EntryText
  10721.  
  10722.           :BASIC-LOGICAL {
  10723.           GENERIC:
  10724.               PERM   Resource                {ANY_VALUE},
  10725.               REQ    Application-comments    {REQ  #constraint-name {"41"},
  10726.                                     PERM #external-data   {ANY_VALUE}}
  10727.           SPECIFIC:
  10728.               REQ    Object-class
  10729.           {OBJECT_CLASS_ID_OF(EntryText)},
  10730.               PERM   Application-comments    {REQ  #constraint-name {"41"},
  10731.                                     PERM #external-data   {ANY_VALUE}}
  10732.           SPECIFIC_AND_GENERIC:
  10733.               PERM   Layout-style       {STYLE_ID_OF(LStyleT9)},
  10734.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)},
  10735.               PERM   Content-architecture-class   {$FC|$PC|$FPC},
  10736.               PERM   Content-portions        {CONTENT_ID_OF(Character-
  10737.           content-portion)+}
  10738.                --  if the attribute "content portions" is specified neither
  10739.                in the  specific nor in the generic part, then the attribute
  10740.                "resource" shall be specified. --
  10741.           }
  10742.  
  10743.  
  10744.           7.3.3.33  EntryRaster
  10745.  
  10746.           :BASIC-LOGICAL {
  10747.  
  10748.           GENERIC:
  10749.               REQ    Content-architecture-class   {$FPR},
  10750.               PERM   Resource           {ANY_VALUE},
  10751.               REQ    Application-comments    {REQ  #constraint-name {"42"},
  10752.                                     PERM #external-data   {ANY_VALUE}}
  10753.           SPECIFIC:
  10754.  
  10755.                                          151
  10756.  
  10757.  
  10758.  
  10759.  
  10760.  
  10761.  
  10762.  
  10763.  
  10764.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10765.  
  10766.               REQ    Object-class
  10767.           {OBJECT_CLASS_ID_OF(EntryRaster)},
  10768.               PERM   Content-architecture-class   {$FPR},
  10769.               PERM   Application-comments    {REQ  #constraint-name {"42"},
  10770.                                     PERM #external-data   {ANY_VALUE}}
  10771.           SPECIFIC_AND_GENERIC:
  10772.               PERM   Layout-style       {STYLE_ID_OF(LStyleT9)},
  10773.               PERM   Presentation-style      {STYLE_ID_OF(PStyle3)},
  10774.               PERM   Content-portions        {CONTENT_ID_OF(Raster-
  10775.           graphics-content-portion)}
  10776.                --  if the attribute "content portions" is specified neither
  10777.                in the  specific nor in the generic part, then the attribute
  10778.                "resource" shall be specified. --
  10779.           }
  10780.  
  10781.           7.3.3.34  EntryGeometric
  10782.  
  10783.           :BASIC-LOGICAL {
  10784.           GENERIC:
  10785.               REQ    Content-architecture-class   {$FPG},
  10786.               PERM   Resource           {ANY_VALUE},
  10787.               REQ    Application-comments    {REQ  #constraint-name {"43"},
  10788.                                     PERM #external-data   {ANY_VALUE}}
  10789.           SPECIFIC:
  10790.               REQ    Object-class
  10791.           {OBJECT_CLASS_ID_OF(EntryGeometric)},
  10792.               PERM   Content-architecture-class   {$FPG},
  10793.               PERM   Application-comments    {REQ  #constraint-name {"43"},
  10794.                                     PERM #external-data   {ANY_VALUE}}
  10795.           SPECIFIC_AND_GENERIC:
  10796.               PERM   Layout-style       {STYLE_ID_OF(LStyleT9)},
  10797.               PERM   Presentation-style      {STYLE_ID_OF(PStyle2)},
  10798.               PERM   Content-portions        {CONTENT_ID_OF(Geometric-
  10799.           graphics-content-portion)}
  10800.                --  if the attribute "content portions" is specified neither
  10801.                in the  specific nor in the generic part, then the attribute
  10802.                "resource" shall be specified. --
  10803.           }
  10804.  
  10805.  
  10806.  
  10807.  
  10808.  
  10809.  
  10810.  
  10811.  
  10812.  
  10813.  
  10814.  
  10815.  
  10816.  
  10817.  
  10818.  
  10819.  
  10820.  
  10821.                                          152
  10822.  
  10823.  
  10824.  
  10825.  
  10826.  
  10827.  
  10828.  
  10829.  
  10830.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10831.  
  10832.  
  10833.  
  10834.           7.4  Layout constituent constraints
  10835.  
  10836.  
  10837.           7.4.1  Macro definitions
  10838.  
  10839.           DEFINE(DocLayRootGFS,   "
  10840.            <construction-expr>     :                  :                  =
  10841.           <construction-term>|<construction-type>;
  10842.  
  10843.            <construction-term>     ::= <construction-factor>
  10844.                             | OPT <construction-factor>
  10845.                             | REP <construction-factor>
  10846.                             | OPT REP <construction-factor>;
  10847.  
  10848.            <construction-type>     ::= SEQ(<construction-term>...)
  10849.                             | CHO(<construction-term>...);
  10850.  
  10851.            <construction-factor>   ::= OBJECT_CLASS_ID_OF(PageSet)
  10852.                             | <construction-type>;
  10853.           ")
  10854.  
  10855.  
  10856.  
  10857.           DEFINE(PageSetGFS,  "
  10858.            <construction-expr>     ::= <pageset-1>
  10859.                                        |<pageset-2>;
  10860.                                        |<pageset-3>;
  10861.                                        |SEQ(<pageset-1><pageset-2>);
  10862.                                        |SEQ(<pageset-1><pageset-3>);
  10863.  
  10864.            <pageset-1>   ::= OBJECT_CLASS_ID_OF(Page)
  10865.                             | OPT OBJECT_CLASS_ID_OF(Page);
  10866.  
  10867.            <pageset-2>   ::= REP OBJECT_CLASS_ID_OF(Page)
  10868.                             | OPT REP OBJECT_CLASS_ID_OF(Page);
  10869.  
  10870.            <pageset-3>   ::= OPT REP SEQ (OBJECT_CLASS_ID_OF(RectoPage)
  10871.                                                         O       P       T
  10872.           OBJECT_CLASS_ID_OF(VersoPage))
  10873.                             | OPT REP SEQ (OBJECT_CLASS_ID_OF(VersoPage)
  10874.                                                         O       P       T
  10875.           OBJECT_CLASS_ID_OF(RectoPage))
  10876.                             | REP SEQ (OBJECT_CLASS_ID_OF(RectoPage)
  10877.                                                         O       P       T
  10878.           OBJECT_CLASS_ID_OF(VersoPage))
  10879.                             | REP SEQ (OBJECT_CLASS_ID_OF(VersoPage)
  10880.                                                         O       P       T
  10881.           OBJECT_CLASS_ID_OF(RectoPage));
  10882.           ")
  10883.  
  10884.  
  10885.           DEFINE(PageGFS,     "
  10886.  
  10887.                                          153
  10888.  
  10889.  
  10890.  
  10891.  
  10892.  
  10893.  
  10894.  
  10895.  
  10896.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10897.  
  10898.            <construction-expr>     :                  :                  =
  10899.           SEQ([<headerarea>]<bodyarea>[<footerarea>])
  10900.                            | <bodyarea>; 
  10901.  
  10902.            <headerarea>       ::= OBJECT_CLASS_ID_OF(BasicHeader)
  10903.                            | OBJECT_CLASS_ID_OF(CompositeHeader);
  10904.  
  10905.            <bodyarea>         ::= OBJECT_CLASS_ID_OF(VariableCompositeBody)
  10906.                            | OBJECT_CLASS_ID_OF(BasicBody);
  10907.  
  10908.            <footerarea>       ::= OBJECT_CLASS_ID_OF(BasicFooter)
  10909.                            | OBJECT_CLASS_ID_OF(CompositeFooter);
  10910.           ")
  10911.  
  10912.  
  10913.           DEFINE(CompositeCommonGFS,    "
  10914.            <construction-expr>     ::= <fixed-common-content-frames>
  10915.                            | <variable-common-content-frames>;
  10916.  
  10917.            <fixed-common-content-frames>   
  10918.                          ::= SEQ({OBJECT_CLASS_ID_OF(SourcedContentFixed)
  10919.                            | OBJECT_CLASS_ID_OF(ArrangedContentFixed)}...);
  10920.            
  10921.            <variable-common-content-frames>
  10922.                          :                       :                       =
  10923.           SEQ({OBJECT_CLASS_ID_OF(SourcedContentVariable)
  10924.                                                                           |
  10925.           OBJECT_CLASS_ID_OF(ArrangedContentVariable)}...);
  10926.           ")
  10927.  
  10928.  
  10929.           DEFINE(HeaderFooterGFS, "$CompositeCommonGFS")
  10930.  
  10931.  
  10932.           DEFINE(VariableCompositeBodyGFS,   "
  10933.            <construction-expr>     :                  :                  =
  10934.           <construction-term>|<construction-type>
  10935.                            |                       SEQ(<construction-term>,
  10936.           <construction-footnote>)
  10937.                            |                       SEQ(<construction-type>,
  10938.           <construction-footnote>);
  10939.  
  10940.            <construction-term>     ::= <construction-factor1>
  10941.                            | OPT <construction-factor1>
  10942.                            | REP <construction-factor1>
  10943.                            | OPT REP <construction-factor1>;
  10944.  
  10945.            <construction-type>     ::= SEQ({<construction-term>}...)
  10946.                            | CHO({<construction-term>}...);
  10947.  
  10948.            <construction-factor1>  ::= OBJECT_CLASS_ID_OF(BasicFloat)
  10949.                            | OBJECT_CLASS_ID_OF(SnakingColumns)
  10950.                            | OBJECT_CLASS_ID_OF(SynchronizedColumns)
  10951.                            | OBJECT_CLASS_ID_OF(TableArea)
  10952.  
  10953.                                          154
  10954.  
  10955.  
  10956.  
  10957.  
  10958.  
  10959.  
  10960.  
  10961.  
  10962.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  10963.  
  10964.                            | <construction-type>;
  10965.  
  10966.            <construction-footnote> ::= OBJECT_CLASS_ID_OF(FootnoteArea)
  10967.                                 | OPT OBJECT_CLASS_ID_OF(FootnoteArea);
  10968.           ")
  10969.  
  10970.  
  10971.           DEFINE(SnakingColumnsGFS,    "
  10972.            <construction-expr>     :    :    =                  R    E    P
  10973.           OBJECT_CLASS_ID_OF(ColumnVariable)
  10974.                            | SEQ(OBJECT_CLASS_ID_OF(ColumnVariable)...);
  10975.           ")
  10976.  
  10977.  
  10978.           DEFINE(SynchronizedColumnsGFS,    "
  10979.            <construction-expr>     :                  :                  =
  10980.           SEQ({OBJECT_CLASS_ID_OF(ColumnFixed)}...);
  10981.  
  10982.           ")
  10983.  
  10984.  
  10985.           DEFINE(TableAreaGFS,  "
  10986.            <construction-expr>     ::= <row-area>
  10987.                       |         SEQ([<table-header>]        [<table-label>]
  10988.           <row-area>[<table-label>]);
  10989.            <table-header>     ::= OBJECT_CLASS_ID_OF(TableHeader);
  10990.            <table-label>      ::= OBJECT_CLASS_ID_OF(TableLabel);
  10991.            <row-area>         ::= REP OBJECT_CLASS_ID_OF(RowArea)
  10992.                            | REP CHO(OBJECT_CLASS_ID_OF(RowArea)...);
  10993.           ")
  10994.  
  10995.           DEFINE(RowAreaGFS,"
  10996.            <construction-expr>     ::= SEQ(OBJECT_CLASS_ID_OF(Cell)...);
  10997.           ")
  10998.  
  10999.           DEFINE(TableHeaderGFS,"
  11000.            <construction-expr>     :                  :                  =
  11001.           SEQ(OBJECT_CLASS_ID_OF(SourcedContentFixed)...);
  11002.           ")
  11003.  
  11004.  
  11005.           DEFINE(TableLabelGFS,"
  11006.            <construction-expr>     :                  :                  =
  11007.           SEQ(OBJECT_CLASS_ID_OF(TableLabelContent)...);
  11008.           ")
  11009.  
  11010.  
  11011.  
  11012.  
  11013.  
  11014.  
  11015.  
  11016.  
  11017.  
  11018.  
  11019.                                          155
  11020.  
  11021.  
  11022.  
  11023.  
  11024.  
  11025.  
  11026.  
  11027.  
  11028.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11029.  
  11030.  
  11031.  
  11032.           7.4.2  Factor constraints
  11033.  
  11034.  
  11035.           7.4.2.1  FACTOR ANY-LAYOUT
  11036.  
  11037.           {
  11038.           GENERIC:
  11039.               REQ    Object-type             {VIRTUAL},
  11040.               REQ    Object-class-identifier {ANY_VALUE}
  11041.           SPECIFIC:
  11042.               PERM   Object-type             {VIRTUAL},
  11043.               REQ    Object-identifier       {ANY_VALUE},
  11044.               CASE $DAC OF {
  11045.                $FDA:  PERM  Object-class     {VIRTUAL}
  11046.                $FPDA: REQ   Object-class     {VIRTUAL}
  11047.                },
  11048.               REQ    Subordinates       {VIRTUAL}
  11049.           SPECIFIC_AND_GENERIC:
  11050.               PERM   User-readable-comments  {ANY_STRING}, 
  11051.               PERM   User-visible-name       {ANY_STRING}
  11052.           }
  11053.  
  11054.  
  11055.           7.4.2.2  FACTOR ANY-PAGE
  11056.  
  11057.           :ANY-LAYOUT {
  11058.           GENERIC:
  11059.               REQ Object-type           {'page'},
  11060.               
  11061.               CASE $DAC OF {
  11062.                $PDA-FPDA:  
  11063.                     REQ   Generator-for-subordinates   {$PageGFS},
  11064.                     PERM  Bindings {$USEPGNUMBERS}
  11065.                }
  11066.           SPECIFIC:
  11067.               PERM   Object-type             {'page'},
  11068.               REQ    Subordinates       {SUB_ID_OF(BasicHeader),
  11069.                                    SUB_ID_OF(CompositeHeader),
  11070.                                    SUB_ID_OF(BasicBody),
  11071.                                    SUB_ID_OF(VariableCompositeBody),
  11072.                                    SUB_ID_OF(BasicFooter),
  11073.                                    SUB_ID_OF(CompositeFooter)}
  11074.           SPECIFIC_AND_GENERIC:
  11075.               PERM   Dimensions              {$PermissiblePageDimensions},
  11076.               PERM   Page-position      {ANY_VALUE} 
  11077.           }
  11078.  
  11079.  
  11080.           7.4.2.3  FACTOR ANY-FRAME-FIXED
  11081.  
  11082.           :ANY-LAYOUT {
  11083.           GENERIC:
  11084.  
  11085.                                          156
  11086.  
  11087.  
  11088.  
  11089.  
  11090.  
  11091.  
  11092.  
  11093.  
  11094.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11095.  
  11096.               REQ    Object-type             {'frame'}
  11097.           SPECIFIC:
  11098.               PERM   Object-type             {'frame'}
  11099.           SPECIFIC_AND_GENERIC:
  11100.               PERM   Position           {REQ #fixed-position
  11101.                                       {REQ #horizontal-position
  11102.           {ANY_VALUE},
  11103.                                        REQ #vertical-position
  11104.           {ANY_VALUE}}},
  11105.               PERM   Dimensions              {REQ #horizontal-dimension
  11106.                                      {REQ #fixed-dimension  {ANY_VALUE}},
  11107.                                     REQ #vertical-dimension
  11108.                                      {REQ #fixed-dimension  {ANY_VALUE}}},
  11109.               PERM   Border             {ANY_VALUE} 
  11110.           }
  11111.  
  11112.  
  11113.           7.4.2.4  FACTOR ANY-FRAME-VARIABLE
  11114.  
  11115.           :ANY-LAYOUT {
  11116.           GENERIC:
  11117.               REQ    Object-type             {'frame'}
  11118.           SPECIFIC:
  11119.               PERM   Object-type             {'frame'},
  11120.               CASE $DAC OF {
  11121.                $FPDA:
  11122.                     REQ Position        {REQ #fixed-position
  11123.                                         {REQ #horizontal-position
  11124.           {ANY_VALUE},
  11125.                                         REQ #vertical-position
  11126.           {ANY_VALUE}}},
  11127.                     REQ Dimensions {REQ #horizontal-dimension
  11128.                                         {REQ #fixed-dimension
  11129.           {ANY_VALUE}},
  11130.                                     REQ #vertical-dimension
  11131.                                         {REQ #fixed-dimension
  11132.           {ANY_VALUE}}}
  11133.                }
  11134.           SPECIFIC_AND_GENERIC:
  11135.               CASE $DAC OF {
  11136.                $FDA:
  11137.                     PERM Position       {REQ #fixed-position
  11138.                                         {REQ #horizontal-position
  11139.           {ANY_VALUE},
  11140.                                          REQ #vertical-position
  11141.           {ANY_VALUE}}},
  11142.                     PERM Dimensions     {REQ #horizontal-dimension
  11143.                                         {REQ #fixed-dimension
  11144.           {ANY_VALUE}},
  11145.                                     REQ #vertical-dimension
  11146.                                         {REQ #fixed-dimension
  11147.           {ANY_VALUE}}}
  11148.                },
  11149.               PERM   Border             {ANY_VALUE} 
  11150.  
  11151.                                          157
  11152.  
  11153.  
  11154.  
  11155.  
  11156.  
  11157.  
  11158.  
  11159.  
  11160.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11161.  
  11162.           }
  11163.  
  11164.           7.4.3  Constituent constraints
  11165.  
  11166.  
  11167.           7.4.3.1  DocumentLayoutRoot
  11168.  
  11169.           :ANY-LAYOUT {
  11170.           GENERIC:
  11171.               REQ   Object-type              {'document-layout-root'},
  11172.               CASE $DAC OF {
  11173.                $PDA-FPDA:
  11174.                     REQ   Generator-for-subordinates   {$DocLayRootGFS},
  11175.                     PERM  Bindings {$INITIALISEPGNUMBER}
  11176.                },
  11177.               REQ    Application-comments    {REQ #constraint-name {"0"},
  11178.                                     PERM #external-data {ANY_VALUE}}
  11179.           SPECIFIC:
  11180.               PERM  Object-type              {'document-layout-root'},
  11181.               CASE $DAC OF {
  11182.                $FDA:
  11183.                         PERM   Object-class  {OBJECT_CLASS_ID_OF
  11184.                                                   (DocumentLayoutRoot)}
  11185.                $FPDA:
  11186.                         REQ    Object-class       {OBJECT_CLASS_ID_OF
  11187.                                                   (DocumentLayoutRoot)}
  11188.                },
  11189.               REQ    Subordinates       {SUB_ID_OF(PageSet)+},
  11190.               PERM   Application-comments    {REQ #constraint-name {"0"},
  11191.                                     PERM #external-data {ANY_VALUE}} 
  11192.           }
  11193.  
  11194.  
  11195.           7.4.3.2  PageSet
  11196.  
  11197.           :ANY-LAYOUT {
  11198.           GENERIC:
  11199.               REQ    Object-type             {'page-set'},
  11200.               
  11201.               CASE $DAC OF {
  11202.                $PDA-FPDA:
  11203.                     REQ    Generator-for-subordinates  {$PageSetGFS},
  11204.                     PERM   Bindings          {$INITIALISEPGNUMBER}
  11205.                },
  11206.               REQ    Application-comments    {REQ  #constraint-name {"1"},
  11207.                                     PERM #external-data {ANY_VALUE}}
  11208.           SPECIFIC:
  11209.               PERM   Object-type             {'page-set'},
  11210.               CASE $DAC OF {
  11211.                     $FDA:   
  11212.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(PageSet)}
  11213.                     $FPDA:  
  11214.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(PageSet)}
  11215.                },
  11216.  
  11217.                                          158
  11218.  
  11219.  
  11220.  
  11221.  
  11222.  
  11223.  
  11224.  
  11225.  
  11226.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11227.  
  11228.               REQ    Subordinates       {SUB_ID_OF(Page)+,
  11229.                                     SUB_ID_OF(RectoPage)+,
  11230.                                     SUB_ID_OF(VersoPage)+},
  11231.               PERM   Application-comments    {REQ  #constraint-name {"1"},
  11232.                                     PERM #external-data {ANY_VALUE}} 
  11233.           }
  11234.  
  11235.  
  11236.           7.4.3.3  Page
  11237.  
  11238.           :ANY-PAGE {
  11239.           GENERIC:
  11240.               REQ    Application-comments    {REQ #constraint-name {"2"},
  11241.                                     PERM #external-data {ANY_VALUE}}
  11242.           SPECIFIC:
  11243.               CASE $DAC OF {
  11244.                       $FDA:  
  11245.                     PERM Object-class   {OBJECT_CLASS_ID_OF(Page)}
  11246.                       $FPDA: 
  11247.                     REQ  Object-class   {OBJECT_CLASS_ID_OF(Page)}
  11248.                },
  11249.               PERM   Application-comments    {REQ #constraint-name {"2"},
  11250.                                     PERM #external-data {ANY_VALUE}}
  11251.           SPECIFIC_AND_GENERIC:
  11252.               PERM   Medium-type        {PERM            #nominal-page-size
  11253.           {$NominalPageSizes},
  11254.                                     PERM #side-of-sheet {ANY_VALUE}} 
  11255.           }
  11256.  
  11257.  
  11258.           7.4.3.4  RectoPage
  11259.  
  11260.           :ANY-PAGE {
  11261.           GENERIC:
  11262.               REQ    Application-comments    {REQ #constraint-name {"3"},
  11263.                                     PERM #external-data {ANY_VALUE}},
  11264.               REQ    Medium-type        {PERM            #nominal-page-size
  11265.           {$NominalPageSizes},
  11266.                                      R E Q      # s i d e - o f - s h e e t
  11267.           {'recto'|'unspecified'}}
  11268.           SPECIFIC:
  11269.               CASE $DAC OF {
  11270.                       $FDA:  
  11271.                     PERM Object-class   {OBJECT_CLASS_ID_OF(RectoPage)}
  11272.                       $FPDA: 
  11273.                     REQ  Object-class   {OBJECT_CLASS_ID_OF(RectoPage)}
  11274.                },
  11275.               PERM   Application-comments    {REQ #constraint-name {"3"},
  11276.                                     PERM #external-data {ANY_VALUE}},
  11277.               PERM   Medium-type        {PERM            #nominal-page-size
  11278.           {$NominalPageSizes},
  11279.                                      P E R M    # s i d e - o f - s h e e t
  11280.           {'recto'|'unspecified'}} 
  11281.           }
  11282.  
  11283.                                          159
  11284.  
  11285.  
  11286.  
  11287.  
  11288.  
  11289.  
  11290.  
  11291.  
  11292.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11293.  
  11294.  
  11295.           7.4.3.5  VersoPage
  11296.  
  11297.           :ANY-PAGE {
  11298.           GENERIC:
  11299.               REQ    Application-comments    {REQ #constraint-name {"4"},
  11300.                                     PERM #external-data {ANY_VALUE}},
  11301.               REQ    Medium-type        {PERM            #nominal-page-size
  11302.           {$NominalPageSizes},
  11303.                                      R E Q      # s i d e - o f - s h e e t
  11304.           {'verso'|'unspecified'}}
  11305.           SPECIFIC:
  11306.               CASE $DAC OF {
  11307.                       $FDA:  
  11308.                     PERM Object-class   {OBJECT_CLASS_ID_OF(VersoPage)}
  11309.                       $FPDA: 
  11310.                     REQ  Object-class   {OBJECT_CLASS_ID_OF(VersoPage)}
  11311.                },
  11312.               PERM   Application-comments    {REQ #constraint-name {"4"},
  11313.                                     PERM #external-data {ANY_VALUE}},
  11314.               PERM   Medium-type        {PERM            #nominal-page-size
  11315.           {$NominalPageSizes},
  11316.                                             P        E        R        M
  11317.           #side-of-sheet{'verso'|'unspecified'}}
  11318.           }
  11319.  
  11320.  
  11321.           7.4.3.6  CompositeHeader
  11322.  
  11323.           :ANY-FRAME-FIXED {
  11324.           GENERIC:
  11325.               CASE $DAC OF {
  11326.                $PDA-FPDA:
  11327.                     REQ    Generator-for-subordinates  {$HeaderFooterGFS}},
  11328.               PERM   Layout-path        {'270-degrees'-- H/F layouts A1 --
  11329.                                    |'180-degrees' -- H/F layout B1 --},
  11330.               REQ    Application-comments    {REQ  #constraint-name {"5"},
  11331.                                     PERM #external-data {ANY_VALUE}}
  11332.           SPECIFIC:
  11333.               CASE $DAC OF {
  11334.                $FDA:  
  11335.                     PERM Object-class
  11336.           {OBJECT_CLASS_ID_OF(CompositeHeader)}
  11337.                $FPDA: 
  11338.                     REQ  Object-class
  11339.           {OBJECT_CLASS_ID_OF(CompositeHeader)}
  11340.                },
  11341.               REQ    Subordinates       {SUB_ID_OF(SourcedContentFixed)+,
  11342.                                     SUB_ID_OF(ArrangedContentFixed)+,
  11343.                                     SUB_ID_OF(SourcedContentVariable)+,
  11344.                                     SUB_ID_OF(ArrangedContentVariable)+},
  11345.               PERM   Application-comments    {REQ  #constraint-name {"5"},
  11346.                                     PERM #external-data {ANY_VALUE}}
  11347.           }
  11348.  
  11349.                                          160
  11350.  
  11351.  
  11352.  
  11353.  
  11354.  
  11355.  
  11356.  
  11357.  
  11358.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11359.  
  11360.  
  11361.           7.4.3.7  CompositeFooter
  11362.  
  11363.           :ANY-FRAME-FIXED {
  11364.           GENERIC:
  11365.               CASE $DAC OF {
  11366.                $PDA-FPDA:
  11367.                     REQ    Generator-for-subordinates  {$HeaderFooterGFS}},
  11368.               PERM   Layout-path        {'270-degrees' -- H/F layouts A1 --
  11369.                                    |'180-degrees' -- H/F layout B1 --},
  11370.               REQ    Application-comments    {REQ  #constraint-name {"32"},
  11371.                                     PERM #external-data {ANY_VALUE}}
  11372.           SPECIFIC:
  11373.               CASE $DAC OF {
  11374.                      $FDA:  
  11375.                     PERM  Object-class
  11376.           {OBJECT_CLASS_ID_OF(CompositeFooter)}
  11377.                      $FPDA: 
  11378.                     REQ   Object-class
  11379.           {OBJECT_CLASS_ID_OF(CompositeFooter)}
  11380.                },
  11381.               REQ    Subordinates       {SUB_ID_OF(SourcedContentFixed)+,
  11382.                                     SUB_ID_OF(ArrangedContentFixed)+,
  11383.                                     SUB_ID_OF(SourcedContentVariable)+,
  11384.                                     SUB_ID_OF(ArrangedContentVariable)+},
  11385.               PERM   Application-comments    {REQ  #constraint-name {"32"},
  11386.                                     PERM #external-data {ANY_VALUE}}
  11387.           }
  11388.  
  11389.  
  11390.           7.4.3.8  VariableCompositeBody
  11391.  
  11392.           :ANY-FRAME-FIXED {
  11393.           GENERIC:
  11394.               CASE $DAC OF {
  11395.                $PDA-FPDA:
  11396.                     REQ    Generator-for-subordinates
  11397.           {$VariableCompositeBodyGFS},
  11398.                     PERM   Layout-path  {'270-degrees' -- body layout A --
  11399.                                    |'0-degrees'   -- body layout B --
  11400.                                    |'180-degrees' -- body layout C --}
  11401.                },
  11402.               REQ    Application-comments    {REQ  #constraint-name {"7"},
  11403.                                     PERM #external-data {ANY_VALUE}}
  11404.           SPECIFIC:
  11405.               CASE $DAC OF {
  11406.                $FDA:  
  11407.                     PERM  Object-class  {OBJECT_CLASS_ID_OF
  11408.                                              (VariableCompositeBody)}
  11409.                $FPDA: 
  11410.                     REQ   Object-class  {OBJECT_CLASS_ID_OF
  11411.                                              (VariableCompositeBody)}
  11412.                },
  11413.               REQ    Subordinates       {SUB_ID_OF(SnakingColumns)+,
  11414.  
  11415.                                          161
  11416.  
  11417.  
  11418.  
  11419.  
  11420.  
  11421.  
  11422.  
  11423.  
  11424.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11425.  
  11426.                                     SUB_ID_OF(SynchronizedColumns)+,
  11427.                                     SUB_ID_OF(BasicFloat)+,
  11428.                                     SUB_ID_OF(FootnoteArea)+,
  11429.                                     SSUB_ID_OF(TableArea)+},
  11430.               PERM   Application-comments    {REQ  #constraint-name {"7"},
  11431.                                     PERM #external-data {ANY_VALUE}}
  11432.           }
  11433.  
  11434.  
  11435.           7.4.3.9  ColumnFixed
  11436.  
  11437.           :ANY-FRAME-VARIABLE {
  11438.           GENERIC:
  11439.               CASE $DAC OF {
  11440.                $PDA-FPDA:
  11441.                     PERM  Permitted-categories    {ANY_STRING...},
  11442.                     REQ   Position      {REQ #fixed-position
  11443.                                           {REQ         #horizontal-position
  11444.           {ANY_VALUE},
  11445.                                            REQ           #vertical-position
  11446.           {ANY_VALUE}}},
  11447.                     CASE  SUPERIOR ({VariableCompositeBody}  (Layout-path))
  11448.           OF {
  11449.  
  11450.                     {'270-degrees'}: -- body layout A --
  11451.                          REQ  Dimensions     {REQ #horizontal-dimension
  11452.                                           {REQ #fixed-dimension {ANY_VALUE}
  11453.                                           |REQ #maximum-size {'applies'}},
  11454.                                          REQ #vertical-dimension
  11455.                                           {REQ #rule-b {ANY_VALUE}
  11456.                                           |REQ #maximum-size {'applies'}}},
  11457.                          PERM Layout-path    {'270-degrees'}
  11458.  
  11459.                     {'0-degrees'}: -- body layout B --
  11460.                          REQ  Dimensions     {REQ #horizontal-dimension
  11461.                                           {REQ #rule-b {ANY_VALUE}
  11462.                                           |REQ #maximum-size {'applies'}},
  11463.                                          REQ #vertical-dimension
  11464.                                           {REQ #fixed-dimension {ANY_VALUE}
  11465.                                           |REQ #maximum-size {'applies'}}},
  11466.                          REQ  Layout-path    {'0-degrees'}
  11467.  
  11468.                     {'180-degrees'}: -- body layout C --
  11469.                          REQ  Dimensions     {REQ #horizontal-dimension
  11470.                                           {REQ #maximum-size {'applies'}},
  11471.                                          REQ #vertical-dimension
  11472.                                           {REQ #fixed-dimension {ANY_VALUE}
  11473.                                           |REQ #maximum-size {'applies'}}},
  11474.                          REQ  Layout-path    {'180-degrees'}
  11475.                }  },
  11476.               REQ    Application-comments    {REQ #constraint-name {"8"},
  11477.                                     PERM #external-data {ANY_VALUE}}
  11478.           SPECIFIC:
  11479.               CASE $DAC OF {
  11480.  
  11481.                                          162
  11482.  
  11483.  
  11484.  
  11485.  
  11486.  
  11487.  
  11488.  
  11489.  
  11490.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11491.  
  11492.                $FDA: 
  11493.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(ColumnFixed)}
  11494.                $FPDA: 
  11495.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(ColumnFixed)}
  11496.                },
  11497.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  11498.               PERM   Application-comments    {REQ  #constraint-name {"8"},
  11499.                                     PERM #external-data {ANY_VALUE}}
  11500.           }
  11501.  
  11502.  
  11503.           7.4.3.10  ColumnVariable
  11504.  
  11505.           :ANY-FRAME-VARIABLE {
  11506.           GENERIC:
  11507.               CASE $DAC OF {
  11508.                $PDA-FPDA:
  11509.                     PERM  Permitted-categories    {ANY_STRING...},
  11510.                     REQ   Position      {REQ #variable-position {
  11511.                                         PERM #offset     {ANY_VALUE},
  11512.                                         PERM #separation {ANY_VALUE},
  11513.                                         PERM #alignment  {ANY_VALUE},
  11514.                                         PERM      #fill-order     {'normal-
  11515.           order'}}},
  11516.                     CASE SUPERIOR (VariableCompositeBody(Layout-path)) OF {
  11517.  
  11518.                     {'270-degrees'}:  -- body layout A --
  11519.                          REQ  Dimensions     {REQ #horizontal-dimension
  11520.                                           {REQ             #fixed-dimension
  11521.           {ANY_VALUE}},
  11522.                                          REQ #vertical-dimension
  11523.                                           {REQ #rule-b {ANY_VALUE}
  11524.                                           |REQ #maximum-size {'applies'}}},
  11525.                          PERM Layout-path    {'270-degrees'}
  11526.  
  11527.                     {'0-degrees'}: -- body layout B --
  11528.                          REQ  Dimensions     {REQ #horizontal-dimension
  11529.                                           {REQ #rule-b {ANY_VALUE}
  11530.                                           |REQ #maximum-size {'applies'}},
  11531.                                          REQ #vertical-dimension
  11532.                                           {REQ             #fixed-dimension
  11533.           {ANY_VALUE}}},
  11534.                          REQ  Layout-path    {'0-degrees'}
  11535.  
  11536.                     {'180-degrees'}: -- body layout C --
  11537.                          REQ  Dimensions     {REQ #horizontal-dimension
  11538.                                           {REQ #rule-b {ANY_VALUE}
  11539.                                           |REQ #maximum-size {'applies'}},
  11540.                                          REQ #vertical-dimension
  11541.                                           {REQ             #fixed-dimension
  11542.           {ANY_VALUE}}},
  11543.                          REQ  Layout-path    {'180-degrees'}
  11544.                }    },
  11545.               REQ    Application-comments    {REQ  #constraint-name {"9"},
  11546.  
  11547.                                          163
  11548.  
  11549.  
  11550.  
  11551.  
  11552.  
  11553.  
  11554.  
  11555.  
  11556.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11557.  
  11558.                                     PERM #external-data {ANY_VALUE}}
  11559.           SPECIFIC:
  11560.               CASE $DAC OF {
  11561.                $FDA:  
  11562.                     PERM  Object-class
  11563.           {OBJECT_CLASS_ID_OF(ColumnVariable)}
  11564.                $FPDA: 
  11565.                     REQ   Object-class
  11566.           {OBJECT_CLASS_ID_OF(ColumnVariable)}
  11567.                },
  11568.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  11569.               PERM   Application-comments    {REQ  #constraint-name {"9"},
  11570.                                     PERM #external-data {ANY_VALUE}}
  11571.           }
  11572.  
  11573.  
  11574.           7.4.3.11  SnakingColumns
  11575.  
  11576.           :ANY-FRAME-VARIABLE {
  11577.           GENERIC:
  11578.               CASE $DAC OF {
  11579.                $PDA-FPDA:
  11580.                     REQ   Generator-for-subordinates
  11581.           {$SnakingColumnsGFS},
  11582.                     REQ  Position       {REQ #variable-position {
  11583.                                         PERM #offset     {ANY_VALUE},
  11584.                                         PERM #separation {ANY_VALUE},
  11585.                                         PERM #alignment  {ANY_VALUE},
  11586.                                         PERM      #fill-order     {'normal-
  11587.           order'}}},
  11588.                     PERM Balance        {ANY_VALUE},
  11589.  
  11590.                     CASE SUPERIOR (VariableCompositeBody(Layout-path)) OF {
  11591.  
  11592.                     {'270-degrees'}: -- body layout A --
  11593.                          REQ  Dimensions     {REQ #horizontal-dimension
  11594.                                           {REQ #fixed-dimension {ANY_VALUE}
  11595.                                           |REQ #maximum-size {'applies'}},
  11596.                                          REQ #vertical-dimension
  11597.                                           {REQ #rule-b {ANY_VALUE}}},
  11598.                          REQ  Layout-path    {'0-degrees'|'180-degrees'}
  11599.  
  11600.                     {'0-degrees'}: -- body layout B --
  11601.                          REQ  Dimensions     {REQ #horizontal-dimension
  11602.                                           {REQ #rule-b {ANY_VALUE}},
  11603.                                          REQ #vertical-dimension
  11604.                                           {REQ #fixed-dimension {ANY_VALUE}
  11605.                                           |REQ #maximum-size {'applies'}}},
  11606.                          PERM Layout-path    {'90-degrees'|'270-degrees'}
  11607.  
  11608.                     {'180-degrees'}: -- body layout C --
  11609.                          REQ  Dimensions     {REQ #horizontal-dimension
  11610.                                           {REQ #rule-b {ANY_VALUE}},
  11611.                                          REQ #vertical-dimension
  11612.  
  11613.                                          164
  11614.  
  11615.  
  11616.  
  11617.  
  11618.  
  11619.  
  11620.  
  11621.  
  11622.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11623.  
  11624.                                           {REQ #fixed-dimension {ANY_VALUE}
  11625.                                           |REQ #maximum-size {'applies'}}},
  11626.                          PERM Layout-path    {'270-degrees'}
  11627.  
  11628.                }   },
  11629.               REQ    Application-comments    {REQ  #constraint-name {"10"},
  11630.                                     PERM #external-data {ANY_VALUE}}
  11631.           SPECIFIC:
  11632.               CASE $DAC OF {
  11633.                $FDA:  
  11634.                     PERM  Object-class
  11635.           {OBJECT_CLASS_ID_OF(Snakingcolumns)}
  11636.                $FPDA: 
  11637.                     REQ   Object-class
  11638.           {OBJECT_CLASS_ID_OF(Snakingcolumns)}
  11639.                },
  11640.               REQ    Subordinates       {SUB_ID_OF(ColumnVariable)+}, 
  11641.               PERM   Application-comments    {REQ  #constraint-name {"10"},
  11642.                                     PERM #external-data {ANY_VALUE}}  
  11643.           }
  11644.  
  11645.  
  11646.           7.4.3.12  SynchronizedColumns
  11647.  
  11648.           :ANY-FRAME-VARIABLE {
  11649.           GENERIC:
  11650.               CASE $DAC OF {
  11651.                $PDA-FPDA:
  11652.                     REQ    Generator-for-subordinates
  11653.           {$SynchronizedColumnsGFS},
  11654.                     REQ    Position     {REQ #variable-position {
  11655.                                         PERM #offset     {ANY_VALUE},
  11656.                                         PERM #separation {ANY_VALUE},
  11657.                                         PERM #alignment  {ANY_VALUE},
  11658.                                         PERM      #fill-order     {'normal-
  11659.           order'}}},
  11660.  
  11661.                     CASE SUPERIOR (VariableCompositeBody(Layout-path)) OF {
  11662.  
  11663.                     {'270-degrees'}: -- body layout A --
  11664.                          REQ  Dimensions     {REQ #horizontal-dimension
  11665.                                           {REQ #fixed-dimension {ANY_VALUE}
  11666.                                           |REQ #maximum-size {'applies'}},
  11667.                                          REQ #vertical-dimension
  11668.                                           {REQ #rule-b {ANY_VALUE}}},
  11669.                          PERM Layout-path    {'270-degrees'}
  11670.  
  11671.                     {'0-degrees'}: -- body layout B --
  11672.                          REQ  Dimensions     {REQ #horizontal-dimension
  11673.                                           {REQ #rule-b {ANY_VALUE}},
  11674.                                          REQ #vertical-dimension
  11675.                                           {REQ #fixed-dimension {ANY_VALUE}
  11676.                                           |REQ #maximum-size {'applies'}}},
  11677.                          REQ  Layout-path    {'0-degrees'}
  11678.  
  11679.                                          165
  11680.  
  11681.  
  11682.  
  11683.  
  11684.  
  11685.  
  11686.  
  11687.  
  11688.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11689.  
  11690.                     {'180-degrees'}: -- body layout C --
  11691.                          REQ  Dimensions     {REQ #horizontal-dimension
  11692.                                           {REQ #rule-b{ANY_VALUE}},
  11693.                                          REQ #vertical-dimension
  11694.                                           {REQ #fixed-dimension {ANY_VALUE}
  11695.                                           |REQ #maximum-size {'applies'}}},
  11696.                          REQ  Layout-path    {'180-degrees'}
  11697.                }    },
  11698.               REQ    Application-comments    {REQ  #constraint-name {"11"},
  11699.                                     PERM #external-data {ANY_VALUE}}
  11700.           SPECIFIC:
  11701.               CASE $DAC OF {
  11702.                     $FDA:  
  11703.                     PERM Object-class
  11704.           {OBJECT_CLASS_ID_OF(SynchronizedColumns)}
  11705.                $FPDA:
  11706.                     REQ  Object-class
  11707.           {OBJECT_CLASS_ID_OF(SynchronizedColumns)}
  11708.                },
  11709.               REQ    Subordinates       {SUB_ID_OF(ColumnFixed)+},
  11710.               PERM   Application-comments    {REQ #constraint-name {"11"},
  11711.                                     PERM #external-data {ANY_VALUE}} 
  11712.           }
  11713.  
  11714.  
  11715.           7.4.3.13  BasicFloat
  11716.  
  11717.           :ANY-FRAME-VARIABLE {
  11718.           GENERIC: 
  11719.               CASE $DAC OF {
  11720.                $PDA-FPDA:
  11721.                     REQ   Position      {REQ #variable-position {
  11722.                                         PERM #offset     {ANY_VALUE},
  11723.                                         PERM #separation {ANY_VALUE},
  11724.                                         PERM #alignment  {ANY_VALUE},
  11725.                                         PERM      #fill-order     {'normal-
  11726.           order'}}},
  11727.                     PERM  Permitted-categories    {ANY_STRING...},
  11728.  
  11729.                     CASE  SUPERIOR ({VariableCompositeBody}  (Layout-path))
  11730.           OF {
  11731.  
  11732.  
  11733.                     {'270-degrees'}: -- body layout A --
  11734.                          REQ  Dimensions     {REQ #horizontal-dimension
  11735.                                           {REQ #fixed-dimension {ANY_VALUE}
  11736.                                           |REQ #maximum-size {'applies'}},
  11737.                                          REQ #vertical-dimension
  11738.                                           {REQ #rule-b {ANY_VALUE}}},
  11739.                          PERM Layout-path    {'270-degrees'}
  11740.  
  11741.                     {'0-degrees'}: -- body layout B --
  11742.                          REQ  Dimensions     {REQ #horizontal-dimension
  11743.                                           {REQ #rule-b {ANY_VALUE}},
  11744.  
  11745.                                          166
  11746.  
  11747.  
  11748.  
  11749.  
  11750.  
  11751.  
  11752.  
  11753.  
  11754.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11755.  
  11756.                                          REQ #vertical-dimension
  11757.                                           {REQ #fixed-dimension {ANY_VALUE}
  11758.                                           |REQ #maximum-size {'applies'}}},
  11759.                          REQ  Layout-path    {'0-degrees'}
  11760.             
  11761.                     {'180-degrees'}: -- body layout C --
  11762.                          REQ  Dimensions     {REQ #horizontal-dimension
  11763.                                           {REQ #rule-b {ANY_VALUE}},
  11764.                                          REQ #vertical-dimension
  11765.                                           {REQ #fixed-dimension {ANY_VALUE}
  11766.                                           |REQ #maximum-size {'applies'}}},
  11767.                                REQ  Layout-path    {'180-degrees'}
  11768.                }    },
  11769.               REQ    Application-comments    {REQ  #constraint-name {"12"},
  11770.                                     PERM #external-data {ANY_VALUE}}
  11771.           SPECIFIC:
  11772.               CASE $DAC OF {
  11773.                      $FDA:  
  11774.                     PERM  Object-class   {OBJECT_CLASS_ID_OF(BasicFloat)}
  11775.                      $FPDA: 
  11776.                     REQ   Object-class   {OBJECT_CLASS_ID_OF(BasicFloat)}
  11777.                },
  11778.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  11779.               PERM   Application-comments    {REQ  #constraint-name {"12"},
  11780.                                     PERM #external-data {ANY_VALUE}}
  11781.           }
  11782.  
  11783.  
  11784.           7.4.3.14  FootnoteArea
  11785.  
  11786.           :ANY-FRAME-VARIABLE {
  11787.           GENERIC:
  11788.               CASE $DAC OF {
  11789.                $PDA-FPDA:
  11790.                     REQ   Position      {REQ #variable-position {
  11791.                                         PERM #offset     {ANY_VALUE},
  11792.                                         PERM #separation {ANY_VALUE},
  11793.                                         PERM #alignment  {ANY_VALUE},
  11794.                                         PERM     #fill-order     {'reverse-
  11795.           order'}}},
  11796.  
  11797.                     CASE  SUPERIOR  ({VariableCompositeBody} (Layout-path))
  11798.           OF {
  11799.  
  11800.                     {'270-degrees'}: -- body layout A --
  11801.                          REQ   Dimensions    {REQ #horizontal-dimension
  11802.                                           {REQ #fixed-dimension {ANY_VALUE}
  11803.                                           |REQ #maximum-size {'applies'}},
  11804.                                          REQ #vertical-dimension
  11805.                                           {REQ #rule-b {ANY_VALUE}}},
  11806.                          PERM Layout-path    {'270-degrees'}
  11807.  
  11808.                     {'0-degrees'}: -- body layout B --
  11809.                          REQ   Dimensions    {REQ #horizontal-dimension
  11810.  
  11811.                                          167
  11812.  
  11813.  
  11814.  
  11815.  
  11816.  
  11817.  
  11818.  
  11819.  
  11820.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11821.  
  11822.                                           {REQ #rule-b {ANY_VALUE}},
  11823.                                          REQ #vertical-dimension
  11824.                                           {REQ #fixed-dimension {ANY_VALUE}
  11825.                                           |REQ #maximum-size {'applies'}}},
  11826.                          REQ   Layout-path   {'0-degrees'}
  11827.  
  11828.                     {'180-degrees'}: -- body layout C --
  11829.                          REQ   Dimensions    {REQ #horizontal-dimension
  11830.                                           {REQ #rule-b {ANY_VALUE}},
  11831.                                          REQ #vertical-dimension
  11832.                                           {REQ #fixed-dimension {ANY_VALUE}
  11833.                                           |REQ #maximum-size {'applies'}}},
  11834.                          REQ   Layout-path   {'180-degrees'}
  11835.                }   },
  11836.               REQ   Permitted-categories     {$FOOTNOTECATEGORY},
  11837.               REQ   Application-comments     {REQ  #constraint-name {"15"},
  11838.                                     PERM #external-data {ANY_VALUE}}
  11839.           SPECIFIC:
  11840.               CASE $DAC OF {
  11841.                $FDA:  
  11842.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(FootnoteArea)}
  11843.                $FPDA: 
  11844.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(FootnoteArea)}
  11845.                },
  11846.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  11847.               PERM   Application-comments    {REQ  #constraint-name {"15"},
  11848.                                     PERM #external-data {ANY_VALUE}}
  11849.           }
  11850.  
  11851.  
  11852.           7.4.3.15  ArrangedContentFixed
  11853.  
  11854.           :ANY-FRAME-FIXED {
  11855.           GENERIC:
  11856.               CASE $DAC OF {
  11857.                $PDA-FPDA:
  11858.                     REQ  Generator-for-subordinates 
  11859.                                                              {<construction-
  11860.           expr>::=SEQ(OBJECT_CLASS_ID_OF(GenericBlock)...);}},
  11861.               REQ    Application-comments    {REQ  #constraint-name {"16"},
  11862.                                     PERM #external-data {ANY_VALUE}}
  11863.           SPECIFIC:
  11864.               CASE $DAC OF {
  11865.                $FDA:  
  11866.                     PERM  Object-class       {OBJECT_CLASS_ID_OF
  11867.                                              (ArrangedContentFixed)}
  11868.                $FPDA: 
  11869.                     REQ   Object-class  {OBJECT_CLASS_ID_OF
  11870.                                              (ArrangedContentFixed)}
  11871.                },
  11872.               REQ    Subordinates       {SUB_ID_OF(GenericBlock)+},
  11873.               PERM   Application-comments    {REQ  #constraint-name {"16"},
  11874.                                     PERM #external-data {ANY_VALUE}}  
  11875.           }
  11876.  
  11877.                                          168
  11878.  
  11879.  
  11880.  
  11881.  
  11882.  
  11883.  
  11884.  
  11885.  
  11886.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11887.  
  11888.  
  11889.           7.4.3.16  ArrangedContentVariable
  11890.  
  11891.           :ANY-FRAME-VARIABLE {
  11892.           GENERIC:
  11893.               CASE $DAC OF {
  11894.                $PDA-FPDA:
  11895.                     REQ        Generator-for-subordinates   {<construction-
  11896.           expr>::=
  11897.  
  11898.           SEQ(OBJECT_CLASS_ID_OF(GenericBlock)...)},
  11899.                     REQ   Position      {REQ #variable-position {
  11900.                                         PERM #offset     {ANY_VALUE},
  11901.                                         PERM #separation {ANY_VALUE},
  11902.                                         PERM #alignment  {ANY_VALUE},
  11903.                                         PERM      #fill-order     {'normal-
  11904.           order'}}},
  11905.                     REQ   Dimensions    {REQ #horizontal-dimension
  11906.                                         {REQ #fixed-dimension {ANY_VALUE}},
  11907.                                     REQ #vertical-dimension
  11908.                                         {REQ #fixed-dimension {ANY_VALUE}}}
  11909.                },
  11910.               REQ    Application-comments    {REQ  #constraint-name {"17"},
  11911.                                     PERM #external-data {ANY_VALUE}}
  11912.           SPECIFIC:
  11913.               CASE $DAC OF {
  11914.                $FDA:  
  11915.                     PERM  Object-class  {OBJECT_CLASS_ID_OF
  11916.                                              (ArrangedContentVariable)}
  11917.                $FPDA: 
  11918.                     REQ   Object-class  {OBJECT_CLASS_ID_OF
  11919.                                              (ArrangedContentVariable)}
  11920.                },
  11921.               REQ    Subordinates       {SUB_ID_OF(GenericBlock)+}, 
  11922.               PERM   Application-comments    {REQ  #constraint-name {"17"},
  11923.                                     PERM #external-data {ANY_VALUE}}  
  11924.           }
  11925.  
  11926.  
  11927.           7.4.3.17  SourcedContentFixed
  11928.  
  11929.           :ANY-FRAME-VARIABLE {
  11930.           GENERIC:
  11931.               CASE $DAC OF {
  11932.                $PDA-FPDA:
  11933.                     REQ    Logical-source
  11934.           {OBJECT_CLASS_ID_OF(CommonContent)},
  11935.                     REQ    Position          {REQ #fixed-position
  11936.                                           {REQ         #horizontal-position
  11937.           {ANY_VALUE},
  11938.                                            REQ           #vertical-position
  11939.           {ANY_VALUE}}},
  11940.                     REQ    Dimensions        {REQ #horizontal-dimension
  11941.                                           {REQ             #fixed-dimension
  11942.  
  11943.                                          169
  11944.  
  11945.  
  11946.  
  11947.  
  11948.  
  11949.  
  11950.  
  11951.  
  11952.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  11953.  
  11954.           {ANY_VALUE}},
  11955.                                          REQ #vertical-dimension
  11956.                                           {REQ #fixed-dimension {ANY_VALUE}
  11957.                                            |REQ #rule-b {ANY_VALUE}}},
  11958.  
  11959.                     CASE SUPERIOR ({CompositeHeader | CompositeFooter | 
  11960.                                     TableHeader} (Layout-path)) OF {
  11961.  
  11962.                     {'270-degrees'}:    -- H/F layout A1 when the immediate
  11963.                                         superior     is    CompositeHeader,
  11964.                                         CompositeFooter or TableHeader --
  11965.                          PERM Layout-path    {'270-degrees'}  -- H/F layout
  11966.           A1 --
  11967.  
  11968.                     {'180-degrees'}:    -- H/F layout B1 when the immediate
  11969.                                         superior   is  CompositeHeader   or
  11970.                                         CompositeFooter --
  11971.                          REQ  Layout-path    {'180-degrees'} -- H/F  layout
  11972.           B1 --
  11973.                }    },
  11974.               REQ    Application-comments    {REQ  #constraint-name {"18"},
  11975.                                    PERM #external-data {ANY_VALUE}}
  11976.           SPECIFIC:
  11977.               CASE $DAC OF {
  11978.                $FDA:  
  11979.                     PERM  Object-class  {OBJECT_CLASS_ID_OF
  11980.                                              (SourcedContentFixed)}
  11981.                $FPDA: 
  11982.                     REQ   Object-class  {OBJECT_CLASS_ID_OF
  11983.                                              (SourcedContentFixed)}
  11984.                },
  11985.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  11986.               PERM   Application-comments    {REQ  #constraint-name {"18"},
  11987.                                     PERM #external-data {ANY_VALUE}}
  11988.           }
  11989.  
  11990.  
  11991.           7.4.3.18  SourcedContentVariable
  11992.  
  11993.           :ANY-FRAME-VARIABLE {
  11994.           GENERIC:
  11995.               CASE $DAC OF {
  11996.                $PDA-FPDA:
  11997.                     REQ  Logical-source
  11998.           {OBJECT_CLASS_ID_OF(CommonContent)},
  11999.                     REQ  Position       {REQ #variable-position {
  12000.                                         PERM #offset     {ANY_VALUE},
  12001.                                         PERM #separation {ANY_VALUE},
  12002.                                         PERM #alignment  {ANY_VALUE},
  12003.                                         PERM      #fill-order     {'normal-
  12004.           order'}}},
  12005.  
  12006.                     CASE  SUPERIOR  ({CompositeHeader   |  CompositeFooter}
  12007.           (Layout-path)) OF {
  12008.  
  12009.                                          170
  12010.  
  12011.  
  12012.  
  12013.  
  12014.  
  12015.  
  12016.  
  12017.  
  12018.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12019.  
  12020.                     {'270-degrees'}:    -- H/F layout A1 when the immediate
  12021.                                         superior   is  CompositeHeader   or
  12022.                                         CompositeFooter, or --
  12023.                          REQ  Dimensions     {REQ #horizontal-dimension
  12024.                                           {REQ #fixed-dimension {ANY_VALUE}
  12025.                                           |REQ #maximum-size {'applies'}},
  12026.                                          REQ #vertical-dimension
  12027.                                           {REQ #fixed-dimension {ANY_VALUE}
  12028.                                           |REQ #rule-b {ANY_VALUE}}},
  12029.                          PERM Layout-path    {'270-degrees'}  -- H/F layout
  12030.           A1 --
  12031.  
  12032.                     {'180-degrees'}:    -- H/F layout B1 when the immediate
  12033.                                         superior   is  CompositeHeader   or
  12034.                                         CompositeFooter, or --
  12035.                          REQ  Dimensions     {REQ #horizontal-dimension
  12036.                                           {REQ #fixed-dimension {ANY_VALUE}
  12037.                                           |REQ #rule-b {ANY_VALUE}},
  12038.                                          REQ #vertical-dimension
  12039.                                           {REQ #fixed-dimension {ANY_VALUE}
  12040.                                           |REQ #maximum-size {'applies'}}},
  12041.                          REQ  Layout-path    {'180-degrees'}  -- H/F layout
  12042.           B1 --
  12043.                }    },
  12044.  
  12045.               REQ    Application-comments    {REQ  #constraint-name {"19"},
  12046.                                     PERM #external-data {ANY_VALUE}}
  12047.           SPECIFIC:
  12048.               CASE $DAC OF {
  12049.                $FDA:  
  12050.                     PERM  Object-class  {OBJECT_CLASS_ID_OF
  12051.                                                                     
  12052.           (SourcedContentVariable)}
  12053.                $FPDA: 
  12054.                     REQ   Object-class  {OBJECT_CLASS_ID_OF
  12055.                                                                     
  12056.           (SourcedContentVariable)}
  12057.                },
  12058.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  12059.               PERM   Application-comments    {REQ  #constraint-name {"19"},
  12060.                                     PERM #external-data {ANY_VALUE}}  
  12061.           }
  12062.  
  12063.  
  12064.           7.4.3.19  BasicHeader
  12065.  
  12066.           :ANY-FRAME-FIXED {
  12067.           GENERIC:
  12068.               CASE $DAC OF {
  12069.                $PDA-FPDA:  
  12070.                     REQ   Logical-source
  12071.           {OBJECT_CLASS_ID_OF(CommonContent)}
  12072.                },
  12073.               PERM   Layout-path        {'270-degrees' -- H/F layout A1 --
  12074.  
  12075.                                          171
  12076.  
  12077.  
  12078.  
  12079.  
  12080.  
  12081.  
  12082.  
  12083.  
  12084.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12085.  
  12086.                                    |'180-degrees' -- H/F layout B1 --},
  12087.               REQ    Application-comments    {REQ  #constraint-name {"27"},
  12088.                                     PERM #external-data {ANY_VALUE}}
  12089.           SPECIFIC:
  12090.               CASE $DAC OF {
  12091.                $FDA:  
  12092.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(BasicHeader)}
  12093.                $FPDA: 
  12094.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(BasicHeader)}
  12095.                },
  12096.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  12097.               PERM   Application-comments    {REQ  #constraint-name {"27"},
  12098.                                     PERM #external-data {ANY_VALUE}}  
  12099.           }
  12100.  
  12101.  
  12102.           7.4.3.20  BasicFooter
  12103.  
  12104.           :ANY-FRAME-FIXED {
  12105.           GENERIC:
  12106.               CASE $DAC OF {
  12107.                $PDA-FPDA:  
  12108.                     REQ   Logical-source
  12109.           {OBJECT_CLASS_ID_OF(CommonContent)}
  12110.                },
  12111.               PERM   Layout-path        {'270-degrees' -- H/F layout A1 --
  12112.                                    |'180-degrees' -- H/F layout B1 --},
  12113.               REQ    Application-comments    {REQ  #constraint-name {"33"},
  12114.                                     PERM #external-data {ANY_VALUE}}
  12115.           SPECIFIC:
  12116.               CASE $DAC OF {
  12117.                $FDA:  
  12118.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(BasicFooter)}
  12119.                $FPDA: 
  12120.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(BasicFooter)}
  12121.                },
  12122.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  12123.               PERM   Application-comments    {REQ  #constraint-name {"33"},
  12124.                                     PERM #external-data {ANY_VALUE}}   
  12125.           }
  12126.  
  12127.  
  12128.           7.4.3.21  BasicBody
  12129.  
  12130.           :ANY-FRAME-FIXED {
  12131.           GENERIC:
  12132.               PERM   Layout-path        {'270-degrees' -- body layout A --
  12133.                                    |'0-degrees'   -- body layout B --
  12134.                                    |'180-degrees' -- body layout C --},
  12135.               REQ    Application-comments    {REQ  #constraint-name {"28"},
  12136.                                     PERM #external-data {ANY_VALUE}}
  12137.           SPECIFIC:
  12138.               CASE $DAC OF {
  12139.                $FDA:  
  12140.  
  12141.                                          172
  12142.  
  12143.  
  12144.  
  12145.  
  12146.  
  12147.  
  12148.  
  12149.  
  12150.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12151.  
  12152.                     PERM  Object-class   
  12153.           {OBJECT_CLASS_ID_OF(BasicBody)}
  12154.                $FPDA: 
  12155.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(BasicBody)}
  12156.                },
  12157.               REQ    Subordinates       {SUB_ID_OF(SpecificBlock)+},
  12158.               PERM   Application-comments    {REQ  #constraint-name {"28"},
  12159.                                     PERM #external-data {ANY_VALUE}}  
  12160.           }
  12161.  
  12162.  
  12163.           7.4.3.22  GenericBlock
  12164.  
  12165.           {
  12166.           GENERIC:
  12167.               REQ    Object-type             {'block'},
  12168.               REQ    Object-class-identifier {ANY_VALUE},
  12169.               REQ    Content-architecture-class   {$FC | $FPC | $FPR | $FPG
  12170.           },
  12171.               PERM   Content-portions
  12172.           {CONTENT_ID_OF(Character-content-portion)+
  12173.                                    |
  12174.           CONTENT_ID_OF(Raster-graphics-content-portion)
  12175.                                    |
  12176.           CONTENT_ID_OF(Geometric-graphics-content-portion) },
  12177.               PERM  Presentation-style       {STYLE_ID_OF(PStyle1)
  12178.                                    | STYLE_ID_OF(PStyle2)
  12179.                                    | STYLE_ID_OF(PStyle3)},
  12180.               PERM  Resource            {ANY_VALUE},
  12181.               REQ   Application-comments     {REQ          #constraint-name
  12182.           {"29"},
  12183.                                     PERM #external-data {ANY_VALUE}}
  12184.           SPECIFIC:
  12185.               REQ    Object-type             {'block'},
  12186.               REQ    Object-identifier       {ANY_VALUE},
  12187.               CASE $DAC OF {
  12188.                $FDA:  
  12189.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(GenericBlock)}
  12190.                $FPDA: 
  12191.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(GenericBlock)}
  12192.                },
  12193.               PERM   Presentation-style      {STYLE_ID_OF(PStyle1)
  12194.                                    | STYLE_ID_OF(PStyle2)
  12195.                                    | STYLE_ID_OF(PStyle3)},
  12196.               PERM  Content-architecture-class    {$FC | $FPC | $FPR | $FPG
  12197.           },
  12198.               CASE  GenericBlock (Object-class) OF {
  12199.                VOID:
  12200.                     REQ    Content-portions       {CONTENT_ID_OF(Character-
  12201.           content-portion)+
  12202.                                    |CONTENT_ID_OF(Raster-graphics-content-
  12203.           portion)
  12204.                                    |CONTENT_ID_OF(Geometric-graphics-
  12205.           content-portion)}
  12206.  
  12207.                                          173
  12208.  
  12209.  
  12210.  
  12211.  
  12212.  
  12213.  
  12214.  
  12215.  
  12216.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12217.  
  12218.                },
  12219.               PERM  Presentation-attributes  {
  12220.                   PERM  #character-attributes     {  
  12221.                       PERM  #alignment            {ANY_VALUE},
  12222.                       PERM  #character-fonts      {ANY_VALUE},
  12223.                       PERM  #character-path       {ANY_VALUE},
  12224.                       PERM  #character-spacing         {ANY_VALUE},
  12225.                       PERM  #character-orientation          {   '   0   -
  12226.           degrees'|'90-degrees'},
  12227.                       PERM  #code-extension-announcers {$CDEXTEN},
  12228.                       PERM  #first-line-offset         {ANY_VALUE},
  12229.                       PERM  #graphic-character-sets    {$PERMIT-GRCHAR},
  12230.                       PERM  #graphic-character-subrepertoire
  12231.           {ANY_VALUE},
  12232.                       PERM  #graphic-rendition
  12233.           {$GRAPHICRENDITIONS},
  12234.                       PERM  #itemization               {ANY_VALUE},
  12235.                       PERM  #kerning-offset       {ANY_VALUE},
  12236.                       PERM  #line-layout-table         {ANY_VALUE},
  12237.                       PERM  #line-progression          {'90-degrees'|'270-
  12238.           degrees'},
  12239.                       PERM  #line-spacing              {ANY_VALUE},
  12240.                       PERM  #initial-offset            {ANY_VALUE}
  12241.                }
  12242.               },
  12243.               PERM   Application-comments    {REQ          #constraint-name
  12244.           {"29"},
  12245.                                     PERM #external-data{ANY_VALUE}}
  12246.           SPECIFIC_AND_GENERIC:
  12247.               PERM  Position            {REQ #fixed-position
  12248.                                         {REQ           #horizontal-position
  12249.           {ANY_VALUE},
  12250.                                          REQ             #vertical-position
  12251.           {ANY_VALUE}}},
  12252.               PERM  Dimensions               {REQ #horizontal-dimension
  12253.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12254.                                     REQ #vertical-dimension
  12255.                                         {REQ               #fixed-dimension
  12256.           {ANY_VALUE}}},
  12257.               PERM  User-readable-comments   {ANY_STRING},
  12258.               PERM  User-visible-name        {ANY_STRING}  
  12259.           }
  12260.  
  12261.  
  12262.           7.4.3.23  SpecificBlock
  12263.  
  12264.           {
  12265.           SPECIFIC:
  12266.               REQ   Object-type              {'block'},
  12267.               REQ   Object-identifier        {ANY_VALUE},
  12268.               REQ   Content-portions
  12269.           {CONTENT_ID_OF(Character-content-portion)+
  12270.                                    |CONTENT_ID_OF(Raster-graphics-content-portion)
  12271.  
  12272.  
  12273.                                          174
  12274.  
  12275.  
  12276.  
  12277.  
  12278.  
  12279.  
  12280.  
  12281.  
  12282.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12283.  
  12284.           |CONTENT_ID_OF(Geometric-graphics-content-portion)},
  12285.               PERM  Position            {REQ #fixed-position
  12286.                                           {REQ         #horizontal-position
  12287.           {ANY_VALUE},
  12288.                                            REQ           #vertical-position
  12289.           {ANY_VALUE}}},
  12290.               PERM  Dimensions               {REQ #horizontal-dimension
  12291.                                           {REQ             #fixed-dimension
  12292.           {ANY_VALUE}},
  12293.                                     REQ #vertical-dimension
  12294.                                           {REQ             #fixed-dimension
  12295.           {ANY_VALUE}}},
  12296.               PERM  Presentation-style       {STYLE_ID_OF(PStyle1)
  12297.                                    | STYLE_ID_OF(PStyle2)
  12298.                                    | STYLE_ID_OF(PStyle3)
  12299.                                    | STYLE_ID_OF(PStyle4)},
  12300.               PERM  Content-architecture-class    {$FC  |  $FPC  |  $FPR  |
  12301.           $FPG},
  12302.               PERM  Presentation-attributes  {
  12303.                   PERM  #character-attributes     {  
  12304.                       PERM  #alignment            {ANY_VALUE},
  12305.                       PERM  #character-fonts      {ANY_VALUE},
  12306.                       PERM  #character-path       {ANY_VALUE},
  12307.                       PERM  #character-spacing         {ANY_VALUE},
  12308.                       PERM  #character-orientation          {   '   0   -
  12309.           degrees'|'90-degrees'},
  12310.                       PERM  #code-extension-announcers {$CDEXTEN},
  12311.                       PERM  #first-line-offset         {ANY_VALUE},
  12312.                       PERM  #graphic-character-sets    {$PERMIT-GRCHAR },
  12313.                       PERM  #graphic-character-subrepertoire
  12314.           {ANY_VALUE},
  12315.                       PERM  #graphic-rendition
  12316.           {$GRAPHICRENDITIONS},
  12317.                       PERM  #itemization               {ANY_VALUE},
  12318.                       PERM  #kerning-offset       {ANY_VALUE},
  12319.                       PERM  #line-layout-table         {ANY_VALUE},
  12320.                       PERM  #line-progression          {'90-degrees'|'270-
  12321.           degrees'},
  12322.                       PERM  #line-spacing              {ANY_VALUE},
  12323.                       PERM  #initial-offset            {ANY_VALUE}
  12324.                }
  12325.               },
  12326.               PERM  Transparency        {ANY_VALUE},
  12327.               PERM  Colour              {ANY_VALUE},
  12328.               PERM  Border              {ANY_VALUE },
  12329.               PERM  User-readable-comments   {ANY_STRING},
  12330.               PERM  User-visible-name        {ANY_STRING},
  12331.               PERM  Application-comments     {REQ  #constraint-name {"30"},
  12332.                                     PERM #external-data  {ANY_VALUE}}
  12333.           }
  12334.  
  12335.  
  12336.  
  12337.  
  12338.  
  12339.                                          175
  12340.  
  12341.  
  12342.  
  12343.  
  12344.  
  12345.  
  12346.  
  12347.  
  12348.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12349.  
  12350.           7.4.3.24  TableArea
  12351.  
  12352.           :ANY-FRAME-VARIABLE {
  12353.           GENERIC:
  12354.               CASE $DAC OF {
  12355.                $PDA-FPDA:
  12356.                     REQ   Generator-for-subordinates   {$TableAreaGFS}
  12357.                },
  12358.               REQ   Position            {REQ #variable-position {
  12359.                                         PERM #offset     {ANY_VALUE},
  12360.                                         PERM #separation {ANY_VALUE},
  12361.                                         PERM #alignment  {ANY_VALUE},
  12362.                                         PERM      #fill-order     {'normal-
  12363.           order'}}},
  12364.               REQ   Dimensions               {REQ #horizontal-dimension
  12365.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12366.                                     REQ #vertical-dimension
  12367.                                         {REQ #rule-b {ANY_VALUE}
  12368.                                         |REQ               #fixed-dimension
  12369.           {ANY_VALUE}}},
  12370.               PERM  Layout-path              {'270-degrees'},
  12371.               REQ   Application-comments     {REQ  #constraint-name {"36"},
  12372.                                     PERM #external-data {ANY_VALUE}}
  12373.           SPECIFIC:
  12374.               CASE $DAC OF {
  12375.                $FDA:      
  12376.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(TableArea)}
  12377.                $FPDA: 
  12378.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(TableArea)} 
  12379.                },
  12380.               REQ   Subordinates             {SUB_ID_OF(RowArea)+,
  12381.                                     SUB_ID_OF(TableLabel)+,
  12382.                                     SUB_ID_OF(TableHeader)},
  12383.               PERM  Position            {ANY_VALUE},
  12384.               PERM  Dimensions               {REQ #horizontal-dimension
  12385.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12386.                                     REQ #vertical-dimension
  12387.                                         {REQ               #fixed-dimension
  12388.           {ANY_VALUE}}},
  12389.               PERM  Application-comments     {REQ  #constraint-name {"36"},
  12390.                                     PERM #external-data {ANY_VALUE}}
  12391.           SPECIFIC_AND_GENERIC:
  12392.               PERM  Border              {ANY_VALUE}
  12393.           }
  12394.  
  12395.  
  12396.           7.4.3.25  TableHeader
  12397.  
  12398.           :ANY-FRAME-VARIABLE {
  12399.           GENERIC:
  12400.               CASE $DAC OF {
  12401.                $PDA-FPDA:
  12402.                     REQ   Generator-for-subordinates   {$TableHeaderGFS}
  12403.                },
  12404.  
  12405.                                          176
  12406.  
  12407.  
  12408.  
  12409.  
  12410.  
  12411.  
  12412.  
  12413.  
  12414.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12415.  
  12416.               REQ   Position            {REQ #variable-position {
  12417.                                         PERM #offset     {ANY_VALUE},
  12418.                                         PERM #separation {ANY_VALUE},
  12419.                                         PERM #alignment  {ANY_VALUE},
  12420.                                         PERM      #fill-order     {'normal-
  12421.           order'}}},
  12422.               REQ   Dimensions               {REQ #horizontal-dimension
  12423.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12424.                                     REQ #vertical-dimension
  12425.                                         {REQ #rule-b {ANY_VALUE}
  12426.                                         |REQ               #fixed-dimension
  12427.           {ANY_VALUE}}},
  12428.               PERM  Layout-path              {'270-degrees'},
  12429.               REQ   Application-comments     {REQ  #constraint-name {"34"},
  12430.                                     PERM #external-data {ANY_VALUE}}
  12431.           SPECIFIC:
  12432.               CASE $DAC OF {
  12433.                $FDA:      
  12434.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(TableHeader)}
  12435.                $FPDA: 
  12436.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(TableHeader)} 
  12437.                },
  12438.               REQ   Subordinates
  12439.           {SUB_ID_OF(SourcedContentFixed)+},
  12440.               PERM  Position            {ANY_VALUE},
  12441.               PERM  Dimensions               {REQ #horizontal-dimension
  12442.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12443.                                     REQ #vertical-dimension
  12444.                                         {REQ               #fixed-dimension
  12445.           {ANY_VALUE}}},
  12446.               PERM  Application-comments     {REQ  #constraint-name {"34"},
  12447.                                     PERM #external-data {ANY_VALUE}}
  12448.           SPECIFIC_AND_GENERIC:
  12449.               PERM  Border              {ANY_VALUE} 
  12450.           }
  12451.  
  12452.  
  12453.           7.4.3.26  TableLabel
  12454.  
  12455.           :ANY-FRAME-VARIABLE {
  12456.           GENERIC:
  12457.               CASE $DAC OF {
  12458.                $PDA-FPDA:
  12459.                     REQ   Generator-for-subordinates   {$TableLabelGFS}
  12460.                },
  12461.               REQ   Position            {REQ #variable-position {
  12462.                                         PERM #offset     {ANY_VALUE},
  12463.                                         PERM #separation {ANY_VALUE},
  12464.                                         PERM #alignment  {ANY_VALUE},
  12465.                                         PERM      #fill-order     {'normal-
  12466.           order'}}},
  12467.               REQ   Dimensions               {REQ #horizontal-dimension
  12468.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12469.                                     REQ #vertical-dimension
  12470.  
  12471.                                          177
  12472.  
  12473.  
  12474.  
  12475.  
  12476.  
  12477.  
  12478.  
  12479.  
  12480.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12481.  
  12482.                                         {REQ #rule-b {ANY_VALUE}
  12483.                                         |REQ               #fixed-dimension
  12484.           {ANY_VALUE}}},
  12485.               PERM  Layout-path              {'270-degrees'},
  12486.               REQ   Application-comments     {REQ  #constraint-name {"37"},
  12487.                                     PERM #external-data {ANY_VALUE}}
  12488.           SPECIFIC:
  12489.               CASE $DAC OF {
  12490.                $FDA:      
  12491.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(TableLabel)}
  12492.                $FPDA: 
  12493.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(TableLabel)} 
  12494.                },
  12495.               REQ   Subordinates
  12496.           {SUB_ID_OF(TableLabelContent)},
  12497.               PERM  Position            {ANY_VALUE},
  12498.               PERM  Dimensions               {REQ #horizontal-dimension
  12499.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12500.                                     REQ #vertical-dimension
  12501.                                         {REQ               #fixed-dimension
  12502.           {ANY_VALUE}}},
  12503.               PERM  Application-comments     {REQ  #constraint-name {"37"},
  12504.                                     PERM #external-data {ANY_VALUE}}
  12505.           SPECIFIC_AND_GENERIC:
  12506.               PERM  Border              {ANY_VALUE} 
  12507.           }
  12508.  
  12509.  
  12510.           7.4.3.27  RowArea
  12511.  
  12512.           :ANY-FRAME-VARIABLE {
  12513.           GENERIC:
  12514.               CASE $DAC OF {
  12515.                $PDA-FPDA:
  12516.                     REQ   Generator-for-subordinates   {$RowAreaGFS}
  12517.                },
  12518.               REQ   Position            {REQ #variable-position {
  12519.                                         PERM #offset     {ANY_VALUE},
  12520.                                         PERM #separation {ANY_VALUE},
  12521.                                         PERM #alignment  {ANY_VALUE},
  12522.                                         PERM      #fill-order     {'normal-
  12523.           order'}}},
  12524.               REQ   Dimensions               {REQ #horizontal-dimension
  12525.                                            {REQ            #fixed-dimension
  12526.           {ANY_VALUE}},
  12527.                                     REQ #vertical-dimension
  12528.                                         {REQ #rule-b {ANY_VALUE}
  12529.                                         |REQ               #fixed-dimension
  12530.           {ANY_VALUE}}},
  12531.               PERM  Layout-path              {'270-degrees'},
  12532.               REQ   Application-comments     {REQ  #constraint-name {"40"},
  12533.                                     PERM #external-data {ANY_VALUE}}
  12534.           SPECIFIC:
  12535.               CASE $DAC OF {
  12536.  
  12537.                                          178
  12538.  
  12539.  
  12540.  
  12541.  
  12542.  
  12543.  
  12544.  
  12545.  
  12546.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12547.  
  12548.                $FDA: 
  12549.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(RowArea)}
  12550.                $FPDA:
  12551.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(RowArea)} 
  12552.                },
  12553.               REQ   Subordinates             {SUB_ID_OF(Cell)+,
  12554.               PERM  Position            {ANY_VALUE},
  12555.               PERM  Dimensions               {REQ #horizontal-dimension
  12556.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12557.                                     REQ #vertical-dimension
  12558.                                         {REQ               #fixed-dimension
  12559.           {ANY_VALUE}}},
  12560.               PERM  Application-comments     {REQ #constraint-name {"40"},
  12561.                                     PERM #external-data {ANY_VALUE}}
  12562.           SPECIFIC_AND_GENERIC:
  12563.               PERM  Border              {ANY_VALUE} 
  12564.           }
  12565.  
  12566.  
  12567.           7.4.3.28  Cell
  12568.  
  12569.           :ANY-FRAME-VARIABLE {
  12570.           GENERIC:
  12571.               REQ   Position            {REQ #fixed-position {
  12572.                                         REQ            #horizontal-position
  12573.           {ANY_VALUE},
  12574.                                         REQ              #vertical-position
  12575.           {ANY_VALUE}}},
  12576.               REQ   Dimensions               {REQ #horizontal-dimension
  12577.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12578.                                     REQ #vertical-dimension
  12579.                                         {REQ #rule-b {ANY_VALUE}
  12580.                                         |REQ #fixed-dimension {ANY_VALUE}
  12581.                                         |REQ #maximum-size {'applies'}}},
  12582.  
  12583.               PERM  Layout-path              {'270-degrees'},
  12584.               REQ   Permitted-categories          {ANY_STRING...},
  12585.                                     -- category  name for tables  should be
  12586.           specified --
  12587.               REQ   Application-comments     {REQ  #constraint-name {"41"},
  12588.                                     PERM #external-data {ANY_VALUE}}
  12589.           SPECIFIC:
  12590.               CASE $DAC OF {
  12591.                $FDA:  
  12592.                     PERM  Object-class  {OBJECT_CLASS_ID_OF(Cell)}
  12593.                $FPDA: 
  12594.                     REQ   Object-class  {OBJECT_CLASS_ID_OF(Cell)} 
  12595.                },
  12596.               REQ   Subordinates             {SUB_ID_OF(SpecificBlock)},
  12597.               PERM  Position            {ANY_VALUE},
  12598.               PERM  Dimensions               {REQ #horizontal-dimension
  12599.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12600.                                     REQ #vertical-dimension
  12601.                                         {REQ               #fixed-dimension
  12602.  
  12603.                                          179
  12604.  
  12605.  
  12606.  
  12607.  
  12608.  
  12609.  
  12610.  
  12611.  
  12612.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12613.  
  12614.           {ANY_VALUE}}},
  12615.               PERM  Application-comments     {REQ  #constraint-name {"41"},
  12616.                                     PERM #external-data {ANY_VALUE}}
  12617.           SPECIFIC_AND_GENERIC:
  12618.               PERM  Border              {ANY_VALUE} 
  12619.           }
  12620.  
  12621.  
  12622.           7.4.3.29  TableLabelContent
  12623.  
  12624.           :ANY-FRAME-VARIABLE {
  12625.           GENERIC:
  12626.               CASE $DAC OF {
  12627.                $PDA-FPDA:
  12628.                     REQ  Logical-source
  12629.           {OBJECT_CLASS_ID_OF(CommonContent)},
  12630.                     REQ  Position       {REQ #fixed-position
  12631.                                         {REQ           #horizontal-position
  12632.           {ANY_VALUE},
  12633.                                          REQ             #vertical-position
  12634.           {ANY_VALUE}}},
  12635.                     REQ  Dimensions     {REQ #horizontal-dimension
  12636.                                         {REQ #fixed-dimension {ANY_VALUE}},
  12637.                                     REQ #vertical-dimension
  12638.                                         {REQ #fixed-dimension {ANY_VALUE}
  12639.                                         |REQ #maximum-size {'applies'}}},
  12640.                     PERM Layout-path         {'270-degrees'}
  12641.                },
  12642.               REQ  Application-comments      {REQ  #constraint-name {"44"},
  12643.                                     PERM #external-data {ANY_VALUE}}
  12644.           SPECIFIC:
  12645.               CASE $DAC OF {
  12646.                $FDA:      
  12647.                     PERM Object-class   {OBJECT_CLASS_ID_OF
  12648.                                              (TableLabelContent)}
  12649.                $FPDA: 
  12650.                     REQ  Object-class        {OBJECT_CLASS_ID_OF
  12651.                                              (TableLabelContent)}
  12652.                },
  12653.               REQ  Subordinates              {SUB_ID_OF(SpecificBlock)+},
  12654.               PERM Application-comments {REQ  #constraint-name {"44"},
  12655.                                     PERM #external-data {ANY_VALUE}} 
  12656.           }
  12657.  
  12658.  
  12659.  
  12660.  
  12661.  
  12662.  
  12663.  
  12664.  
  12665.  
  12666.  
  12667.  
  12668.  
  12669.                                          180
  12670.  
  12671.  
  12672.  
  12673.  
  12674.  
  12675.  
  12676.  
  12677.  
  12678.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12679.  
  12680.  
  12681.  
  12682.           7.5  Layout style constituent constraints
  12683.  
  12684.  
  12685.           7.5.1  Macro definitions
  12686.  
  12687.           DEFINE(SameLayoutObject,"
  12688.           REQ  {REQ  #logical-object     {<object-id-expr>::=PREC-OBJ(CURR-
  12689.           OBJ);} 
  12690.                |REQ #logical-object {'null'}},
  12691.                 PERM #layout-object   {'page'}         -- to layout  object
  12692.           type --
  12693.           ")
  12694.  
  12695.  
  12696.           7.5.2  Factor constraints
  12697.  
  12698.           FACTOR ANY-LAYOUT-STYLE
  12699.  
  12700.           {
  12701.           REQ   Layout-style-identifier      {ANY_VALUE},
  12702.           PERM  User-readable-comments  {ANY_STRING},
  12703.           PERM  User-visible-name       {ANY_STRING}
  12704.           }
  12705.  
  12706.  
  12707.           7.5.3  Constituent constraints
  12708.  
  12709.  
  12710.           7.5.3.1  LStyle1
  12711.  
  12712.           :ANY-LAYOUT-STYLE   {
  12713.  
  12714.           -- this style is used for the constituent constraint Passage  --
  12715.  
  12716.           CASE $GLAS OF{
  12717.             $COMPLETE:
  12718.                PERM Indivisibility           {ANY_VALUE},
  12719.                PERM Layout-object-class      {OBJECT_CLASS_ID_OF(PageSet)},
  12720.                PERM New-layout-object        {OBJECT_CLASS_ID_OF(PageSet)},
  12721.             VOID:
  12722.                PERM Indivisibility           {ANY_STRING     --to    layout
  12723.                     category--
  12724.                                         |'page'        --to  layout  object
  12725.           type--
  12726.                                         |'null'},
  12727.           }}
  12728.  
  12729.           7.5.3.2  LStyle2
  12730.  
  12731.           :ANY-LAYOUT-STYLE   {
  12732.  
  12733.           -- this style  is used for  the constituent constraints  BodyText
  12734.  
  12735.                                          181
  12736.  
  12737.  
  12738.  
  12739.  
  12740.  
  12741.  
  12742.  
  12743.  
  12744.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12745.  
  12746.           and Number  --
  12747.  
  12748.           CASE $GLAS OF{
  12749.             $COMPLETE:
  12750.                PERM Block-alignment          {ANY_VALUE},
  12751.                PERM Concatenation            {ANY_VALUE},
  12752.                PERM Indivisibility           {ANY_VALUE},
  12753.                PERM Layout-category          {ANY_VALUE},
  12754.                PERM New-layout-object        {ANY_VALUE},
  12755.                PERM Offset                   {ANY_VALUE}, 
  12756.                PERM Same-layout-object       {$SameLayoutObject},
  12757.                PERM Separation               {PERM            #leading-edge
  12758.           {ANY_INTEGER},
  12759.                                               PERM           #trailing-edge
  12760.           {ANY_INTEGER}},
  12761.                PERM Synchronization          {ANY_VALUE}
  12762.             VOID:
  12763.                PERM Block-alignment          {ANY_VALUE},
  12764.                PERM Concatenation            {ANY_VALUE},
  12765.                PERM Indivisibility           {ANY_STRING     --to    layout
  12766.                     category--
  12767.                                         |'page'         --to  layout object
  12768.           type--
  12769.                                         |'null'},
  12770.                PERM Layout-category          {ANY_VALUE},
  12771.                PERM New-layout-object        {ANY_STRING     --to    layout
  12772.           category--
  12773.                                         |'page'         --to layout  object
  12774.           type--
  12775.                                         |'null'},
  12776.                PERM Offset                   {ANY_VALUE}, 
  12777.                PERM Same-layout-object       {$SameLayoutObject},
  12778.                PERM      Separation               {PERM       #leading-edge
  12779.           {ANY_INTEGER},
  12780.                                               PERM           #trailing-edge
  12781.           {ANY_INTEGER}},
  12782.                PERM Synchronization          {ANY_VALUE}
  12783.            }}
  12784.  
  12785.           7.5.3.3  LStyle3
  12786.  
  12787.           :ANY-LAYOUT-STYLE{
  12788.  
  12789.           -- this style is used for the constituent constraints CommonText,
  12790.           PageNumber, TableNumber and CommonReference  --
  12791.  
  12792.           PERM Block-alignment          {ANY_VALUE},
  12793.           PERM Concatenation            {ANY_VALUE},
  12794.           PERM Offset                   {ANY_VALUE},
  12795.           PERM Separation               {PERM #leading-edge {ANY_INTEGER},
  12796.                                               PERM           #trailing-edge
  12797.           {ANY_INTEGER}}
  12798.           }
  12799.  
  12800.  
  12801.                                          182
  12802.  
  12803.  
  12804.  
  12805.  
  12806.  
  12807.  
  12808.  
  12809.  
  12810.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12811.  
  12812.           7.5.3.4  LStyle4
  12813.  
  12814.           :ANY-LAYOUT-STYLE   {
  12815.  
  12816.           --  this   style  is   used  for   the  constituent   constraints
  12817.           NumberedSegment,  Paragraph,  Phrase,   Reference,  NumberedList,
  12818.           UnNumberedList, DefinitionList, ListItem, ListTerm  --
  12819.  
  12820.           CASE $GLAS OF{
  12821.             $COMPLETE:
  12822.                PERM Indivisibility           {ANY_VALUE},
  12823.                PERM Layout-object-class      {OBJECT_CLASS_ID_OF(PageSet)},
  12824.                PERM New-layout-object        {ANY_VALUE},
  12825.                PERM Same-layout-object       {$SameLayoutObject},
  12826.                PERM Synchronization          {ANY_VALUE}
  12827.             VOID:
  12828.                PERM Indivisibility           {ANY_STRING     --to    layout
  12829.                     category--
  12830.                                         |'page'        --to  layout  object
  12831.           type--
  12832.                                         |'null'},
  12833.                PERM New-layout-object        {ANY_STRING     --to    layout
  12834.           category--
  12835.                                         |'page'        --to  layout  object
  12836.           type--
  12837.                                         |'null'},
  12838.                PERM Same-layout-object       {$SameLayoutObject},
  12839.                PERM Synchronization          {ANY_VALUE}
  12840.           }}
  12841.  
  12842.  
  12843.           7.5.3.5  LStyle5
  12844.  
  12845.           :ANY-LAYOUT-STYLE   {
  12846.  
  12847.           -- This style is used for  the constituent constraints BodyRaster
  12848.           and BodyGeometric  --
  12849.  
  12850.           CASE $GLAS OF{
  12851.             $COMPLETE:
  12852.                PERM Block-alignment          {ANY_VALUE},
  12853.                PERM Layout-category          {ANY_VALUE},
  12854.                PERM New-layout-object        {ANY_VALUE},
  12855.                PERM Offset                   {ANY_VALUE},
  12856.                PERM Same-layout-object       {$SameLayoutObject},
  12857.                PERM Separation               {PERM            #leading-edge
  12858.           {ANY_INTEGER},
  12859.                                               PERM           #trailing-edge
  12860.           {ANY_INTEGER}},
  12861.                PERM Synchronization          {ANY_VALUE}
  12862.             VOID:
  12863.                PERM Block-alignment          {ANY_VALUE},
  12864.                PERM Layout-category          {ANY_VALUE},
  12865.                PERM New-layout-object        {ANY_STRING     --to    layout
  12866.  
  12867.                                          183
  12868.  
  12869.  
  12870.  
  12871.  
  12872.  
  12873.  
  12874.  
  12875.  
  12876.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12877.  
  12878.           category--
  12879.                                         |'page'         --to  layout object
  12880.           type--
  12881.                                         |'null'},
  12882.                PERM Offset                   {ANY_VALUE},
  12883.                PERM Same-layout-object       {$SameLayoutObject},
  12884.                PERM Separation               {PERM            #leading-edge
  12885.           {ANY_INTEGER},
  12886.                                               PERM           #trailing-edge
  12887.           {ANY_INTEGER}},
  12888.                PERM Synchronization          {ANY_VALUE}
  12889.           }}
  12890.  
  12891.  
  12892.  
  12893.           7.5.3.6  LStyle6
  12894.  
  12895.           :ANY-LAYOUT-STYLE   {
  12896.  
  12897.           -- This style is used for the constituent constraint FootnoteText
  12898.           --
  12899.  
  12900.           CASE $GLAS OF{
  12901.             $COMPLETE:
  12902.                PERM Indivisibility
  12903.           {OBJECT_CLASS_ID_OF(FootnoteArea)
  12904.                                               |'page'
  12905.                                               |'null'},
  12906.                PERM Block-alignment          {ANY_VALUE},
  12907.                PERM Concatenation            {ANY_VALUE},
  12908.                REQ  Layout-category          {$FOOTNOTECATEGORY},
  12909.                PERM Offset                   {ANY_VALUE},
  12910.                PERM Separation               {PERM            #leading-edge
  12911.           {ANY_INTEGER},
  12912.                                               PERM           #trailing-edge
  12913.           {ANY_INTEGER}}
  12914.             VOID:
  12915.                PERM Indivisibility           {ANY_STRING     --to    layout
  12916.                     category--
  12917.                                         |'page'        --to  layout  object
  12918.           type--
  12919.                                         |'null'},
  12920.                PERM Block-alignment          {ANY_VALUE},
  12921.                PERM Concatenation            {ANY_VALUE},
  12922.                REQ  Layout-category          {$FOOTNOTECATEGORY},
  12923.                PERM Offset                   {ANY_VALUE},
  12924.                PERM Separation               {PERM            #leading-edge
  12925.           {ANY_INTEGER},
  12926.                                               PERM           #trailing-edge
  12927.           {ANY_INTEGER}}
  12928.           }}
  12929.  
  12930.  
  12931.  
  12932.  
  12933.                                          184
  12934.  
  12935.  
  12936.  
  12937.  
  12938.  
  12939.  
  12940.  
  12941.  
  12942.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  12943.  
  12944.           7.5.3.7  LStyle7
  12945.  
  12946.           :ANY-LAYOUT-STYLE   {
  12947.  
  12948.           -- this style is used for the constituent constraint Footnote  --
  12949.  
  12950.           PERM Same-layout-object       {$SameLayoutObject},
  12951.           }
  12952.  
  12953.  
  12954.           7.5.3.8  LStyle8
  12955.  
  12956.           :ANY-LAYOUT-STYLE   {
  12957.  
  12958.           --  this   style  is   used  for   the  constituent   constraints
  12959.           CommonRaster and CommonGeometric  --
  12960.  
  12961.           PERM Block-alignment               {ANY_VALUE},
  12962.           PERM Offset                        {ANY_VALUE},
  12963.           PERM Separation                    {PERM            #leading-edge
  12964.                {ANY_INTEGER},
  12965.                                               PERM           #trailing-edge
  12966.           {ANY_INTEGER}}
  12967.           }
  12968.  
  12969.  
  12970.           7.5.3.9  LStyle9
  12971.  
  12972.           :ANY-LAYOUT-STYLE   {
  12973.  
  12974.           --   this  style   is  used   for   the  constituent   constraint
  12975.           FootnoteNumber  --
  12976.  
  12977.           PERM Block-alignment          {ANY_VALUE},
  12978.           REQ  Layout-category          {$FOOTNOTECATEGORY},
  12979.           PERM Offset                   {ANY_VALUE},
  12980.           PERM Separation               {PERM #leading-edge {ANY_INTEGER},
  12981.                                               PERM           #trailing-edge
  12982.           {ANY_INTEGER}}
  12983.           }
  12984.  
  12985.  
  12986.  
  12987.           7.5.3.10  LStyle10
  12988.  
  12989.           :ANY-LAYOUT-STYLE   {
  12990.  
  12991.           --  this   style  is   used  for   the  constituent   constraints
  12992.           FootnoteReference and ReferencedContent  --
  12993.  
  12994.           CASE $GLAS OF{
  12995.             $COMPLETE:
  12996.                PERM Block-alignment          {ANY_VALUE},
  12997.                PERM Concatenation            {ANY_VALUE},
  12998.  
  12999.                                          185
  13000.  
  13001.  
  13002.  
  13003.  
  13004.  
  13005.  
  13006.  
  13007.  
  13008.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13009.  
  13010.                PERM Indivisibility           {ANY_VALUE},
  13011.                PERM Layout-category          {ANY_VALUE},
  13012.                PERM Offset                   {ANY_VALUE},
  13013.                PERM Same-layout-object       {$SameLayoutObject},
  13014.                PERM Separation               {PERM            #leading-edge
  13015.           {ANY_INTEGER},
  13016.                                               PERM           #trailing-edge
  13017.           {ANY_INTEGER}}
  13018.             VOID:
  13019.                PERM Block-alignment          {ANY_VALUE},
  13020.                PERM Concatenation            {ANY_VALUE},
  13021.                PERM Indivisibility           {ANY_STRING     --to    layout
  13022.                     category--
  13023.                                         |'page'         --to layout  object
  13024.           type--
  13025.                                         |'null'},
  13026.                PERM Layout-category          {ANY_VALUE},
  13027.                PERM Offset                   {ANY_VALUE}, 
  13028.                PERM Same-layout-object       {$SameLayoutObject},
  13029.                PERM Separation               {PERM            #leading-edge
  13030.           {ANY_INTEGER},
  13031.                                               PERM           #trailing-edge
  13032.           {ANY_INTEGER}}
  13033.           }}
  13034.  
  13035.  
  13036.           7.5.3.11  LStyle11
  13037.  
  13038.           :ANY-LAYOUT-STYLE   {
  13039.  
  13040.           -- this style is used for the constituent constraint FootnoteBody
  13041.           --
  13042.  
  13043.           CASE $GLAS OF{
  13044.             $COMPLETE:
  13045.                PERM Indivisibility
  13046.           {OBJECT_CLASS_ID_OF(FootnoteArea)
  13047.                                               |'page'
  13048.                                               |'null'},
  13049.                PERM Same-layout-object       {$SameLayoutObject},
  13050.             VOID:
  13051.                PERM Indivisibility           {ANY_STRING     --to    layout
  13052.                     category--
  13053.                                         |'page'         --to  layout object
  13054.           type--
  13055.                                         |'null'},
  13056.                PERM Same-layout-object       {$SameLayoutObject},
  13057.           }}
  13058.  
  13059.  
  13060.           7.5.3.12  LStyleT2
  13061.  
  13062.           :ANY-LAYOUT-STYLE   {
  13063.  
  13064.  
  13065.                                          186
  13066.  
  13067.  
  13068.  
  13069.  
  13070.  
  13071.  
  13072.  
  13073.  
  13074.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13075.  
  13076.           -- this style is used for the constituent constraint EntryElement
  13077.           --
  13078.  
  13079.           --  In the case of Table,  both of the following attributes shall
  13080.           be specified. --
  13081.  
  13082.              REQ    New-layout-object        {OBJECT_CLASS_ID_OF(Cell)
  13083.           -- to layout object class -- 
  13084.                                    |ANY_STRING              --   to  layout
  13085.           category --},
  13086.              REQ    Indivisibility           {OBJECT_CLASS_ID_OF(Cell)
  13087.           -- to layout object class --
  13088.                                    |ANY_STRING              --   to  layout
  13089.           category --    }
  13090.           }
  13091.  
  13092.  
  13093.           7.5.3.13  LStyleT4
  13094.  
  13095.           :ANY-LAYOUT-STYLE   {
  13096.  
  13097.           -- this style is used for the constituent constraint Table --
  13098.  
  13099.           REQ  New-layout-object        {OBJECT_CLASS_ID_OF(TableArea)},
  13100.           PERM Indivisibility           {OBJECT_CLASS_ID_OF(TableArea)
  13101.                                              -- to layout object class --
  13102.                                    |ANY_STRING    -- to layout category --
  13103.                                    |'page'        -- to layout  object type
  13104.           --
  13105.                                    | 'null'  },
  13106.           PERM Same-layout-object       {$SameLayoutObject}
  13107.           }
  13108.  
  13109.  
  13110.           7.5.3.14  LStyleT5
  13111.  
  13112.           :ANY-LAYOUT-STYLE   {
  13113.  
  13114.           -- this layout style is  used for the constituent constraint  Row
  13115.           --
  13116.  
  13117.           REQ  New-layout-object        {OBJECT_CLASS_ID_OF(RowArea)},
  13118.           PERM Indivisibility           {OBJECT_CLASS_ID_OF(RowArea)
  13119.                                              -- to layout object class --
  13120.                                    |ANY_STRING    -- to layout category --
  13121.                                    |'page'        -- to layout  object type
  13122.           --
  13123.                                    |'null'}
  13124.           }
  13125.  
  13126.  
  13127.  
  13128.  
  13129.  
  13130.  
  13131.                                          187
  13132.  
  13133.  
  13134.  
  13135.  
  13136.  
  13137.  
  13138.  
  13139.  
  13140.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13141.  
  13142.           7.5.3.15  LStyleT8
  13143.  
  13144.           :ANY-LAYOUT-STYLE   {
  13145.  
  13146.           -- this style is used for the constituent constraint Table  --
  13147.  
  13148.           PERM Indivisibility           {OBJECT_CLASS_ID_OF(TableArea)
  13149.                                              -- to layout object class --
  13150.                                    |ANY_STRING    -- to layout category --
  13151.                                    |'page'        -- to layout  object type
  13152.           --
  13153.                                    |'null'},
  13154.           PERM Same-layout-object       {$SameLayoutObject}
  13155.           }
  13156.  
  13157.  
  13158.           7.5.3.16  LStyleT9
  13159.  
  13160.           :ANY-LAYOUT-STYLE   {
  13161.  
  13162.           -- this style  is used for the constituent constraints EntryText,
  13163.           EntryRaster and EntryGeometric. --
  13164.  
  13165.           PERM Block-alignment          {ANY_VALUE},
  13166.           PERM Layout-category          {ANY_VALUE}, 
  13167.           PERM Offset                   {ANY_VALUE}
  13168.           }
  13169.  
  13170.  
  13171.           7.6  Presentation style constituent constraints
  13172.  
  13173.  
  13174.           7.6.1  Macro definitions
  13175.  
  13176.           -- No macro definitions are applicable to this subclause. --
  13177.  
  13178.  
  13179.           7.6.2  Factor constraints
  13180.  
  13181.           FACTOR ANY-PRESENTATION-STYLE
  13182.  
  13183.           {
  13184.           REQ  Presentation-style-identifier {ANY_VALUE},
  13185.           PERM User-readable-comments   {ANY_STRING},
  13186.           PERM User-visible-name        {ANY_STRING},
  13187.           PERM Border                   {ANY_VALUE},
  13188.           }
  13189.  
  13190.  
  13191.           7.6.3  Constituent constraints
  13192.  
  13193.  
  13194.  
  13195.  
  13196.  
  13197.                                          188
  13198.  
  13199.  
  13200.  
  13201.  
  13202.  
  13203.  
  13204.  
  13205.  
  13206.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13207.  
  13208.           7.6.3.1  PStyle1
  13209.  
  13210.           :ANY-PRESENTATION-STYLE  {
  13211.  
  13212.           --   This style is used for the constituent constraints BodyText,
  13213.                Number,  FootnoteNumber,  FootnoteReference,   FootnoteText,
  13214.                EntryText,      ReferencedContent,     GenericBlock      and
  13215.                SpecificBlock. --
  13216.  
  13217.           PERM Presentation-attributes  {
  13218.              PERM #character-attributes {
  13219.                PERM #alignment               {ANY_VALUE},
  13220.                PERM #character-fonts         {ANY_VALUE},
  13221.                PERM #character-orientation        {'0-degrees'|'90-
  13222.                     degrees'},
  13223.                PERM #character-path          {ANY_VALUE},
  13224.                PERM #character-spacing       {ANY_VALUE},
  13225.                PERM #code-extension-announcers    {$CDEXTEN},
  13226.                PERM #first-line-offset            {ANY_VALUE},
  13227.                PERM #graphic-character-sets  {$PERMIT-GRCHAR},
  13228.                PERM #graphic-character-subrepertoire  {ANY_VALUE},
  13229.                PERM #graphic-rendition       {$GRAPHICRENDITIONS},
  13230.                PERM #indentation             {ANY_VALUE},
  13231.                PERM #itemization             {ANY_VALUE},
  13232.                PERM #kerning-offset               {ANY_VALUE},
  13233.                PERM #line-layout-table       {ANY_VALUE},
  13234.                PERM #line-progression        {ANY_VALUE},
  13235.                PERM #line-spacing            {ANY_VALUE},
  13236.                PERM #orphan-size             {ANY_VALUE},
  13237.                PERM #proportional-line-spacing    {ANY_VALUE},
  13238.                PERM #widow-size              {ANY_VALUE}, 
  13239.               }
  13240.           }}
  13241.  
  13242.  
  13243.           7.6.3.2  PStyle2
  13244.  
  13245.           :ANY-PRESENTATION-STYLE  {
  13246.  
  13247.           --   NOTE: This style is named PStyle4 in FOD26 | PM26. --
  13248.  
  13249.           --   This   style  is   used  for  the   constituent  constraints
  13250.                BodyGeometric, CommonGeometric, EntryGeometric, GenericBlock
  13251.                and SpecificBlock. --
  13252.  
  13253.           PERM Presentation-attributes  {
  13254.               PERM #geometric-graphics-attributes {
  13255.                PERM #picture-dimensions      {ANY_VALUE},
  13256.                PERM #picture-orientation     {ANY_VALUE},
  13257.                PERM #text-rendition          {PERM #fonts-list {ANY_VALUE},
  13258.                                               PERM      #character-set-list
  13259.           {ANY_VALUE}}
  13260.               }
  13261.           }}
  13262.  
  13263.                                          189
  13264.  
  13265.  
  13266.  
  13267.  
  13268.  
  13269.  
  13270.  
  13271.  
  13272.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13273.  
  13274.  
  13275.           7.6.3.3  PStyle3
  13276.  
  13277.           :ANY-PRESENTATION-STYLE  {
  13278.  
  13279.           --   This  style   is  used   for  the   constituent  constraints
  13280.                BodyRaster,  CommonRaster,  EntryRaster,   GenericBlock  and
  13281.                SpecificBlock. --
  13282.  
  13283.           PERM Presentation-attributes  {
  13284.              PERM #raster-graphics-attributes {
  13285.                PERM #pel-spacing        {ANY_VALUE},
  13286.                PERM #spacing-ratio      {ANY_VALUE},
  13287.                PERM #clipping      {ANY_VALUE},
  13288.                PERM #image-dimensions   {ANY_VALUE}
  13289.               }
  13290.           }}
  13291.  
  13292.  
  13293.           7.6.3.4  PStyle4
  13294.  
  13295.           :ANY-PRESENTATION-STYLE  {
  13296.  
  13297.           --   NOTE: This style is named PStyle2 in FOD26 | PM26. --
  13298.  
  13299.           --   This  style   is  used  for   the  constituent   constraints
  13300.                CommonText,   PageNumber,   TableNumber,    CommonReference,
  13301.                CurrentInstance and SpecificBlock. --
  13302.  
  13303.           PERM Presentation-attributes  {
  13304.              PERM #character-attributes {
  13305.                PERM #alignment               {ANY_VALUE},
  13306.                PERM #character-fonts         {ANY_VALUE},
  13307.                PERM #character-orientation        {'0-degrees'|'90-
  13308.                     degrees'},
  13309.                PERM #character-path          {'0-degrees'|'180-
  13310.                     degrees'|'270-degrees'},
  13311.                PERM #character-spacing       {ANY_VALUE},
  13312.                PERM #code-extension-announcers    {$CDEXTEN},
  13313.                PERM #first-line-offset            {ANY_VALUE},
  13314.                PERM #graphic-character-sets  {$PERMIT-GRCHAR},
  13315.                PERM #graphic-character-subrepertoire  {ANY_VALUE},
  13316.                PERM #graphic-rendition       {$GRAPHICRENDITIONS},
  13317.                PERM #indentation             {ANY_VALUE},
  13318.                PERM #itemization             {ANY_VALUE},
  13319.                PERM #kerning-offset               {ANY_VALUE},
  13320.                PERM #line-layout-table       {ANY_VALUE},
  13321.                PERM #line-progression        {ANY_VALUE},
  13322.                PERM #line-spacing            {ANY_VALUE},
  13323.                PERM #proportional-line-spacing    {ANY_VALUE},
  13324.               }
  13325.           }}
  13326.  
  13327.  
  13328.  
  13329.                                          190
  13330.  
  13331.  
  13332.  
  13333.  
  13334.  
  13335.  
  13336.  
  13337.  
  13338.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13339.  
  13340.           7.7  Content portion constituent constraints
  13341.  
  13342.  
  13343.           7.7.1  Macro definitions
  13344.  
  13345.           DEFINE(T6,          "ASN.1 {2 8 3 7 0}")
  13346.  
  13347.           DEFINE(T41D,        "ASN.1 {2 8 3 7 1}")
  13348.  
  13349.           DEFINE(T42D,        "ASN.1 {2 8 3 7 2}")
  13350.  
  13351.           DEFINE(Bitmap, "ASN.1 {2 8 3 7 3}")
  13352.  
  13353.  
  13354.           7.7.2  Factor constraints
  13355.  
  13356.           FACTOR ANY-CONTENT  {
  13357.  
  13358.           CASE $DAC OF {
  13359.             $FDA :
  13360.                 REQ  Content-identifier-layout    {ANY_VALUE}
  13361.  
  13362.             $PDA :
  13363.                 REQ  Content-identifier-logical   {ANY_VALUE}
  13364.                     --  This attribute is specified, if the content portion
  13365.           is associated with 
  13366.                        a basic  logical object  or a  basic logical  object
  13367.           class. --
  13368.                |REQ  Content-identifier-layout    {ANY_VALUE}
  13369.                     --  This attribute is specified, if the content portion
  13370.           is associated with
  13371.                        a basic layout object class. --
  13372.             $FPDA :
  13373.                 REQ  Content-identifier-layout    {ANY_VALUE},
  13374.                 REQ  Content-identifier-logical   {ANY_VALUE}
  13375.                     --  Both  attributes  are  specified,  if  the  content
  13376.           portion is associated with
  13377.                        a basic logical object and a basic layout object. --
  13378.                |REQ  Content-identifier-layout    {ANY_VALUE}
  13379.                     --  This attribute is specified, if the content portion
  13380.           is associated with
  13381.                        a basic layout object class. --
  13382.                |REQ  Content-identifier-logical   {ANY_VALUE}
  13383.                     --  This attribute is specified, if the content portion
  13384.           is associated with 
  13385.                        a basic logical object class. --
  13386.                },
  13387.           PERM Alternative-representation    {ANY_STRING} 
  13388.           }
  13389.  
  13390.  
  13391.  
  13392.  
  13393.  
  13394.  
  13395.                                          191
  13396.  
  13397.  
  13398.  
  13399.  
  13400.  
  13401.  
  13402.  
  13403.  
  13404.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13405.  
  13406.           7.7.3  Constituent constraints
  13407.  
  13408.  
  13409.           7.7.3.1  Character-content-portion
  13410.  
  13411.           :ANY-CONTENT {
  13412.           PERM Type-of-coding           {ASN.1{2 8 3 6 0}},
  13413.           PERM Content-information      {CHARACTER
  13414.                {
  13415.  
  13416.           -- Shared Control Functions --
  13417.                #CR
  13418.                | #LF
  13419.                | #PLD
  13420.                | #PLU
  13421.                | #SCS                   {ANY_VALUE}
  13422.                | #SGR              {$GRAPHICRENDITIONS}
  13423.                | #SHS                   {0,1,2,3,4}
  13424.                | #SLS                   {ANY_VALUE}
  13425.                | #SRS                   {ANY_VALUE}
  13426.                | #STAB             {ANY_VALUE}
  13427.                | #SUB
  13428.                | #SVS                   {ANY_VALUE}
  13429.                | #VPB                   {ANY_VALUE}
  13430.                | #VPR                   {ANY_VALUE}
  13431.  
  13432.           -- Layout Control Functions --
  13433.                | #JFY                   {0}
  13434.  
  13435.           -- Logical Control Functions --
  13436.                | #BPH
  13437.                | #NBH
  13438.  
  13439.           -- Delimiter Functions --
  13440.                | #SOS
  13441.                | #ST
  13442.  
  13443.           -- Space --
  13444.                | #SP
  13445.  
  13446.           -- Code extension control functions  --
  13447.                | #LS0
  13448.                | #LS1R
  13449.                | #LS2R
  13450.                | #LS3R
  13451.                | #SS2
  13452.                | #SS3
  13453.                | #ESC    {$DEG-CORE-G0}
  13454.                | #ESC    {$DEG-646-G0}
  13455.                | #ESC    {$DEG-ANY-G1}
  13456.                | #ESC    {$DEG-ANY-G2}
  13457.                | #ESC    {$DEG-ANY-G3}
  13458.                | #ESC    {$DEG-EMPTY-G1}
  13459.                }...}
  13460.  
  13461.                                          192
  13462.  
  13463.  
  13464.  
  13465.  
  13466.  
  13467.  
  13468.  
  13469.  
  13470.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13471.  
  13472.           }
  13473.  
  13474.           7.7.3.2  Raster-graphics-content-portion
  13475.  
  13476.           :ANY-CONTENT {
  13477.           PERM Type-of-coding           {$T6|$T41D|$T42D|$Bitmap},
  13478.           PERM Coding-attributes        {
  13479.            PERM     #raster-graphics-coding-attributes {
  13480.               PERM   #compression       {ANY_VALUE},
  13481.               PERM   #number-of-lines        {>0},
  13482.               REQ    #number-of-pels-per-line     {>=0}
  13483.               }
  13484.             },
  13485.           PERM Content-information      {RASTER} 
  13486.           }
  13487.  
  13488.           7.7.3.3  Geometric-graphics-content-portion
  13489.  
  13490.           :ANY-CONTENT {
  13491.           PERM Type-of-coding           {ASN.1 {2 8 3 8 0}},
  13492.           PERM Content-information      {GEOMETRIC}
  13493.           }
  13494.  
  13495.  
  13496.  
  13497.  
  13498.  
  13499.  
  13500.  
  13501.  
  13502.  
  13503.  
  13504.  
  13505.  
  13506.  
  13507.  
  13508.  
  13509.  
  13510.  
  13511.  
  13512.  
  13513.  
  13514.  
  13515.  
  13516.  
  13517.  
  13518.  
  13519.  
  13520.  
  13521.  
  13522.  
  13523.  
  13524.  
  13525.  
  13526.  
  13527.                                          193
  13528.  
  13529.  
  13530.  
  13531.  
  13532.  
  13533.  
  13534.  
  13535.  
  13536.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13537.  
  13538.  
  13539.  
  13540.           8  Interchange format
  13541.  
  13542.           For  conformance to  this  Specification, the  interchange format
  13543.           class A  shall be used when applying  Office Document Interchange
  13544.           Format   (ODIF),  and   the  interchange  format   SGML  Document
  13545.           Interchange  Format (SDIF)  shall be  used  when applying  Office
  13546.           Document Language (ODL) in conjunction with SDIF.
  13547.  
  13548.              NOTE  - Interchange  format SDIF  applies to  the International
  13549.              Standardized Profile only.
  13550.  
  13551.  
  13552.           8.1  Interchange format class A
  13553.  
  13554.  
  13555.           8.1.1  Interchange format
  13556.  
  13557.           The  value of the document profile attribute "interchange format"
  13558.           for  this interchange  format is 'if-a'.   This  form of  ODIF is
  13559.           defined in CCITT Rec. T.415 | ISO 8613-5.
  13560.  
  13561.  
  13562.           8.1.2  Document application profile object identifier
  13563.  
  13564.           The   value  for   the  document   profile  attribute   "document
  13565.           application profile" for  this interchange format  is represented
  13566.           by the following object identifier:
  13567.  
  13568.                     ASN.1 { 2 8 4 0 36 0 }
  13569.  
  13570.           This is the object identifier used to represent the FOD36 | PM-36
  13571.           documentation application  profile. There is no  document profile
  13572.           attribute intended for the purpose of identifying documents which
  13573.           conform to an Implementation Support Requirements on a DAP, as in
  13574.           the case of  this Specification. However, applications  must have
  13575.           some  means  of  distinguishing  fully-functional  FOD36 |  PM-36
  13576.           documents from  FOD36  |  PM-36 documents  which  adhere  to  the
  13577.           Implementation Support  Requirements specified in  this document.
  13578.           To  do this, the  document profile document  management attribute
  13579.           "Additional-information"  is  required by  this  specification to
  13580.           have the value "Level 2 to Level 3 Migration DAP".
  13581.  
  13582.           8.1.3  Encoding of application comments
  13583.  
  13584.           The encoding of  the attribute "application comments"  is defined
  13585.           in this  encoding as an  octet string as specified  in CCITT Rec.
  13586.           T.415 | ISO  8613-5.  This document  application profile requires
  13587.           that the  encoding within that octet string be in accordance with
  13588.           the ASN.1 syntax specified in the following module definition:
  13589.  
  13590.                FOD_DAPSpecification
  13591.                DEFINITIONS ::= BEGIN
  13592.  
  13593.                                          194
  13594.  
  13595.  
  13596.  
  13597.  
  13598.  
  13599.  
  13600.  
  13601.  
  13602.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13603.  
  13604.                EXPORTS     Appl-Comm-Encoding;
  13605.                          
  13606.                Appl-Comm-Encoding ::=    SEQUENCE {
  13607.                     constraint-name          [0]  IMPLICIT  PrintableString
  13608.           OPTIONAL,
  13609.                     external-data       [1] IMPLICIT OCTET  STRING OPTIONAL
  13610.           }
  13611.  
  13612.                END
  13613.  
  13614.  
  13615.           8.1.4  Data lengths
  13616.  
  13617.           The maximum length  of data values of  the type OCTET STRING,  as
  13618.           defined in CCITT Rec. X.208 | ISO/IEC 8824, in data streams which
  13619.           may  be  encoded  in accordance  with  this  document application
  13620.           profile is 32  767 octets.  If it is required  to encode an octet
  13621.           string of  greater length  than this,  constructed type  encoding
  13622.           shall be  used.   That is,  data values  greater than  32 767  in
  13623.           length shall be split into a sequence of  strings shorter than 32
  13624.           767, each of which is encoded using a primitive type.
  13625.  
  13626.  
  13627.           8.2  Interchange format SDIF
  13628.  
  13629.              NOTE  -  The  subclause  8.2   applies  to  the   International
  13630.              Standardized Profile only.
  13631.  
  13632.  
  13633.           8.2.1  Interchange format
  13634.  
  13635.           The  document profile  attribute  "interchange  format" does  not
  13636.           apply for  this interchange format.  This form of the interchange
  13637.           format is defined  in Annex E of  CCITT Rec. T.415 |  ISO 8613-5.
  13638.           CCITT Rec. T.416 | ISO 8613-6, CCITT Rec. T.417 | ISO  8613-7 and
  13639.           CCITT  Rec.   T.418  |   ISO  8613-8   also  contain   additional
  13640.           specifications for this interchange format.
  13641.  
  13642.  
  13643.           8.2.2  Document application profile object identifier
  13644.  
  13645.           The  value for the  attribute "document application  profile" for
  13646.           this  interchange format is  represented by the  following object
  13647.           identifier:
  13648.  
  13649.                     ASN.1 { 1 0 11182 0 36 0 }
  13650.  
  13651.              NOTE - There  is no  requirement to include  a part number  arc
  13652.              within  the  object  identifier  for  the  document application
  13653.              profile.
  13654.  
  13655.           This is the object identifier used to represent the FOD36 | PM-36
  13656.           documentation application  profile. There is no  document profile
  13657.           attribute intended for the purpose of identifying documents which
  13658.  
  13659.                                          195
  13660.  
  13661.  
  13662.  
  13663.  
  13664.  
  13665.  
  13666.  
  13667.  
  13668.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13669.  
  13670.           conform to an Implementation Support Requirements on a DAP, as in
  13671.           the case of  this Specification. However, applications  must have
  13672.           some  means  of  distinguishing  fully-functional  FOD36 |  PM-36
  13673.           documents  from  FOD36 |  PM-36  documents  which adhere  to  the
  13674.           Implementation Support  Requirements specified in  this document.
  13675.           To  do this, the  document profile document  management attribute
  13676.           "Additional-information"  is required  by  this specification  to
  13677.           have the value "Level 2 to Level 3 Migration DAP".
  13678.  
  13679.  
  13680.           8.2.3  Encoding of application comments
  13681.  
  13682.           The encoding of  the attribute "application comments"  is defined
  13683.           in   this  encoding  as   a  data   stream  conforming   to  this
  13684.           Specification with the following document type definition (DTD):
  13685.  
  13686.                <!-- Public document type definition.  Typical invocation:
  13687.                <!DOCTYPE fodapc PUBLIC "ISO/IEC 11182-1 : 1993//DTD
  13688.                               Application Comments//EN"  [   ]>
  13689.                -->
  13690.                <!ELEMENT fodapc    - 0  (externl?)>
  13691.                <!ATTLIST fodapc    consname CDATA   #IMPLIED>
  13692.                <!ELEMENT externl   - 0  (#PCDATA)>
  13693.                <!ATTLIST externl   loc  ENTITY    #CONREF>
  13694.  
  13695.           For example, a  typical SUBDOC for representing  the "application
  13696.           comments" of a Paragraph then would look as follows:
  13697.  
  13698.                <!DOCTYPE  fodapc   PUBLIC  "ISO/IEC  11182-1   :  1993//DTD
  13699.           Application Comments//EN">
  13700.                <fodapc consname="6">
  13701.  
  13702.           If the optionality of the  attribute "fodapc" is specified in  an
  13703.           earlier  portion of  the  DTD, the  invocation  may be  minimised
  13704.           further because the tag is not needed when application comment is
  13705.           not included as is the case here.
  13706.             
  13707.           The  content of external  data appearing inline  is restricted to
  13708.           parsable data.  Referenced external data need not be parsable. 
  13709.  
  13710.  
  13711.  
  13712.  
  13713.  
  13714.  
  13715.  
  13716.  
  13717.  
  13718.  
  13719.  
  13720.  
  13721.  
  13722.  
  13723.  
  13724.  
  13725.                                          196
  13726.  
  13727.  
  13728.  
  13729.  
  13730.  
  13731.  
  13732.  
  13733.  
  13734.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13735.  
  13736.  
  13737.  
  13738.  
  13739.                                        Annex A
  13740.  
  13741.                          Amendments and technical corrigenda
  13742.  
  13743.  
  13744.               (This annex forms an integral part of this Specification.)
  13745.  
  13746.  
  13747.           A.1  Amendments
  13748.  
  13749.  
  13750.           A.1.1  Amendments to the base standard
  13751.  
  13752.           The amendments applicable  to this Specification include  text to
  13753.           be included in  CCITT Rec.  T.411 | ISO  8613-1 as the  following
  13754.           annexes:
  13755.  
  13756.                               Annex E:  Use of ISO/IEC  10021 (MOTIS) to  interchange
  13757.                documents conforming to  CCITT Rec. T.410 series  | ISO
  13758.                8613 - published as [First extension to  the CCITT Rec.
  13759.                T.410 series (1988),  Addendum II | ISO  8613-1 (1989):
  13760.                Amendment 1];
  13761.  
  13762.                                Annex F:  Document  Application Profile  proforma  and
  13763.                notation  - published  as  CCITT Rec.  T.411 -  Annex F
  13764.                (1991) | ISO 8613-1 (1989): Addendum 1;
  13765.  
  13766.                               Annex  G: Conformance  testing methodology  - published
  13767.                as ISO 8613-1 (1989): Amendment 2;
  13768.  
  13769.                                Annex H:  Recording of  documents conforming  to CCITT
  13770.                Rec.  T.410  series   |  ISO  8613  on   flexible  disk
  13771.                cartridges  conforming  to ISO  9293 -  currently Draft
  13772.                Amendment 5 to ISO 8613-1 (1989) - Annex H.
  13773.  
  13774.           This Specification does not include the following features of the
  13775.           amendment:
  13776.  
  13777.                               Addendum  on security  - published as  [First extension
  13778.                to the  CCITT Rec. T.410  series (1988), Addendum  IV |
  13779.                ISO 8613 (1989) Addendum 4];
  13780.  
  13781.                               Addendum  on styles - published  as [First extension to
  13782.                the CCITT Rec.  T.410 series (1988), Addendum IV  | ISO
  13783.                8613 (1989) Addendum 6];
  13784.  
  13785.                               Addendum on  alternative representation - published  as
  13786.                [First extension to the CCITT Rec. T.410 series (1988),
  13787.                Addendum III | ISO 8613 (1989) Addendum 3];
  13788.  
  13789.                                Addendum  on colour  - published  as [Revision  of the
  13790.  
  13791.                                          197
  13792.  
  13793.  
  13794.  
  13795.  
  13796.  
  13797.  
  13798.  
  13799.  
  13800.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13801.  
  13802.                CCITT  Rec. T.410 series contained in  COM VIII - R30-E
  13803.                Addendum 2 | ISO 8613 (1989) - Amendment 2];
  13804.  
  13805.                               Addendum  on  tiled  raster  graphics  -  published  as
  13806.                [First  extension to the CCITT Rec. T.410 series (1988)
  13807.                Addendum I | ISO 8613 (1989) - Addendum 1];
  13808.  
  13809.                               Addendum on  streams - published  as ISO 8613  (1989) -
  13810.                Amendment 5.
  13811.  
  13812.           In  addition, this amendment addresses the inclusion of the CCITT
  13813.           Rec.  T.410 series (1988) |  ISO 8613 (1988) Technical Corrigenda
  13814.           1, 2 and 3.
  13815.  
  13816.           A.1.2  Proposed changes to standards due to defects
  13817.  
  13818.           This amendment  addresses the inclusion  of the CCITT  Rec. T.410
  13819.           series (1988) | ISO 8613 (1988) Technical Corrigenda 1, 2 and 3.
  13820.  
  13821.           A.2  Technical corrigenda
  13822.  
  13823.  
  13824.           A.2.1  Technical corrigenda to this Specification
  13825.  
  13826.           There is no technical corrigendum specific to this Specification.
  13827.  
  13828.  
  13829.           A.3  Versions of the ODA Specification
  13830.  
  13831.           The  version of the  ODA Specification  defined in clause  A.1 is
  13832.           known as "version 1.1".  The associated date  is 1992-01-01.  The
  13833.           version  of the ODA  Specification including all  features of the
  13834.           amendments, addenda and technical corrigenda mentioned in  clause
  13835.           A.1  is   known  as  "version  1.2".    The  associated  date  is
  13836.           1992-07-01.
  13837.  
  13838.           The  values for  the  attribute "ODA  version" for  this document
  13839.           application profile is:
  13840.  
  13841.                               standard or recommendation: 
  13842.                                  "CCITT Rec. T.410 series (1988) | ISO  8613
  13843.           (1989); version 1.1"
  13844.                               publication date:        "1992-01-01"
  13845.            
  13846.  
  13847.  
  13848.  
  13849.  
  13850.  
  13851.  
  13852.  
  13853.  
  13854.  
  13855.  
  13856.  
  13857.                                          198
  13858.  
  13859.  
  13860.  
  13861.  
  13862.  
  13863.  
  13864.  
  13865.  
  13866.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13867.  
  13868.  
  13869.  
  13870.                                        Annex B 
  13871.  
  13872.                                 Recommended practices
  13873.  
  13874.  
  13875.                   (This annex does not form an integral part of this
  13876.           Specification.)
  13877.  
  13878.  
  13879.           B.1  Transfer methods for ODA
  13880.  
  13881.  
  13882.           B.1.1  Conveyance of ODA over CCITT  X.400-1984
  13883.  
  13884.           This    describes  how  ODA body  parts  are  to  be encoded  for
  13885.           transmission over a CCITT X.400-1984 service.
  13886.  
  13887.           An ODA  body part  is encoded  as OdaBodyPart  in the  definition
  13888.           given below:
  13889.  
  13890.                OdaBodyPart ::= SEQUENCE { OdaBodyPartParameters, OdaData }
  13891.                OdaBodyPartParameters ::= SET {
  13892.                     document-application-profile
  13893.                          [0] IMPLICIT OBJECT IDENTIFER,
  13894.                     document-architecture-class
  13895.                          [1] IMPLICIT INTEGER {
  13896.                               formatted (0),
  13897.                               processable (1),
  13898.                               formatted-processable (2) }
  13899.                OdaData ::=    SEQUENCE OF Interchange-Data-Element
  13900.  
  13901.              NOTE -  It is  recommended to  transfer an  ODA  document as  a
  13902.              single body part with tag 12:
  13903.  
  13904.                Oda [12] IMPLICIT OCTETSTRING 
  13905.  
  13906.              The  content of  the octet  string is  encoded  as OdaBodyPart,
  13907.              defined  above.   However, this  is out  of the  scope  of this
  13908.              Specification.
  13909.  
  13910.  
  13911.  
  13912.           B.1.2  Conveyance of ODA over FTAM
  13913.  
  13914.           This describes  the FTAM  Document Type  to be  used for  minimal
  13915.           storage  and transfer capabilities  of ODA  data streams.   It is
  13916.           recognized that enhanced capabilities may at some point be added.
  13917.  
  13918.           When using FTAM to  transfer an ODA file,  the FTAM-3, "ISO  FTAM
  13919.           Unstructured Binary", document type shall be specified.  
  13920.  
  13921.           However,  since files that  do not  contain ODA data  streams can
  13922.  
  13923.                                          199
  13924.  
  13925.  
  13926.  
  13927.  
  13928.  
  13929.  
  13930.  
  13931.  
  13932.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13933.  
  13934.           have  the same  document  type, it  is  left up  to  the user  of
  13935.           application programs  that remotely  access files  using FTAM  to
  13936.           know that a given file contains an ODA data stream.
  13937.  
  13938.  
  13939.           B.1.3  Conveyance of ODA over DTAM
  13940.  
  13941.           This provides for  information concerning the interchange  of ODA
  13942.           based documents with DTAM protocols.
  13943.  
  13944.           DTAM (Document Transfer and Manipulation) is defined in the T.430
  13945.           series of  CCITT Recommendations  and is,  like ODA, an  integral
  13946.           part  of the  T.400 series  of CCITT  Recommendations named  Open
  13947.           Document Architecture, Transfer and Manipulation.
  13948.  
  13949.           The T.520 series of  CCITT Recommendations contain  Communication
  13950.           Application Profiles (CAP).  CCITT Recommendation T.522 describes
  13951.           the  Communication  Application  Profile BT1  for  document  bulk
  13952.           transfer.  CCITT Recommendation T.522 is applicable for  the Open
  13953.           Document Format Profile (FOD) published in this Specification.
  13954.  
  13955.              NOTE - The use of BT1 within  the end-to-end oriented Telematic
  13956.              Services  Telefax   4  and  Teletex   is  described   in  CCITT
  13957.              Recommendation  T.561, subclause  7.1 and  CCITT Recommendation
  13958.              T.562, subclause 7.1.
  13959.  
  13960.  
  13961.           B.1.4  Conveyance of ODA over flexible disks
  13962.  
  13963.           The recommended  method for  interchanging ODA documents  between
  13964.           systems  by the exchange  of magnetically recorded  Flexible Disk
  13965.           Cartridges  is by the use of  an annex to CCITT  Rec. T.411 | ISO
  13966.           8613-1  (to be published),  Recording of Documents  Conforming to
  13967.           ISO  8613 on  Flexible Disk  Cartridges Conforming to  ISO 9293".
  13968.           This annex provides for recording each ODA document as a separate
  13969.           file as defined by ISO 9293. 
  13970.  
  13971.              NOTE - The following information  applies to the  International
  13972.              Standardized Profile only.           Documents    encoded   in
  13973.              Office Document  Language (ODL)  may be stored  such that  each
  13974.              SGML  ENTITY is recorded in  a separate file  or in the case of
  13975.              SGML Document Interchange Format (SDIF)  encoding, the file may
  13976.              be stored in a single file.
  13977.  
  13978.  
  13979.  
  13980.           B.2  Font reference
  13981.  
  13982.           The recommended method for specifying a font reference is to base
  13983.           it on ISO/IEC 9541.
  13984.  
  13985.           Font sizes from 6 to 72 points  (100 to 1200 BMU) are intended to
  13986.           be  supported by  implementation conforming  to this  recommended
  13987.           practice.   All other  values of  font sizes may  additionally be
  13988.  
  13989.                                          200
  13990.  
  13991.  
  13992.  
  13993.  
  13994.  
  13995.  
  13996.  
  13997.  
  13998.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  13999.  
  14000.           supported, but implementations  may also support using  some form
  14001.           of "fallback".
  14002.  
  14003.           The minimum font properties and values from ISO/IEC 9541 that are
  14004.           to  be specified in  a Font-Attribute-Set are  those specified by
  14005.           the following document application profile notation.
  14006.  
  14007.                Font-Attribute-Set  {
  14008.  
  14009.                PERM Font-Name           {ANY_VALUE},
  14010.                PERM Standard-Version         {ANY_VALUE},
  14011.                PERM Data-source              {ANY_VALUE},
  14012.                PERM Design-source            {ANY_VALUE},
  14013.                PERM Font-Family-Name         {ANY_VALUE},
  14014.                PERM Posture             {'upright' | 'italic-forward'},
  14015.                PERM Weight                   {'light' | 'medium' | 'bold'},
  14016.                PERM Proportionate-Width      {ANY_VALUE},
  14017.                PERM Glyph-Complement    {
  14018.                     PERM #Included-Glyph-Collections
  14019.                                         {ANY_VALUE},
  14020.                     PERM #Excluded-Glyph-Collections
  14021.                                         {ANY_VALUE},
  14022.                     PERM #Included-Glyphs    {ANY_VALUE},
  14023.                     PERM #Excluded-Glyphs    {ANY_VALUE} 
  14024.                                    },
  14025.                PERM Design-Size              {ANY_VALUE},
  14026.                PERM Min-Size       {
  14027.                     PERM #Numerator          {100 .. 1200},
  14028.                     PERM #Denominator        {1} 
  14029.                                    },
  14030.                PERM Max-Size       {
  14031.                     PERM #Numerator          {100 .. 1200},
  14032.                     PERM #Denominator        {1} 
  14033.                                    },
  14034.                     -- BMU Units  equivalent to range of  6..72 point sizes
  14035.           --
  14036.                PERM Design-Group        {
  14037.                     PERM #Class              {ANY_VALUE},
  14038.                     PERM #Subclass      {ANY_VALUE},
  14039.                     PERM #Specific-Group          {ANY_VALUE}
  14040.                                     },
  14041.                PERM Structure           {ANY_VALUE},
  14042.                PERM Writing-Modes       {
  14043.                     MUL                 {
  14044.                          REQ  #Writing-Mode-Name
  14045.                                         {ANY_VALUE},
  14046.                          PERM #Nominal-Escapement-Direction
  14047.                                         {ANY_VALUE},
  14048.                          PERM #Escapement-Class
  14049.                                         {ANY_VALUE},
  14050.                          PERM #Average-Escapement-X
  14051.                                         {ANY_VALUE},
  14052.                          PERM #Average-Escapement-Y
  14053.                                         {ANY_VALUE} 
  14054.  
  14055.                                          201
  14056.  
  14057.  
  14058.  
  14059.  
  14060.  
  14061.  
  14062.  
  14063.  
  14064.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  14065.  
  14066.                                         }
  14067.                                    }
  14068.                               }
  14069.  
  14070.  
  14071.           B.3  ISO/IEC 8632 (CGM) constraints for this document application
  14072.           profile
  14073.  
  14074.           It is a  recommended that geometric graphics  content information
  14075.           contain  only  those  elements  listed  in  this  portion of  the
  14076.           document,  in addition to  the constraints imposed  by CCITT Rec.
  14077.           T.418 | ISO 8613-8.   It is believed that this subset  of the CGM
  14078.           is sufficiently  implemented to enable interworking  of geometric
  14079.           graphics  for application conforming to this document application
  14080.           profile.
  14081.  
  14082.           Where an element  has parameters, constraints on  the values that
  14083.           are part of this recommended practice are given.  The "--" symbol
  14084.           indicates that  there  is no  constraint given  as  part of  this
  14085.           recommended practice.
  14086.  
  14087.           Requirements in  ISO/IEC 8632 and CCITT  Rec. T.418 |  ISO 8613-8
  14088.           concerning mandatory elements parameters shall be fulfilled.
  14089.  
  14090.  
  14091.           B.3.1  Delimiter elements
  14092.  
  14093.           No-Op                         An arbitrary sequence of n  octets.
  14094.                                         Where  n=0,  1, ..,  32  767.   The
  14095.                                         sequence of zero or  more octets is
  14096.                                         for padding purposes.
  14097.           Begin Metafile                Support   will   be   provided  for
  14098.                                         strings  with  a length  up  to 254
  14099.                                         octets,  except  for  data  records
  14100.                                         which  will support strings  with a
  14101.                                         length up to 32 767 octets.
  14102.           End Metafile
  14103.           Begin Picture                 Support   will   be   provided  for
  14104.                                         strings  with  a length  up  to 254
  14105.                                         octets,  except  for  data  records
  14106.                                         which  will support strings  with a
  14107.                                         length up to 32 767 octets.
  14108.           Begin Picture Body
  14109.           End Picture
  14110.  
  14111.  
  14112.           B.3.2  Metafile descriptor elements
  14113.  
  14114.           Metafile Version              1
  14115.           Metafile Description               Support will  be provided  for
  14116.                                              strings with  a  length up  to
  14117.                                              254  octets,  except  for data
  14118.                                              records  which   will  support
  14119.                                              strings with a length up to 32
  14120.  
  14121.                                          202
  14122.  
  14123.  
  14124.  
  14125.  
  14126.  
  14127.  
  14128.  
  14129.  
  14130.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  14131.  
  14132.                                              767  octets.     The  METAFILE
  14133.                                              DESCRIPTION  string  parameter
  14134.                                              will be  used  to include  the
  14135.                                              sub-string "CCITT  Rec. PM-36"
  14136.                                              or "ISO  FOD36"  to label  the
  14137.                                              content     information     as
  14138.                                              conforming       to       this
  14139.                                              Specification.   In  addition,
  14140.                                              generators   of   content  are
  14141.                                              encouraged    to   append    a
  14142.                                              sub-string that identifies the
  14143.                                              company   and   product   that
  14144.                                              produced the CGM.
  14145.           VDC Type                 --
  14146.           Integer Precision             16, 32
  14147.           Real Precision                (0, 9, 23), (1, 16, 16)
  14148.           Index Precision               16
  14149.           Colour Precision              8, 16
  14150.           Colour Index Precision             8, 16
  14151.           Maximum Colour Index               0..63
  14152.           Colour Value Extent           --
  14153.           Metafile Element List              --
  14154.           Metafile Defaults Replacement      --
  14155.           Font List                All  fonts  referenced  in  the metafile
  14156.                                    shall be  defined.  Font  referencing in
  14157.                                    FONT LISTS  using ISO/IEC 9541  names is
  14158.                                    preferred,  but   font   names  may   be
  14159.                                    specified using proprietary font names.
  14160.           Character Set List            All  character  sets  referenced in
  14161.                                         the metafile  shall  be defined  in
  14162.                                         CHARACTER  SET  LIST.   Permissible
  14163.                                         character sets are  the same as for
  14164.                                         character content architecture.
  14165.           Character Coding Announcer         --
  14166.  
  14167.  
  14168.           B.3.3  Picture descriptor elements
  14169.  
  14170.           Scaling Mode                  The  Scale   Factor  parameter   of
  14171.                                         SCALING MODE  element  is always  a
  14172.                                         32-bit floating  point value,  even
  14173.                                         when   the   REAL   PRECISION   has
  14174.                                         selected fixed point for other real
  14175.                                         numbers.   It  is  not apparent  in
  14176.                                         ISO/IEC 8632 what the precision  of
  14177.                                         this  floating point value  is when
  14178.                                         fixed point has been selected.  Its
  14179.                                         precision shall be (0, 9, 23).
  14180.           Colour Selection Mode              --
  14181.           Line Width Specification Mode      --
  14182.           Marker Size Specification Mode     --
  14183.           Edge Width Specification Mode --
  14184.           VDC Extent                    --
  14185.           Background Colour             --
  14186.  
  14187.                                          203
  14188.  
  14189.  
  14190.  
  14191.  
  14192.  
  14193.  
  14194.  
  14195.  
  14196.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  14197.  
  14198.  
  14199.           B.3.4  Control elements
  14200.  
  14201.           VDC Integer Precision              16, 32
  14202.           VDC Real Precision            (0, 9, 23), (1, 16, 16)
  14203.           Auxiliary Colour              --
  14204.           Transparency                  Transparent
  14205.           Clip Rectangle                --
  14206.           Clip Indicator                --
  14207.  
  14208.  
  14209.           B.3.5  Graphical primitive elements
  14210.  
  14211.           Polyline                 The  minimum support  for the  length of
  14212.                                    point lists is 1 024 vertices.
  14213.           Disjoint Polyline             The minimum support for the  length
  14214.                                         of point lists is 1 024 vertices.
  14215.           Polymarker                    The minimum support for the  length
  14216.                                         of point lists is 1 024 vertices.
  14217.           Text                     Support  will  be  provided  for strings
  14218.                                    with a length  up to 254  octets, except
  14219.                                    for  data  records  which  will  support
  14220.                                    strings  with a  length  up  to  32  767
  14221.                                    octets.      Format   effector   control
  14222.                                    characters are disallowed in the  string
  14223.                                    parameter.
  14224.           Restricted Text                    Support will  be provided  for
  14225.                                              strings with  a  length up  to
  14226.                                              254  octets,  except  for data
  14227.                                              records  which  will   support
  14228.                                              strings with a length up to 32
  14229.                                              767 octets.   Format  effector
  14230.                                              control     characters     are
  14231.                                              disallowed   in   the   string
  14232.                                              parameter.
  14233.           Append Text                   Support   will   be   provided  for
  14234.                                         strings  with a  length  up to  254
  14235.                                         octets,  except  for  data  records
  14236.                                         which  will support strings  with a
  14237.                                         length up to 32 767 octets.  Format
  14238.                                         effector  control   characters  are
  14239.                                         disallowed in the string parameter.
  14240.           Polygon                  The minimum  support for  the length  of
  14241.                                    point lists is 1 024 vertices.
  14242.           Polygon Set                   The minimum support for the  length
  14243.                                         of point lists is 1 024 vertices.
  14244.           Cell Array                    The minimum support for the  length
  14245.                                         of  colour lists parameter  for the
  14246.                                         CELL ARRAY  element is  1 048  576.
  14247.                                         This will support  a 1 024 x  1 024
  14248.                                         image.
  14249.           Rectangle                --
  14250.           Circle                        --
  14251.           Circular Arc 3 Point               --
  14252.  
  14253.                                          204
  14254.  
  14255.  
  14256.  
  14257.  
  14258.  
  14259.  
  14260.  
  14261.  
  14262.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  14263.  
  14264.           Circular Arc 3 Point Close         --
  14265.           Circular Arc Centre           --
  14266.           Circular Arc Centre Close          --
  14267.           Ellipse                       --
  14268.           Elliptical Arc                --
  14269.           Elliptical Arc Close               --
  14270.  
  14271.  
  14272.           B.3.6  Attribute elements
  14273.  
  14274.           Line Bundle Index             --
  14275.           Line Type                Negative values are prohibited.
  14276.           Line Width                    --
  14277.           Line Colour                   --
  14278.           Marker Bundle Index           --
  14279.           Marker Type                   Negative values are prohibited.
  14280.           Marker Size                   --
  14281.           Marker Colour                 --
  14282.           Text Bundle Index             --
  14283.           Text Font Index               All  fonts  referenced  (indexed by
  14284.                                         TEXT FONT  INDEX)  in the  metafile
  14285.                                         shall  be  defined  in  FONT   LIST
  14286.                                         either  in presentation  parameters
  14287.                                         of CCITT  Rec. T.410  series |  ISO
  14288.                                         8613 or in ISO/IEC 8632.
  14289.           Text Precision                --
  14290.           Character Expansion Factor         --
  14291.           Character Spacing             --
  14292.           Text Colour                   --
  14293.           Character Height              --
  14294.           Character Orientation              --
  14295.           Text Path                --
  14296.           Text Alignment                --
  14297.           Character Set Index           All  character  sets  referenced in
  14298.                                         the metafile (indexed  by CHARACTER
  14299.                                         SET  INDEX)  shall  be  defined  in
  14300.                                         CHARACTER  SET  LIST.    The   only
  14301.                                         character   sets   which   may   be
  14302.                                         designated in  G0  are ISO/IEC  646
  14303.                                         IRV  or  versions  of  ISO/IEC 646.
  14304.                                         Other  character   sets  shall   be
  14305.                                         designated in G1, G2 or G3.
  14306.           Alternate Character Set Index      All character  sets referenced
  14307.                                              in  the  metafile  (indexed by
  14308.                                              ALTERNATE CHARACTER SET INDEX)
  14309.                                              shall be defined  in CHARACTER
  14310.                                              SET LIST.
  14311.           Fill Bundle Index             --
  14312.           Interior Style                --
  14313.           Fill Colour                   --
  14314.           Hatch Index                   Negative values are prohibited.
  14315.           Pattern Index                 1 .. 8
  14316.           Edge Bundle Index             --
  14317.           Edge Type                Negative values are prohibited.
  14318.  
  14319.                                          205
  14320.  
  14321.  
  14322.  
  14323.  
  14324.  
  14325.  
  14326.  
  14327.  
  14328.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  14329.  
  14330.           Edge Width                    --
  14331.           Edge Colour                   --
  14332.           Edge Visibility                    --
  14333.           Fill Reference Point               --
  14334.           Pattern Table                 The PATTERN  TABLE  element has  an
  14335.                                         unspecified effect when  it appears
  14336.                                         in  a  picture  subsequent  to  any
  14337.                                         graphical primitives.   The PATTERN
  14338.                                         TABLE element shall appear prior to
  14339.                                         any graphical primitive  element to
  14340.                                         assure  that  interpreting  systems
  14341.                                         without dynamic pattern  update can
  14342.                                         render the  intended  effect.   The
  14343.                                         minimum  support for the  length of
  14344.                                         the Colour Array parameter for  the
  14345.                                         PATTERN  TABLE  element  is  2 048.
  14346.                                         This will support  8 patterns of 16
  14347.                                         x 16, 2  patterns of 32  x 32 or  1
  14348.                                         pattern of  32 x 64.   All  indexes
  14349.                                         which  are  used  in  the  metafile
  14350.                                         shall be defined.
  14351.           Pattern Size                  --
  14352.           Colour Table Specification         The COLOUR  TABLE element  has
  14353.                                              an unspecified effect  when it
  14354.                                              appears    in     a    picture
  14355.                                              subsequent  to  any  graphical
  14356.                                              primitives.  The  COLOUR TABLE
  14357.                                              element shall appear  prior to
  14358.                                              any     graphical    primitive
  14359.                                              elements   to   assure    that
  14360.                                              interpreting  systems  without
  14361.                                              dynamic   colour  update   can
  14362.                                              render  the  intended  effect.
  14363.                                              The  minimum  support  for the
  14364.                                              length  of  the   Colour  List
  14365.                                              parameter in the  COLOUR TABLE
  14366.                                              element  is  63.    This  will
  14367.                                              support  a  64  (0..63)  entry
  14368.                                              colour  table.    All  indexes
  14369.                                              which are used in the metafile
  14370.                                              shall be defined.
  14371.           Aspect Source Flags           --
  14372.  
  14373.  
  14374.           B.3.7  External elements
  14375.  
  14376.           Message                  The  presentation of message  string may
  14377.                                    not be appropriate for all applications.
  14378.                                    No     requirement     for     formatted
  14379.                                    presentation  of the message  string has
  14380.                                    been placed  on the  Interpreter.   Only
  14381.                                    the   No  Action   flag   needs  to   be
  14382.                                    supported.   Support for  string lengths
  14383.                                    up to 254.
  14384.  
  14385.                                          206
  14386.  
  14387.  
  14388.  
  14389.  
  14390.  
  14391.  
  14392.  
  14393.  
  14394.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  14395.  
  14396.           Application Data              Support   will   be   provided  for
  14397.                                         strings  with a  length  up to  254
  14398.                                         octets,  except  for  data  records
  14399.                                         which  will support strings  with a
  14400.                                         length up to 32 767 octets.
  14401.  
  14402.  
  14403.           B.4  Interoperability with SGML applications
  14404.  
  14405.              NOTE -  Annex B.4  applies  to  the International  Standardized
  14406.              Profile only.
  14407.  
  14408.           The  recommended method  for the  exchange  of documents  between
  14409.           Standard  Generalized  Markup Language  (SGML),  ISO 8879,  based
  14410.           systems  and systems  based  on  this  ODA  document  application
  14411.           profile  is  by  means of  exchanging  a  document representation
  14412.           conforming  to these agreements  in an  encoded form of  the SGML
  14413.           language  known as the Office Document Language  (ODL).  ODL is a
  14414.           standardized   SGML   application   for   representing  documents
  14415.           conforming to the ODA base  standard.  Such a representation  may
  14416.           be converted into  the Office Document Interchange  Format (ODIF)
  14417.           supported by this document application profile.
  14418.  
  14419.  
  14420.  
  14421.  
  14422.  
  14423.  
  14424.  
  14425.  
  14426.  
  14427.  
  14428.  
  14429.  
  14430.  
  14431.  
  14432.  
  14433.  
  14434.  
  14435.  
  14436.  
  14437.  
  14438.  
  14439.  
  14440.  
  14441.  
  14442.  
  14443.  
  14444.  
  14445.  
  14446.  
  14447.  
  14448.  
  14449.  
  14450.  
  14451.                                          207
  14452.  
  14453.  
  14454.  
  14455.  
  14456.  
  14457.  
  14458.  
  14459.  
  14460.           PART 27 - ODA Level 2 to Level 3 Migration DAP                                                       March 1994 (Working)
  14461.  
  14462.  
  14463.  
  14464.                                        Annex C 
  14465.  
  14466.                                      Bibliography
  14467.  
  14468.  
  14469.                   (This annex does not form an integral part of this
  14470.           Specification.)
  14471.  
  14472.  
  14473.                                CCITT   Recommendation   T.50  (1992),   International
  14474.                Reference Alphabet.
  14475.  
  14476.                                CCITT  Recommendation T.51  (1992), Latin  based coded
  14477.                character sets for telematic services.
  14478.  
  14479.                                 CCITT   Recommendation   T.52  4,   Non-Latin   coded
  14480.                character sets for telematic services.
  14481.  
  14482.                                  CCITT   Recommendation   T.502    (1991),   Document
  14483.                Application  Profile  PM-11  for  the  Interchange   of
  14484.                Character   Content   Documents   in   Processable  and
  14485.                Formatted Forms.
  14486.  
  14487.                                  CCITT   Recommendation   T.505    (1991),   Document
  14488.                Application Profile PM-26 for  the Interchange of Mixed
  14489.                Content Documents in Processable and Formatted Forms.
  14490.  
  14491.                               ISO 8571 :  1988, Information processing systems - Open
  14492.                Systems  Interconnection -  File  Transfer, Access  and
  14493.                Management.
  14494.  
  14495.                               ISO/IEC  9070  : 1991,  Information  technology -  SGML
  14496.                support facilities - Registration procedures for public
  14497.                text owner identifiers.
  14498.  
  14499.                               ISO/IEC TR 9573  : 1988, Information technology  - SGML
  14500.                support facilities - Techniques for using SGML.
  14501.  
  14502.                                ISO/IEC 10021  : 1990,  Information technology  - Text
  14503.                communication  -  Message  Oriented  Text   Interchange
  14504.                System (MOTIS).
  14505.  
  14506.  
  14507.  
  14508.  
  14509.  
  14510.  
  14511.  
  14512.  
  14513.                               
  14514.  
  14515.                4Presently at the stage of draft.
  14516.  
  14517.                                          208
  14518.  
  14519.  
  14520.  
  14521.