CONTENTS Title Page Copyright Page Preface 1 Introduction 1.1 CDA Item Data Types 1.2 CDA Default Values 1.3 DDIF Standard Aggregates 1.4 DDIF Tags 1.5 DDIF Initial Values 1.6 DDIF Processing Options 1.6.1 Inherit Attributes Processing Option 1.6.1.1 Type References and Definitions 1.6.1.2 Style Guides 1.6.2 Retain Definitions Processing Option 1.6.3 Evaluate Content Processing Option 1.6.3.1 Content References and Definitions 1.6.3.2 Computed Segment Content and External References 1.6.4 Discard Segments Processing Options 1.7 DTIF Document Aggregate Hierarchy 1.8 CFE Aggregate Hierarchy 1.9 ESF Aggregate Hierarchy 2 Bundled Converter Formats and Commands 2.1 Base System Front Ends (Input Formats) 2.1.1 DDIF Front End 2.1.1.1 Data Mapping 2.1.1.2 Conversion Restrictions 2.1.1.3 External File References 2.1.1.4 Document Syntax Errors 2.1.2 DTIF Front End 2.1.2.1 Data Mapping 2.1.2.2 Conversion Restrictions 2.1.2.3 External File References 2.1.2.4 DTIF Syntax Errors 2.1.3 Text Front End 2.1.3.1 Data Mapping 2.1.3.2 Conversion Restrictions 2.1.3.3 External File References 2.1.3.4 Document Syntax Errors 2.2 Base System Back Ends (Output Formats) 2.2.1 DDIF Back End 2.2.1.1 Data Mapping 2.2.1.2 Conversion Restrictions 2.2.2 DTIF Back End 2.2.2.1 Data Mapping 2.2.2.2 Conversion Restrictions 2.2.2.3 External File References 2.2.3 Text Back End 2.2.3.1 Data Mapping 2.2.3.2 Conversion Restrictions 2.2.3.3 Processing Options 2.2.4 PostScript Back End 2.2.4.1 Data Mapping 2.2.4.2 Conversion Restrictions 2.2.4.3 Processing Options 2.2.4.4 Paper Size Processing Option 2.2.4.5 Paper Height Processing Option 2.2.4.6 Paper Width Processing Option 2.2.4.7 Top Margin Processing Option 2.2.4.8 Bottom Margin Processing Option 2.2.4.9 Left Margin Processing Option 2.2.4.10 Right Margin Processing Option 2.2.4.11 Paper Orientation Processing Option 2.2.4.12 Eight Bit Output Processing Option 2.2.4.13 Output Buffer Size Processing Option 2.2.4.14 Soft Directives Processing Option 2.2.4.15 Word Wrap Processing Option 2.2.4.16 Page Wrap Processing Option 2.2.4.17 Layout Processing Option 2.2.5 Analysis Back End 2.2.6 Processing Options for Domain Conversion CONVERT/DOCUMENT VIEW cdoc dxvdoc vdoc 3 Transferring CDA Documents 3.1 Sending CDA Documents on a VMS System 3.2 Receiving CDA Documents on a VMS System 3.3 Sending CDA Documents on an ULTRIX System 3.4 Receiving CDA Documents on an ULTRIX System 3.5 Copying CDA Documents on a VMS System 3.6 Copying CDA Documents on an ULTRIX System 4 DDIF Structures 4.1 DDIF Document Structure Overview 4.2 Generic Aggregate Items DDIF$_ARC DDIF$_BEZ DDIF$_CRF DDIF$_CTD DDIF$_CTS DDIF$_DDF DDIF$_DHD DDIF$_DSC DDIF$_ERF DDIF$_EXT DDIF$_FAS DDIF$_FTD DDIF$_GLA DDIF$_GLY DDIF$_GTX DDIF$_HRD DDIF$_HRV DDIF$_IDU DDIF$_IMG DDIF$_LG1 DDIF$_LIN DDIF$_LL1 DDIF$_LS1 DDIF$_LSD DDIF$_LW1 DDIF$_OCC DDIF$_PGD DDIF$_PGL DDIF$_PGS DDIF$_PHD DDIF$_PTD DDIF$_PTH DDIF$_PVT DDIF$_RCD DDIF$_RGB DDIF$_SEG DDIF$_SFT DDIF$_SFV DDIF$_SGA General Segment Attributes Computed Content Attributes Copied and Remote Computed Content Variable Computed Content Cross-Reference Computed Content Function Computed Content Structure Description Language Attributes Legend Attributes Measurement Attributes Alternate Presentation Attribute Layout Attributes Galley-Based Layout Path-Based Layout Position-Relative Layout Text Position Layout Font Definitions Pattern Definitions Path Definitions Line-Style Definitions Content Definitions Type Definitions Text Attributes Text Mask Pattern Text Font Text Rendition Text Size Text Direction Text Character Decimal Alignment Text Leader Text Kerning Line Attributes Marker Attributes Galley Attributes Image Attributes Image Component Space Frame Parameters Frame Flags Frame Bounding Box Frame Outline Frame Clipping Frame Position Fixed Frame Inline Frame Galley Frame Margin Frame Frame Content Transformation Item Change List DDIF$_SGB Counter Variable Values Computed Variable Values List Variable Values DDIF$_TBS DDIF$_TRN DDIF$_TXT DDIF$_TYD 5 DTIF Structures 5.1 DTIF Document Structure Overview 5.2 Generic Aggregate Items DTIF$_ARD DTIF$_CAT DTIF$_CCD DTIF$_CFT DTIF$_CLD DTIF$_CLR DTIF$_COR DTIF$_DAT DTIF$_DSC DTIF$_DTF DTIF$_ERF DTIF$_EXT DTIF$_FMI DTIF$_HDR DTIF$_LPT DTIF$_NES DTIF$_NMR DTIF$_NVL DTIF$_RNG DTIF$_ROW DTIF$_RWR DTIF$_TBL DTIF$_TMD DTIF$_VTX DTIF$_WND 6 CFE Structures 6.1 CFE Generic Aggregate Items CFE$_CCD CFE$_CFT CFE$_CLR CFE$_COR CFE$_DAT CFE$_EXL CFE$_EXP CFE$_FRF CFE$_NPM CFE$_PEX CFE$_PFE CFE$_RWR CFE$_SLL CFE$_STF CFE$_STP CFE$_TXC CFE$_VTX 7 ESF Structures 7.1 ESF Generic Aggregate Items ESF$_DAT ESF$_EDS ESF$_EXT ESF$_NVL ESF$_RPT ESF$_TXS 8 CDA Toolkit Routines 8.1 Compile and Link Procedures for Applications 8.1.1 VMS Link Procedure 8.1.2 ULTRIX Link Procedure AGGREGATE TYPE TO OBJECT ID CLOSE FILE CLOSE STREAM CLOSE TEXT FILE CONVERT CONVERT AGGREGATE CONVERT DOCUMENT CONVERT POSITION COPY AGGREGATE CREATE AGGREGATE CREATE FILE CREATE ROOT AGGREGATE CREATE STREAM CREATE TEXT FILE DELETE AGGREGATE DELETE ROOT AGGREGATE ENTER SCOPE ERASE ITEM FIND DEFINITION FIND TRANSFORMATION FLUSH STREAM GET AGGREGATE GET ARRAY SIZE GET DOCUMENT GET EXTERNAL ENCODING GET STREAM POSITION GET TEXT POSITION INSERT AGGREGATE LEAVE SCOPE LOCATE ITEM NEXT AGGREGATE OBJECT ID TO AGGREGATE TYPE OPEN CONVERTER OPEN FILE OPEN STREAM OPEN TEXT FILE PRUNE AGGREGATE PRUNE POSITION PUT AGGREGATE PUT DOCUMENT READ TEXT FILE REMOVE AGGREGATE STORE ITEM WRITE TEXT FILE 9 User-Defined Routines Allocate/Deallocate Routines Flush Routine Get Routine Get-Position Routine Put Routine 10 CDA Toolkit Example Program 11 CDA Converter Routines 11.1 Compile and Link Procedures for Converter Images 11.1.1 VMS Compile and Link Procedure 11.1.2 ULTRIX Compile and Link Procedure Close Entry Point Get-Aggregate Entry Point Get-Position Entry Point domain $read_ format Entry Point domain $write_ format Entry Point 12 Text Front End Source File 13 CDA Viewer Routines 13.1 CDA Viewer Support of Adobe Font Metrics 13.2 Compile and Link Procedures for Viewer Images 13.2.1 VMS Link Procedure 13.2.2 ULTRIX Link Procedures CC DELETE PAGE CC END CC GET PAGE CC INITIALIZE BOTTOM DOCUMENT CLOSE FILE DOCUMENT INFO GOTO PAGE NEXT PAGE PREVIOUS PAGE REGISTER CLASS TOP DOCUMENT VIEWER VIEWER CREATE VIEWER FILE A DDIF Fill Patterns B DDIF Syntax Diagrams B.1 DDIS Built-In Data Types B.2 Built-In Operators B.3 DDIS Defined Types B.4 DDIF Syntax Diagrams C DTIF Syntax Diagrams D CFE Syntax Diagrams E ESF Syntax Diagrams F VMS Support for CDA in DECwindows F.1 VMS Commands and Utilities F.1.1 Displaying RMS File Tags F.1.1.1 DIRECTORY/FULL F.1.1.2 ANALYZE/RMS_FILE F.1.2 Creating RMS File Tags F.1.3 Preserving RMS File Tags and DDIF Semantics F.1.3.1 COPY Command F.1.3.2 VMS Mail Utility F.1.4 APPEND Command F.2 DDIF Support in a Heterogeneous Environment F.2.1 EXCHANGE/NETWORK Command F.2.2 Using the COPY Command in a Heterogeneous Environment F.2.3 VMS Mail Utility in a Heterogeneous Environment F.3 VMS RMS Interface Changes F.3.1 Programming Interface for File Tagging F.3.2 Accessing a Tagged File F.3.2.1 File Accesses That Do Not Sense Tags F.3.2.2 File Accesses That Sense Tags F.3.3 Preserving Tags F.4 Distributed File System Support for DDIF Tagged Files F.5 VMS RMS Errors G CDA$ Facility Messages Glossary of Terms EXAMPLES 1-1 Analysis Output of DDIF Initial Segment Attributes 10-1 Sample CDA Toolkit Program 10-2 Analysis Output of DDIF File F-1 Tagging a File F-2 Accessing a Tagged File FIGURES 1-1 DDIF Document Aggregate Hierarchy 1-2 DTIF Document Aggregate Hierarchy 1-3 CFE Aggregate Hierarchy 1-4 ESF Aggregate Hierarchy 4-1 Character Orientation 8-1 Example Document A-1 CDA Fill Patterns B-1 Object Descriptor Syntax Diagram B-2 Latin1 String Syntax Diagram B-3 Text String Syntax Diagram B-4 Character String Syntax Diagram B-5 Application Private Data Syntax Diagram B-6 DDIF Document Syntax Diagram B-7 Document Descriptor Syntax Diagram B-8 Document Header Syntax Diagram B-9 Document Root Segment B-10 Segment Primitive Syntax Diagram B-11 Begin-Segment Syntax Diagram B-12 Text Primitive Syntax Diagram B-13 Text Attributes Syntax Diagram B-14 Rendition Code Syntax Diagram B-15 Leader Style Syntax Diagram B-16 Text Layout Syntax Diagram B-17 Text String Layout Syntax Diagram B-18 Formatting Primitive Syntax Diagram B-19 Value Directive Syntax Diagram B-20 Directive Syntax Diagram B-21 Escapement Directive Syntax Diagram B-22 Variable Reset Syntax Diagram B-23 Graphics Primitive Syntax Diagram B-24 Polyline Syntax Diagram B-25 Cubic Bézier Syntax Diagram B-26 Arc Syntax Diagram B-27 Fill Area Set Syntax Diagram B-28 Line Attributes Syntax Diagram B-29 Line Style Number Syntax Diagram B-30 Line End Number Syntax Diagram B-31 Line Join Syntax Diagram B-32 Marker Attributes Syntax Diagram B-33 Marker Number Syntax Diagram B-34 Image Primitive Syntax Diagram B-35 Image Coding Attributes Syntax Diagram B-36 Image Attributes Syntax Diagram B-37 Image Lookup Table Data Syntax Diagram B-38 Image Component Space Attributes Syntax Diagram B-39 Restricted Content Syntax Diagram B-40 Content Reference Primitive Syntax Diagram B-41 Content Reference Syntax Diagram B-42 Bounding Box Syntax Diagram B-43 Color Syntax Diagram B-44 Red/Green/Blue Syntax Diagram B-45 Compute Definition Syntax Diagram B-46 Cross-Reference Syntax Diagram B-47 Escapement Syntax Diagram B-48 External Reference Syntax Diagram B-49 Font Definition Syntax Diagram B-50 Format Syntax Diagram B-51 Frame Parameters Syntax Diagram B-52 Inline Frame Parameters Syntax Diagram B-53 Galley Frame Parameters Syntax Diagram B-54 Galley Vertical Position Syntax Diagram B-55 Margin Frame Parameters Syntax Diagram B-56 Margin Horizontal Position Syntax Diagram B-57 Function Link Syntax Diagram B-58 External Reference Index Syntax Diagram B-59 Language Index Syntax Diagram B-60 Content Definition Syntax Diagram B-61 Label Types Syntax Diagram B-62 Label Syntax Diagram B-63 ASCII String Syntax Diagram B-64 Variable Label Syntax Diagram B-65 Legend Units Syntax Diagram B-66 Angle Syntax Diagram B-67 AngleRef Syntax Diagram B-68 Measurement Syntax Diagram B-69 Position Syntax Diagram B-70 Ratio Syntax Diagram B-71 Right Angle Syntax Diagram B-72 Size Syntax Diagram B-73 X-Coordinate Syntax Diagram B-74 Y-Coordinate Syntax Diagram B-75 Measurement Units Syntax Diagram B-76 Named Value Syntax Diagram B-77 Value Data Syntax Diagram B-78 Named Value List Syntax Diagram B-79 Font Number Syntax Diagram B-80 Marker Number Syntax Diagram B-81 Path Number Syntax Diagram B-82 Pattern Number Syntax Diagram B-83 Path Definition Syntax Diagram B-84 Composite Path Syntax Diagram B-85 Arc Path Syntax Diagram B-86 Cubic Bézier Path Syntax Diagram B-87 Line Definition Syntax Diagram B-88 Polyline Path Syntax Diagram B-89 Pattern Definition Syntax Diagram B-90 Standard Pattern Syntax Diagram B-91 Reference Syntax Diagram B-92 Segment Attributes Syntax Diagram B-93 Segment Type Definition Syntax Diagram B-94 Structure Definition Syntax Diagram B-95 Occurrence Definition Syntax Diagram B-96 Structure Element Syntax Diagram B-97 Tag Syntax Diagram B-98 Category Tag Syntax Diagram B-99 Conformance Tag Syntax Diagram B-100 Named Value Tag Syntax Diagram B-101 Segment Tag Syntax Diagram B-102 Storage System Tag Syntax Diagram B-103 Stream Tag Syntax Diagram B-104 Transformation Syntax Diagram B-105 Variable Binding Syntax Diagram B-106 Counter Definition Syntax Diagram B-107 Layout Object Type Syntax Diagram B-108 Expression Syntax Diagram B-109 Counter Style Syntax Diagram B-110 String Expression Syntax Diagram B-111 Record List Syntax Diagram B-112 Record Definition Syntax Diagram B-113 Generic Layout Syntax Diagram B-114 Page Description Syntax Diagram B-115 Page Set Syntax Diagram B-116 Page Layout Syntax Diagram B-117 Layout Primitive Syntax Diagram B-118 Layout Galley Syntax Diagram B-119 Galley Attributes Syntax Diagram B-120 Specific Layout Syntax Diagram B-121 Wrap Attributes Syntax Diagram B-122 Layout Attributes Syntax Diagram B-123 Break Criteria Syntax Diagram B-124 General Measure Syntax Diagram B-125 General Size Syntax Diagram B-126 Tab Stop List Syntax Diagram B-127 Tab Stop Syntax Diagram B-128 Generalized Time Diagram C-1 DTIF Document Syntax Diagram C-2 Document Descriptor Syntax Diagram C-3 Document Header Syntax Diagram C-4 External Reference Syntax Diagram C-5 Storage System Tag Syntax Diagram C-6 External References Index Syntax Diagram C-7 Language Preference Table Syntax Diagram C-8 Named Edit String Syntax Diagram C-9 Table Definition Syntax Diagram C-10 Table Metadata Syntax Diagram C-11 Table Window Syntax Diagram C-12 Table Rows Syntax Diagram C-13 Cell Data Syntax Diagram C-14 Cell Value Syntax Diagram C-15 Varying Text Syntax Diagram C-16 Array Definition Syntax Diagram C-17 Complex Float Syntax Diagram C-18 Column Attributes Syntax Diagram C-19 Data Type Syntax Diagram C-20 Format Info List Syntax Diagram C-21 Language Preference Index Syntax Diagram C-22 Format Type Syntax Diagram C-23 Edit String Index Syntax Diagram C-24 Numeric Format Type Syntax Diagram C-25 Numeric Format Precision Syntax Diagram C-26 Predefined Text Types Syntax Diagram C-27 Predefined Date Types Syntax Diagram C-28 Format Flags Syntax Diagram C-29 Date Time Syntax Diagram C-30 Application Private Syntax Diagram C-31 Named Value List Syntax Diagram C-32 Value Data Syntax Diagram C-33 ASCII String Syntax Diagram C-34 Column Number Syntax Diagram C-35 Row Number Syntax Diagram C-36 Cell Coordinates Syntax Diagram C-37 Range Definition Syntax Diagram C-38 Range Syntax Diagram C-39 Cell Range Syntax Diagram C-40 Row Range Syntax Diagram C-41 Column Range Syntax Diagram C-42 Named Range Syntax Diagram D-1 Private Function Expression Syntax Diagram D-2 Storage System Tag Syntax Diagram D-3 Named Parameter Syntax Diagram D-4 Expression Syntax Diagram D-5 Expression List Syntax Diagram D-6 Text Syntax Diagram D-7 Varying Text Syntax Diagram D-8 Selector List Syntax Diagram D-9 Decimal String Syntax Diagram D-10 Edit String Syntax Diagram D-11 Parenthesized Expressions Syntax Diagram D-12 Field Reference Syntax Diagram E-1 Edit String Syntax Diagram E-2 Edit String Buffer Syntax Diagram E-3 Single Syntax Diagram E-4 Repeat Syntax Diagram E-5 Application Private Edit String Syntax Diagram TABLES 1-1 CDA Item Data Types 1-2 DDIF Standard Aggregates 1-3 DDIF Tags 4-1 Generic Aggregate Items 4-2 Character Set Identifiers 4-3 Normal Horizontal Alignment 4-4 Normal Vertical Alignment 4-5 Line Style 4-6 Line Style 5-1 DTIF Generic Aggregate Items 6-1 CFE Generic Aggregate Items 6-2 Valid Arithmetic Expression Values for CFE$_EXL_EXPR_C 6-3 Valid Binary Expression Values for CFE$_EXL_EXPR_C 6-4 Valid Boolean and Relational Expression Values for CFE$_EXL_EXPR_C 6-5 Valid Cell-Related Expression Values for CFE$_EXL_EXPR_C 6-6 Valid Choose and Lookup Expression Values for CFE$_EXL_EXPR_C 6-7 Valid Conversion Expression Values for CFE$_EXL_EXPR_C 6-8 Valid Date and Time Expression Values for CFE$_EXL_EXPR_C 6-9 Valid Financial Expression Values for CFE$_EXL_EXPR_C 6-10 Valid Identification Expression Values for CFE$_EXL_EXPR_C 6-11 Valid Literal Values for CFE$_EXL_EXPR_C 6-12 Valid Miscellaneous Expression Values for CFE$_EXL_EXPR_C 6-13 Valid Series Expression Values for CFE$_EXL_EXPR_C 6-14 Valid Statistical Expression Values for CFE$_EXL_EXPR_C 6-15 Valid String Expression Values for CFE$_EXL_EXPR_C 6-16 Valid Transcendental Expression Values for CFE$_EXL_EXPR_C 6-17 Valid Trigonometric Expression Values for CFE$_EXL_EXPR_C 6-18 Valid Variable Values for CFE$_EXL_EXPR_C 7-1 ESF Generic Aggregate Items 7-2 Valid Values for ESF$_EDS_EDIT_STRING_C 7-3 Valid Values for ESF$_RPT_SEQ_C 11-1 Top-Level Aggregate Types A-1 DDIF Fill Patterns B-1 DDIS Built-In Primitives B-2 DDIS Built-In Constructors B-3 DDIS Built-In Operators B-4 DDIS Defined Types F-1 Tag Support Item Codes