idnits 2.17.1 draft-ietf-mimesgml-encap-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-25) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** The abstract seems to contain references ([RFC-1872]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (5 February 1996) is 10307 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'EXCH' is mentioned on line 110, but not defined == Unused Reference: 'ISO-8824' is defined on line 702, but no explicit reference was found in the text == Unused Reference: 'ISO-10744' is defined on line 710, but no explicit reference was found in the text == Unused Reference: 'RFC-822' is defined on line 715, but no explicit reference was found in the text == Unused Reference: 'RFC-1522' is defined on line 724, but no explicit reference was found in the text == Unused Reference: 'RFC-1590' is defined on line 728, but no explicit reference was found in the text == Unused Reference: 'RFC-1642' is defined on line 731, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO-8824' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO-8879' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO-10744' ** Obsolete normative reference: RFC 822 (Obsoleted by RFC 2822) ** Obsolete normative reference: RFC 1521 (Obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049) ** Obsolete normative reference: RFC 1522 (Obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049) ** Obsolete normative reference: RFC 1590 (Obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049) ** Obsolete normative reference: RFC 1642 (Obsoleted by RFC 2152) ** Downref: Normative reference to an Experimental draft: draft-ietf-mimesgml-related (ref. 'RFC-1872') ** Downref: Normative reference to an Experimental draft: draft-ietf-mimesgml-types (ref. 'RFC-1874') -- Possible downref: Non-RFC (?) normative reference: ref. 'TR9401' -- Possible downref: Non-RFC (?) normative reference: ref. 'US-ASCII' Summary: 16 errors (**), 0 flaws (~~), 9 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MIMESGML Working Group E. Levinson 3 Internet Draft: MIME/SGML XIson, Inc. 4 5 February 1996 6 Encapsulating SGML Documents Using 7 the Multipart/Related Content-Type 9 This draft document is being circulated for comment. Please send your 10 comments to the authors or to the sgml-internet mail list sgml- 11 internet@ebt.com. 13 Archives of the email discussions are available at 14 ftp://ftp.naggum.no:/pub/archives/sgml-internet. 16 Status of this Memo 18 This document is an Internet Draft; Internet Drafts are working 19 documents of the Internet Engineering Task Force (IETF) its Areas, and 20 Working Groups. Note that other groups may also distribute working 21 documents as Internet Drafts. 23 Internet Drafts are draft documents valid for a maximum of six months. 24 They may be updated, replaced, or obsoleted by other documents at any 25 time. It is not appropriate to use Internet Drafts as reference 26 material or to cite them other than as a "working draft" or "work in 27 progress". 29 Please check the abstract listing in each Internet Draft directory for 30 the current status of this or any other Internet Draft. 32 Abstract 34 This document describes an encapsulation of a Standard 35 Generalized Markup Language (SGML) document within a MIME 36 message. The document may be represented in the message by 37 some or all of its components. The MIME message may also 38 include auxiliary information to be used by the recipient in 39 processing the encapsulated SGML. This document proposes a 40 new content sub-type Application/SGML-notation, and a new 41 header, Content-SGML-Entity. 43 This specification uses the proposed Multipart/Related 44 Content-Type [RFC-1872] which provides the mechanism for 45 treating the set of SGML components as a single object. 47 Internet Draft MIME-SGML 49 Table of Contents 51 1. Introduction ................................... 2 52 Terminology .................................... 3 53 2. A Model for a MIME/SGML Encapsulation .......... 4 54 2.1. The Helper Application ......................... 5 55 2.2. Data Entities .................................. 6 56 2.3. Application/SGML-Notation ...................... 6 57 3. The Content-SGML-Entity Header ................. 6 58 4. Encapsulating the SGML Entities ................ 9 59 4.1. The Multipart/Related Media-Type ............... 10 60 4.2. Examples ....................................... 10 61 4.2.1. Implied SGML Declaration ....................... 10 62 4.2.2. An SGML Text Entity ............................ 11 63 4.2.3. A Notation Declaration ......................... 12 64 4.2.4. Script-based Notation .......................... 12 65 4.2.5. Active and Doctype Parameter Usage ............. 12 66 4.2.6. Auxiliary Information .......................... 13 67 5. Independent SGML Entities ...................... 14 68 6. Security ....................................... 14 69 7. References ..................................... 15 70 8. Acknowledgments ................................ 16 71 9. Author's Address ............................... 16 73 Appendix: An Extended Example .................. 17 74 Change History ................................. 19 76 1. Introduction 78 A need exists for the transfer via email of documents 79 constructed using the Standard Generalized Markup Language 80 (SGML) [ISO-8879]. A document transfer consists of a set of 81 the documents components sufficient to enable the receiver to 82 process the document. Such processing might consist of 83 displaying the document or a portion of it, interacting with a 84 local application, or other appropriate action. 86 SGML documents consist of a set of inter-related components, 87 or SGML entities, whose relationship must be preserved 88 independently of the system on which the document exists. The 89 components and their relationships are often represented as 90 files with explicit internal references to the other 91 components (files). 93 The goal for the MIME encapsulation of SGML is to permit 94 sending, via email, the entities needed for a receiving system 95 to display (or process) the SGML document without imposing 96 requirements on the receiver's SGML system beyond [ISO-8879]. 98 Internet Draft MIME-SGML 100 The encapsulation augments the standardized facilities of 101 [ISO-8879] with MIME [RFC-1521] features. To support a wide 102 variety of SGML implementations the encapsulation provides the 103 receiver, via a Content-SGML-Entity header, the the SGML 104 entity and notation declaration information. 106 The SGML Open Consortium has defined a catalog [TR9401] for 107 which extensions [EXCH] have been defined to support the 108 exchange of SGML using MIME. Exchanges between SGML systems 109 that support [TR9401] and [EXCH] will be simplified by using 110 [EXCH]. 112 No assumptions beyond [ISO-8879] are made about the 113 capabilities of the receiver's SGML system. It may be a 114 general purpose SGML engine or a specialized application based 115 on a specific SGML document type definition. As discussed in 116 section 2, a receiver may need to interpose an additional 117 application layer between the MIME User Agent and the SGML 118 system. 120 It is assumed that the sending and receiving parties' SGML 121 environment contains sufficient information (well known SGML 122 entities) to allow only a limited number of entities, 123 typically the marked up text, to be included in the email 124 message. 126 Sections 2 and 3 define the basic elements for labeling the 127 SGML entities. Section 4 describes the encapsulation and 128 provides examples of the documents entities within a single 129 Multipart MIME entity. Section 5 describes the handling of 130 SGML entities not included within an Multipart/Related body 131 part. 133 Terminology 135 The Standard Generalized Markup Language (SGML) is used to 136 encode document structure and a rigorous description of it is 137 left to [ISO-8879]. The terms used in the present document 138 attempt to be consistent with SGML terminology and usage. 140 Both SGML and MIME use the term "entity" to refer to their 141 basic components. Here the use of "entity" generally connotes 142 an SGML entity. For MIME entities, body part is used; in some 143 contexts that proves awkward and "MIME entity" is used 144 instead. The context hopefully makes such usage clear. 146 Two SGML terms, SGML Document and SGML Document Entity, are 147 used in this paper and the difference between them is 148 Internet Draft MIME-SGML 150 significant. An SGML Document [ISO-8879, 4.282] is the entire 151 collection of objects or entities that make up a document. 152 Those objects include markup definitions, text with SGML 153 markup, plain text, image data, etc. An SGML document entity 154 [ibid., 4.283], on the other hand, is the specific object with 155 which an SGML system begins processing the SGML document. 157 2. A Model for a MIME/SGML Encapsulation 159 An SGML document exists as a collection of one or more 160 entities; entities are system independent analogues to files. 161 Those SGML entities are mapped to storage objects or files and 162 the mapping may be one-to-one, many-to-one, or one-to-many. 163 The SGML document refers to the storage objects via entity 164 declarations. The declarations may define the name and type 165 of storage object or provide a name by which an SGML system 166 can map the declared entity to a storage object. Preservation 167 of the structure of references from one entity to another, 168 known in SGML as the entity structure, are key to the email 169 exchange of SGML documents. 171 In addition to preserving the entity structure, several other 172 issues must be addressed by the application that displays or 173 processes the SGML elements in the MIME message. The MIME 174 encapsulation described here provides the information a 175 "helper" application needs to resolve these issues. The 176 helper application, invoked by the MIME User Agent, performs 177 any pre-processing that may be required. It may display or 178 process the the SGML entities itself or invoke another SGML 179 engine for that purpose. 181 The issues to be addressed are as follows. The entity 182 declarations for the SGML entities included in the message 183 must be resolved to corresponding references on the receiver's 184 system. Similarly, the references to processors for non- 185 parsable SGML data, declared in SGML notation declarations, 186 must be resolved to valid processors on the receiving system. 187 An appropriate helper application must be provided with access 188 to all the encapsulated MIME body parts and header information 189 before any SGML processing can begin. Finally, character 190 encoding of the MIME encapsulated SGML text entities must 191 conveyed to the recipients. 193 The these issues are addressed in the following manner. A new 194 header, Content-SGML-Entity, provides the entity description 195 for the body part containing the entity, making the sender's 196 entity declaration information available to the helper 197 application. The helper application may then provide to the 198 Internet Draft MIME-SGML 200 SGML system whatever information it requires. Notation 201 information, carried in an Application/SGML-Notation body 202 part, along with its Content-SGML-Entity header information 203 associates notation declarations with MIME media types. The 204 Multipart/Related MIME media type labels the SGML entities as 205 a unit allowing the MIME User Agent to invoke the appropriate 206 process. Text/SGML and Application/SGML [RFC-1874] media 207 types provide parameters to label the SGML text entity 208 encodings. A group of SGML entities, encapsulated within the 209 same Multipart/Related MIME entity, form an SGML MIME 210 encapsulation. 212 Auxiliary information, such as style sheets and catalogs, to 213 be used in processing the SGML document, may be included in 214 the MIME message. The information is referenced through the 215 Multipart/Related start-info parameter. 217 Not all the entities that constitute an SGML document need to 218 be included in the document's MIME encapsulation. Communities 219 or individuals may often agree to include only a subset of the 220 SGML entities. For example certain communities use standard 221 SGML document type definitions (DTDs), within those 222 communities the DTD and other similar SGML entities need not 223 be included in the encapsulation. Other communities may only 224 want to encapsulate a minimal entity or set of entities and 225 include auxiliary information to enable the recipient to 226 retrieve any additional entities the recipient requires. The 227 description of such community agreements, auxiliary 228 information, and protocols for requesting additional entities 229 are beyond the scope of this RFC. 231 2.1 The Helper Application 233 The helper application, invoked by the MIME User Agent for 234 "Multipart/Related; type=Text/SGML" (or Application/SGML), 235 will depend on the manner in which the MIME User Agent 236 presents the header information. There are no existing 237 standards for that interface. 239 The helper application, if it does not display or process the 240 document itself, also depends on the characteristics of the 241 SGML system that does. SGML defines an Entity Manager 242 [ISO-8879, 4.123] that performs the mapping between SGML 243 entities and the local file system. Depending on the 244 capability of the entity manager the helper application may 245 store the entities in pre-determined locations, create mapping 246 file entries for an SGML entity manager, create catalog 247 entries for an entity manager that uses them, or parse the 248 Internet Draft MIME-SGML 250 SGML prolog (DTD) and modify the relevant entity declarations 251 to point to the received entities. The helper application, 252 when invoking the SGML system, can also provide information 253 from the Multipart/Related start-info parameter. 255 2.2. SGML Data Entities 257 Data entities that contain parsable SGML data shall be 258 included as body parts whose media type is Text/ or 259 Application/SGML [RFC-1874]. 261 Data entities that contain data but are not be parsable as 262 SGML shall be included as MIME body parts whose media types 263 reflect the data content, i.e., Text/Plain, Image/JPEG, etc. 265 2.3. Application/SGML-Notation 267 MIME type name: Application 268 MIME subtype name: SGML-Notation 269 Required parameters: none 270 Optional parameters: none 271 Encoding considerations: none 272 Security considerations: none 273 Published specification: This document 274 Person and email address to contact for further information: 275 E. Levinson 277 The Application/SGML-Notation media type provides the connec- 278 tion between the document's SGML notation declarations and 279 MIME media types. The MIME entity must contain a Content- 280 SGML-Entity corresponding to the notation's declaration. The 281 body of the SGML-Notation MIME entity contains a Content-Type 282 header that specifies the media type associated with the name 283 parameter of the Content-SGML-Entity statement. 285 Some SGML notation declarations may correspond to a script for 286 an active media type (e.g., java). In those cases a MIME 287 entity with the corresponding media type should be used. That 288 MIME entity shall contain an appropriate Content-SGML-Entity 289 header. 291 3. The Content-SGML-Entity Header 293 The Content-SGML-Entity (cse) header is required when encapsu- 294 lating an SGML document within a Multipart/Related MIME 295 entity. The header contains information from the SGML entity 296 declaration corresponding to the entity contained in the body 297 of the body part. 299 Internet Draft MIME-SGML 301 Data for an entity catalog, defined in [TR9401], can be gener- 302 ated by the receiving agent using the cse header data and the 303 stored entity's local file name. 305 The Content-SGML-Entity header is defined as follows. 307 entity-header := "Content-SGML-Entity" ":" 308 "decl-type" "=" decl-type 309 *( ";" cse-parm ) 311 decl-type := "doctype" / "linktype" / 312 "general" / "parameter" / 313 "baseset" / "capacity" / "syntax" 315 cse-parm := cse-attr "=" value / 317 cse-attr := "active" / "doctype" / 318 "linktype" / "name" / "notation-name" / 319 "public-id" / "public-id-ver" / 320 "system-id" / extension-token 322 value := token / quoted-string ; c.f. [RFC-1521] 324 extension-token := ( "X-" / "x-" ) token 325 ; no intervening white space 327 The header parameters provide information from, and about, the 328 entity declaration for the SGML entity contained in the MIME 329 body part. The name, notation-name, public-id, and system-id 330 parameter values come directly from the SGML entity declara- 331 tion. The decl-type, doctype, and public-id-ver describe the 332 entity declaration's environment. Finally, the active parame- 333 ter provides parsing context information. 335 active Specifies the name of an active document type or 336 link type. The parameter is used for document 337 entities when the prolog contains more than one 338 document or link type declaration. The parameter 339 can occur multiple times, once for each active 340 document or link type and SGML entity parsing 341 occurs with respect to the active document or link 342 types. This parameter is only applicable to docu- 343 ment entities (decl-type=doctype). 345 decl-type A string specifying the entity declaration type. 346 Decl-type is a token specifying how the entity was 347 declared. Within an SGML document or subdocument 349 Internet Draft MIME-SGML 351 each entity type constitutes a unique name space. 352 The possible values for decl-type are: 354 doctype An entity containing an external DTD 355 subset, declared in a 356 declaration; the name in this case would 357 be the document type name. 359 baseset An entity declared by a public identi- 360 fier in a base character set [production 361 174, ISO-8879, 13.1.1.1]. 363 capacity An entity declared by a public identi- 364 fier in a capacity set [180, ISO-8879, 365 13.2]. 367 general An entity declared in a entity declara- 368 tion as a general entity 370 linktype An entity containing an external Link 371 Process Definition subset, declared in a 372 linktype declaration; the name parameter 373 is the link type name. 375 notation The header describes a notation declara- 376 tion and, for Application/SGML-notation, 377 the body of the MIME body part contains 378 a content-type header giving the MIME 379 content type corresponding to the nota- 380 tion name or, for other media types, a 381 script or description of the processing 382 that the notation specifies. 384 parameter An entity declared in an entity declara- 385 tion as parameter entity. 387 syntax An entity declared by a public identi- 388 fier in a public concrete syntax [183, 389 ISO-8879, 13.4]. 391 doctype A string specifying the document type name of the 392 DTD subset in which the entity was declared, if 393 the entity was declared in a DTD subset other than 394 the base DTD subset. This parameter applies only 395 to entities with a decl-type of "general", "nota- 396 tion", or "parameter". 398 Internet Draft MIME-SGML 400 extension-token 401 A parameter not defined in this document and 402 agreed upon by the parties using it, a group of 403 consenting adults. 405 linktype A string specifying the link type name of the Link 406 Process Definition (LPD) subset in which the 407 entity was declared, if the entity was declared in 408 an LPD subset. This parameter is required only 409 for entities with a decl-type of "general" or 410 "parameter". 412 name A string giving the name of the entity and is 413 omitted if the entity has no name. 415 notation-name 416 The notation name of an external entity. Not 417 valid if the decl-type is "notation". The value 418 of this parameter corresponds to the value of a 419 Content-SGML-Entity header name parameter. 421 public-id The public identifier in the entity's declaration. 423 public-id-ver 424 The display version if a public text display ver- 425 sion was not present in the public id. Use this 426 the parameter only if a device dependent display 427 version was used. 429 system-id The system identifier in the entity's declaration. 431 MIME headers, including the cse header only contain US-ASCII 432 characters [US-ASCII]. SGML entity declarations, on the other 433 hand, will contain characters from the SGML document's charac- 434 ter set. Characters in that set that are not US-ASCII should 435 be represented as an SGML numeric character reference in the 436 reference concrete syntax (e.g., "&#nnn;", where "nnn" is the 437 integer code position of the character). 439 4. Encapsulating the SGML Entities 441 The SGML document's must be processed as a unit, handling the 442 MIME body parts individually is not sufficient. The MIME Mul- 443 tipart/Related provides the framework for handling the SGML 444 composite structure. 446 An SGML document can recursively contain subdocuments each of 447 which has its own entity structure. The name spaces for SGML 448 Internet Draft MIME-SGML 450 entities are wholly contained within a subdocument. Conse- 451 quently the entity names specified on a Content-SGML-Entity 452 header must preserve those name spaces. The header's doctype 453 parameter provides the information needed to identify the cor- 454 rect name space. This avoids the need to have recursive Mul- 455 tipart/Related encapsulations. 457 4.1. The Multipart/Related Media-Type 459 The Multipart/Related [RFC-1872] media type contains a set of 460 related body parts, in this case entities in an SGML document, 461 and its "start" parameter names the body part within the MIME 462 entity with which processing starts, i.e. the SGML document 463 entity. If there is no start parameter then the first MIME 464 entity in the Multipart/Related must be the SGML document 465 entity. 467 The Multipart/Related "type" parameter shall be the media type 468 of the SGML document entity, Text/ or Application/SGML. The 469 "start-info" parameter can contain a list of one or more con- 470 tent references which provide alternative sets of auxiliary 471 information, e.g. stylesheets, catalogs, etc. The receiving 472 agent shall accept the first such set of information that it 473 can use. 475 Below are sample excerpts of an encapsulated SGML document, an 476 appendix contains an extended example. 478 4.2. Examples 480 The following examples point out some of the key features of 481 the MIME/SGML encapsulation. The examples cover a combined 482 prolog and instance with an implied SGML declaration, the use 483 of the Content-SGML-Entity, Application/SGML-notation, active 484 parameter, and auxiliary information. 486 4.2.1. Implied SGML Declaration 488 Consider the following document instance which includes the 489 SGML prolog, but which implies the SGML declaration. 491 496 497 499 Internet Draft MIME-SGML 501 502 503 ]> 504 &chap1; &chap2; &chap3; 506 The Multipart/Related MIME entity's start parameter's value is 507 the content-id of the MIME body part containing the document 508 entity. 510 MIME-Version: 1.0 511 Content-Type: Multipart/Related; boundary=tiger-lily 512 start=""; type="application/SGML" 514 --tiger-lily 515 ... 516 --tiger-lily 517 Content-Type: Application/SGML 518 Content-ID: 520 525 526 527 528 529 ]> 530 &chap1; &chap2; &chap3; 531 --tiger-lily 532 ... 534 4.2.2. An SGML Text Entity 536 The entity "chap3" would be a MIME body part such as 538 --tiger-lily 539 Content-Type: Text/SGML 540 Content-SGML-Entity: decl-type=general; name=chap3; 541 system-id="chapt3.sgml" 543

This is chapter THREE ... 544 --tiger-lily 546 Here, as in most other situations the cse header describes the 547 entity contained in the body part. 549 Internet Draft MIME-SGML 551 4.2.3. A Notation Declaration 553 The notation declaration contained in the SGML prolog will be 554 represented as a separate body part. 556 --tiger-lily 557 Content-Type: Application/SGML-notation 558 Content-SGML-Entity; decl-type=notation; 559 name=jxz; system-id="/usr/local/bin/jxz"; 561 Content-type: Image/JPEG 563 --tiger-lily 565 Note: It can be argued that a separate MIME body part associ- 566 ating an SGML notation declaration name with a MIME media type 567 is redundant; the association exists in the body part contain- 568 ing the actual data. The content-type header gives the media 569 type and the Content-SGML-Entity header, the notation name. 570 That, however, does not suffice for entities that are not 571 included in the message. The associations between the nota- 572 tion name and the MIME type may still be needed. 574 4.2.4. Script-based Notation 576 Consider a notation declaration in which the non-SGML data is 577 processed by a script interpreted by a local process. The 578 script interpreter is identified by the media type Applica- 579 tion/X-active. 581 ... 582 --tiger-lily 583 Content-Type: Application/X-active 584 Content-SGML-Entity: decl-type=notation; name=actscr; 585 system-id="/usr/local/bin/active-scripts 587 [an X-active script] 588 --tiger-lily 589 ... 591 4.2.5. Active and Doctype Parameter Usage 593 In the example below, two document type declarations are 594 given, one of which is active. Additionally one other entity 595 is included and is labeled as to which document type contained 596 the declaration. 598 Internet Draft MIME-SGML 600 MIME-Version: 1.0 601 Content-Type: Multipart/Related; 602 start=; 603 type=Text/SGML; boundary="tiger-lily" 605 --tiger-lily 606 Content-Type: Text/sgml 607 Content-ID: 608 Content-SGML-Entity: decl-type=doctype; active=usrgde 610 ] 614 > 615 ] 619 > 620 ... &chap2; ... 621 --tiger-lily 622 ... 623 --tiger-lily 624 Content-Type: Text/sgml 625 Content-SGML-Entity: name=chap2; decl-type=general; 626 doctype=usrgde; 628 This is Chapter 2 of a User Guide ... 629 --tiger-lily-- 631 4.2.6. Auxiliary Information 633 This example show the inclusion of Auxiliary information. The 634 SGML-Open-Catalog contains a catalog with keywords defined in 635 [TR9401]. In this example the catalog is included inside the 636 Multipart/Related MIME entity. 638 MIME-Version: 1.0 639 Content-Type: Multipart/Related; 640 start=; 641 type=Text/SGML; boundary="tiger-lily" 643 --tiger-lily 644 Content-Type: Text/SGML 645 Content-ID: 647 Internet Draft MIME-SGML 649 650 --tiger-lily 651 Content-Type: Application/SGML-Open-Catalog 652 Content-ID: 654 ENTITY chap2 "/home/users/widget/chapt2.sgml" 655 ENTITY chap3 "/home/users/widget/chapt3.sgml" 656 PUBLIC "-//Acme//TEXT chapt1//EN" 657 "ftp://ftp.acme.com/sgml/widget/chapt1.sgml" 658 PUBLIC "-//Acme//DTD Book//EN" 659 "ftp://ftp.acme.com/sgml/dtds/book.dtd" 660 PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: 661 Arrow Relations//EN" 662 "ftp://ftp.acme.com/sgml/entities/arrow.sgml" 663 PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: 664 Binary Operators//EN" 665 "ftp://ftp.acme.com/sgml/entities/binops.sgml" 666 ... 667 --tiger-lily-- 669 5. Independent SGML Entities 671 Independent SGML and data entities included in MIME messages 672 constitute independent MIME body parts and are not included 673 within a Multipart/Related MIME entity. The SGML entities 674 shall have the SGML media types appropriate to the data being 675 sent; data entities shall use the media type corresponding to 676 their notation declaration. 678 Content-SGML-Entity headers can be used with body parts that 679 are not included within any Multipart/Related MIME entity. 680 This allows, for example, a receiving agent to add an entry to 681 a catalog or mapping file indicating the location in which the 682 received entity was stored. 684 6. Security 686 SGML documents, like other compound documents, may contain 687 entities whose media types present security concerns, e.g. 688 Application/PostScript. Further SGML may contain explicit 689 processing instructions for a presentation or composition sys- 690 tem; use of such instructions present concerns similar to 691 those of Application/PostScript. 693 The use of active media types with Notation declarations can 694 provide an opportunity for the sender to execute a script or 695 other code on the recipient's machine. Unpacking software 696 Internet Draft MIME-SGML 698 should alert the user when such situations arise. 700 7. References 702 [ISO-8824] ISO 8824, Information processing systems -- Open 703 System Interconnection -- Specification of 704 Abstract Syntax Notation One (ASN.1). 706 [ISO-8879] ISO 8879:1986, Information processing -- Text and 707 office systems -- Standard Generalized Markup Lan- 708 guage (SGML). 710 [ISO-10744] ISO/IEC 10744:1992, Information technology -- 711 Hypermedia/Time-based Structuring Language 712 (HyTime) (as modified by First Proposed Technical 713 Corrigendum, ISO/IEC JTC1/SC18 N5027) 715 [RFC-822] Crocker, D., Standard for the Format of ARPA 716 Internet Text Messages, August 1982, University of 717 Delaware, RFC 822, STD 11. 719 [RFC-1521] N. Borenstein, N. Freed, "MIME (Multipurpose 720 Internet Mail Extensions) Part One: Mechanisms 721 for Specifying and Describing the Format of Inter- 722 net Message Bodies", 09/23/1993. 724 [RFC-1522] K. Moore, "MIME (Multipurpose Internet Mail Exten- 725 sions) Part Two: Message Header Extensions for 726 Non-ASCII Text", 09/23/1993. 728 [RFC-1590] J. Postel, "Media Type Registration Procedure", 729 03/02/1994. 731 [RFC-1642] D. Goldsmith, M. Davis, "UTF-7, A Mail-Safe Trans- 732 formation Format of UNICODE", 07/13/1994 734 [RFC-1872] E. Levinson, "The MIME Multipart/Related Content- 735 type", Internet Draft, draft-ietf-mimesgml- 736 related-03.txt, working draft. 738 [RFC-1874] E. Levinson, "SGML Media Types", Internet Draft, 739 draft-ietf-mimesgml-types-00.txt, working draft. 741 [TR9401] SGML Open Consortium Technical Resolution 742 9401:1995, "Entity Management", SGML Open 744 [US-ASCII] Coded Character Set -- 7-Bit American Standard 745 Code for Information Interchange, ANSI X3.4-1986. 747 Internet Draft MIME-SGML 749 8. Acknowledgements 751 The editor has borrowed freely from the suggestions of others 752 and in particular lifted text from James J. Clark and Charles 753 F. Goldfarb (Information Management Consulting) and benefitted 754 from a number of discussions with them. If any errors 755 occurred in translating their words into this text, rest 756 assure that the misinterpretation was mine. 758 The editor also acknowledges the contributions, suggestions, 759 and explanations provided by the following individuals: Terry 760 Allen (O'Reilly & Associates, Inc.), Harald T. Alvestrand 761 (UniNett), Nathaniel Borenstein (First Virtual Holdings Incor- 762 porated), Daniel W. Connolly (W3O), Steven DeRose (EBT), Roy 763 Fielding (University of California, Irvine), Andy Gelsey 764 (CSC), Paul Grosso (ArborText, Inc.), John Klensin (MCI), Erik 765 Naggum (Naggum Software), Gavin Nicol (EBT), Einar Stefferud 766 (Network Management Associates, Inc), and Don Stinchfield 767 (EBT). No errors or faults in this document can be ascribed 768 to them, they're all mine. 770 9. Author's Address 772 Ed Levinson 773 XIson@cnj.digex.net 774 XIson, Inc. 775 47 Clive Street 776 Metuchen, NJ 08840 777 Internet Draft MIME-SGML 779 APPENDIX. 781 An Extended Example 783 This example presents a variety of SGML entity declarations and the 784 corresponding Content-SGML-Entity headers. 786 MIME-Version: 1.0 787 Content-Type: Multipart/Related; boundary=tiger-lily 788 start=""; type="application/SGML" 790 --tiger-lily 791 Content-Type: Application/SGML 792 Content-ID: 794 799 800 801 802 803 ]> 804 &chap1; &chap2; &chap3; 805 --tiger-lily 806 Content-Type: Text/SGML 807 Content-SGML-Entity: decl-type=general; name=chap1; 808 public-id="-//Acme//TEXT chapt1//EN" 810

This is chapter ONE ... 811 --tiger-lily 812 Content-Type: Text/SGML; 813 Content-SGML-Entity: decl-type=general; name=chap2 815

This is chapter TWO ... 816 --tiger-lily 817 Content-Type: Text/SGML 818 Content-SGML-Entity: decl-type=general; name=chap3; 819 system-id="chapt3.sgml" 821

This is chapter THREE ... 822 --tiger-lily 823 Content-Type: Application/SGML 824 Content-SGML-Entity: decl-type=doctype; name=book; 825 public-id="-//Acme//DTD Book//EN"; 826 system-id="/home/users/sgml/dtds/book.dtd" 828 Internet Draft MIME-SGML 830 <-- Acme Widget Company --> 831 <-- Instruction Book DTD --> 832 834 &Isolat1; 835 838 &ISOamsa; 839 ... 840 841 ... 843 --tiger-lily 844 Content-Type: image/jpeg 845 Content-Transfer-Encoding: BASE64 846 Content-SGML-Entity: decl-type=general; name=fig1; 847 system-id="fig1.jxz"; notation-name=jxz 849 [Base64 encoded binary image data] 850 --tiger-lily-- 851 Internet Draft MIME-SGML 853 Change History 855 Changes to version 03 (October 20, 1995) 857 Introduction and following sections rewritten and reorgainized to 858 reflect discussion on the sgml-internet list and to identify 859 assumptions and processing requirements. 861 Removed the discussion of SDIF and the figure and discussion of 862 a "receiving agent". 864 Removed Appendix B, "Notes for Implementors", that information now 865 duplicates materiel discussed in the body of the draft. 867 Changes to version 02 (July 12, 1995) 869 Section 1 Provided additional clarification of goals and 870 assumptions. 872 Moved all discussion of SDIF to section 6 and 873 clarified language to indicate that the encapsula- 874 tion can be used to encode an SDIF data stream and 875 that the use of SDIF is not required. 877 Section 2 Added a diagram identifying the various processes 878 in the model. 880 Removed Text/ and Application/SGML registration 881 information and replaced that with a statement 882 referencing the separate type registration. Clar- 883 ified introductory remarks. 885 Section 3 Classified the Content-SGML-Entity parameters as 886 to their purpose. Added clarifications to the 887 active parameter and the decl-type values "doc- 888 type" and "notation". 890 Section 4 Eliminated the discussion of recursion and 891 explained how SUBDOC name spaces are handled. 893 Revised Auxiliary Information example (catalog). 895 References Updated references to Internet Drafts. 897 Changes to version 00 899 Introductory and explanatory text has been changed and 900 Internet Draft MIME-SGML 902 expanded to eliminate any bias towards "complete" documents. 904 Added explanatory text covering auxiliary information, given 905 by the "start-info" Multipart/Related parameter. Included 906 usage description for the "type" and "start-info" parameters. 907 Also added an example using "start-info". 909 Added "active" parameter to the Content-SGML-Entity header and 910 added an example showing its use. 912 Added additional detail to a number of examples and two more 913 examples. 915 Tightened up text discussion SDIF.