Method of managing marker entities within a document data stream

Abstract: A method is disclosed for managing marker entities within a document data stream independently of the content of the data stream. The method provides consistent specification and independent processing of marker entities which may include both text and non-text data and which may be associated physically and/or logically with data stream content at the document or lower order entity level. A define marker structure control is utilized within the data stream to specify in a data type independent fashion the physical structure and content of a marker entity as well as defining any desired relationship of a marker entity with another entity within the data stream. A map marker control is then utilized to control the position within a presentation area where the marker entity is to be imaged. In this manner, the method of the present invention provides a flexible, efficient and useful manner to associate a marker entity within a document data stream which may be tied to specific layout areas during presentation and which may be easily manipulated at a data stream level.

Description: BACKGROUND OF THE INVENTION Technical Field This invention relates in general to the field of document data stream manipulation and in particular to methods for creating, describing, and controlling the management of "marker" entities within the data stream. Background Art The provision of selected enumerative processes at the application level within certain computer applications is well known in the prior art. For example, a word processing program often provides a page numbering function which may be utilized to provide page numbers for documents produced with that word processor. The same word processing program might also provide a numeric referencing function which may be used to reference a specific part of a document, such as a page, section or figure. Usually, the value of the numeric reference is not treated as a separate entity by the word processing system. Rather, it is included as part of the text data containing the references. Unlike the method of the present invention, the enumerative capability in word and other document type processors is tightly coupled to the imaging and presentation formatting functions of a specific document processing application, and may not be generally available so that a description as well as presentation and manipulation of the numeric entity is independent of any processing of the document data content. Despite the fact that the enumerative processing techniques described above cannot be independently associated with the content of a particular portion of the document in question, it is possible with certain APA type user interfaces to create an iconic representation of data within an application which is linked to the data itself. While this technique does provide a graphic representation which may be used within the application and which is related to the content of the application, it is only available at the application level and cannot be physically utilized with non-graphic content, such as text. Prior art more specifically includes: EP-A-0285449 discloses a document processing system for handling documents where the text data includes key information allowing image data to be imbedded in the final laid out document. More particularly (col.2, 1.38-45), the position at which image data is to be inserted is detected based on key information such as number or title of a figure and/or table, images classification words, etc... (Fig.2-4). Such key information is part of the text data and is dependent upon such text data. The solution provided is only aimed at placing, in a final lay-out, a figure with respect to its title/reference ("The relation is shown in Fig.2"), not at allowing to place a figure anywhere in the final lay-out. IBM TDB, Vol.30, No.5, oct.87, p.206-207 discloses a layout method for composite documents comprising text areas and non-text areas; p.206, Fig.1 and paragraphs (1)(2), and p.207 2nd paragraph, handle the case where the non-text area is to have a position relative to a particular word in the text area, which is a case identical to that of EP-A-0285449. When a non-text area is to be placed at a particular (x,y) coordinate on a particular page (p.206 (3)), this is simply and by extension done by relating the non-text area to the position immediately preceding the first word in the document (p.207, 3rd paragraph). IBM TDB, Vol.29, No.9, Feb.87, p.3865-3868 discloses a method permitting data of different types (text, image, graphic,...) that represent page and line numbers, to be made available to document composition functions. This is done by providing a mark coordinate list (Fig.3 and p.3867 last paragraph to p.3868) referencing one or more objects representing the actual mark to be used as page or line number, the goal being to reduce the number of bytes required to capture page marking for a document (p.3866, 3rd paragraph). The objects are described through parameters organized in a descriptor structured field (Fig.2, and p.3866 last paragraph to p.3867). No details are provided regarding the imbedding of such parameters and list into the document data. It should be obvious that with respect to the above prior art, a need exists for a method whereby marker entities, e.g. enumerative processing entities, that are data type independent may be created, described, and controlled at a data stream level independent of any document processing application and may also be physically and/or logically related to other data stream entities of the same or different data type. SUMMARY OF THE INVENTION It is therefore one object of the present invention to provide an improved method of manipulating document data streams. It is another object of the present invention to provide an improved method of manipulating document data streams which permits the utilization and manipulation of marker entities within the data stream independently of the content of the data stream. It is yet another object of the present invention to provide an improved method of manipulating document data streams which permits the utilization and manipulation of marker entities within the data steam independently of the content of the data stream and which may be logically or physically associated with an entity within the data stream at either a document or lower order entity level. The foregoing objects are achieved as is now described. The method of the present invention provides a consistent specification and independent processing for marker entities which may include both text and non-text data and which may be associated physically and/or logically with data stream content at the document or lower order entity level. A define marker structure control is utilized, within the data stream, to specify in a data type independent fashion the physical structure and content of a marker entity as well as defining any desired relationship of a marker entity with another entity within the data stream. A map marker control is then utilized to control the position within a presentation area where the marker entity is to be imaged. In this manner, the method of the present invention provides a flexible, efficient and useful manner of providing a marker entity within a document data stream which may be tied to specific layout areas during presentation and which may be easily manipulated at a data stream level. BRIEF DESCRIPTION OF THE DRAWINGS The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: FIGURE 1 is a pictorial representation of a presentation of a document including multiple marker entities; FIGURE 2 is a pictorial representation of a presentation of a document which includes multiple replications of a single marker entity; FIGURE 3 is a pictorial representation of a presentation of a document which includes a marker entity depicting an iconic representation of a data object within the document; FIGURE 4 is a high-level data stream representation of the marker entity of Figure 2; FIGURE 5 is a high-level data stream representation of the marker entities of Figure 3; FIGURE 6 is a high-level data stream representation of a resource specification which may be utilized in conjunction with the data stream representation of Figure 5; FIGURE 7 is a logic flow diagram of the processing of a document data stream including marker entities; FIGURE 8 is a logic flow diagram of the creation of a marker entity for utilization within a document data stream; and FIGURE 9 is a logic flow diagram of the modification and/or manipulation of a marker entity within a document data stream. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT With reference now to the figures and in particular with reference to Figure 1, there is depicted a pictorial representation of a presentation 10 of a portion of a document which includes multiple marker entities 12, 14, 16 and 18. Each marker entity within presentation 10 is defined, as will be explained in greater detail herein, by a define marker structure control, which specifies the physical structure and content of the marker entity as well as any desired logical relationship between the marker entity and another entity within the data stream. A map marker control is also utilized to specify those locations within presentation 10 where the marker is to be imaged. As may be seen, each marker entity may include both textual and non-textual data such as, graphic data or image data. For example, marker entity 12 includes the textual data "PAGE 2" and is logically and physically unrelated to any data object within presentation 10. In contrast, marker entity 14 includes a graphic paragraph symbol which is logically associated with and yet physically separate from the paragraph text object depicted at reference numeral 20. Also depicted within Figure 1 is marker entity 16 which is also logically related to and yet physically separate from graphic data object 22. Finally, marker entity 18 is depicted. Marker presentation 18 is both logically and physically related to the content of text data object 24 in that both the location and content of marker entity 18 is controlled by the location and content of text data object 24. By linking marker entity 18 to the content of text data object 24, it is possible to manipulate marker entity 18 at the data stream level without the necessity of manipulation within the presentation space. Referring now to Figures 2 and 4 there is depicted respectively a pictorial representation of a presentation E of a document which includes multiple replications of a single marker entity and a high-level data stream representation of that presentation. As may be seen, the high-level data stream representation of the presentation of Figure 2 begins with a Begin Data Stream (BDT) control and a Begin Master Environment Group (BMG) control. A Define Marker (DMO) control is then utilized to define the physical structure and content of marker entity D, as depicted in Figure 2. Next, the area of marker object D is defined by the Object Define (OBD) control and the model to be utilized for odd and even numbered pages is specified along with the object areas, which are examples of presentation areas to be utilized on each page. The RTD control is then utilized to specify the various formats to be utilized for imaging the content of each marker entity. As may be seen in Figure 2, the content of marker entity C is imaged in a different format than the content of marker entities A and B. The End Master Environment Group (EMG) control is then utilized to signify the completion of the specification of the environment. Still referring to Figure 4, the data stream depicted continues with the Begin Page (BPG) control which signifies the beginning of a page which follows the odd numbered model specified above. The environment group for this page begins and the next series of controls is utilized to specify the page and define object areas A and B. The positions on the page for marker entities A, B, and C are also specified by utilizing an Object Position (OBP) control. Next, in accordance with an important feature of the present invention, a Map Marker Object (MMOB) control is then utilized to map marker entity D into object areas A, B, and C, at a series of specified locations which are listed as cartesian coordinates in the depicted example. Additionally, as illustrated, the Map Marker Object control also provides a format characterization such that marker entity D may be replicated in a different format, as discussed above. As may be seen, marker entity D within object area C is presented in format M2, as contrasted to format M1 which is utilized within object areas A and B. In this manner, the method of the present invention permits a marker entity to be consistently specified and defined at the data stream level. The position, format and content of each marker entity may be easily modified as necessary by the operator, or by an enumerative process. Another important feature of the present invention may be illustrated with reference to Figure 3 wherein a pictorial representation of a presentation of a document which includes a marker entity A which depicts an iconic representation 30 of a graphic data object B within the document. The method for producing the presentation of Figure 3 may be illustrated upon referring to Figure 5 wherein a high-level data stream representation of the presentation of Figure 3 is depicted, as well as Figure 6, in which a high-level data stream representation of a resource specification which may be utilized in conjunction with the data stream of Figure 5 is depicted. As above, the data stream example depicted in Figure 5 begins with a Begin Data Stream (BDT) control and thereafter activates a resource group characterized as resource group B. The Master Environment Group is then initiated by the BMG control and marker object 30 is defined, as above, by utilizing a Define Marker Object (DMO) control. As is illustrated, the marker object 30 is defined as including the data contained within object area B in an image type presentation which has been scaled down by a specified percent. As is illustrated in Figure 3, this particular marker definition will result in the creation of an iconic representation of the data within object area B which is displayed in object area A as a miniature representation of the data within object area B. Thereafter, the Master Environment Group ends as depicted by the EMG control. Next, the page presentation is begun, as illustrated by the Begin Page (BPG) control and a series of definition and specification controls are then utilized, as discussed above, to define an area and the position at which marker data is to be imaged within the object area. Thereafter, the business graphics object depicted within object area B is mapped to area B and marker object 30 is also mapped within object area A at position (X,Y) by the utilization of a Map Marker Object control in the manner of the present invention. Figure 6, as those skilled in the art will appreciate, depicts a resource specification which may be utilized, in a manner well known in the art, to generate the business graphics object depicted within object area B of Figure 3. This resource specification is included in the specification of this application by way of illustration and is meant only to describe one technique whereby a graphics object may be specified so it can be used to produce a marker entity which is an iconic representation of the graphics object. With reference now to Figure 7, there is depicted a logic flow diagram of the processing of a document data stream which includes marker entities in accordance with the method of the present invention. As may be seen, upon beginning at block 32, block 34 illustrates the accessing of the data stream entity in accordance with normal data stream processing procedures. Thereafter, decision block 36 is utilized to determine whether or not a marker entity has been encountered. If not, the process proceeds to block 44 and ends. In the event a marker entity is encountered as detected by decision block 36, decision block 38 is utilized to determine whether or not the marker entity encountered is a Define Marker Object control. If not, the marker object is processed as illustrated in block 40 by reference to the logic flow diagram illustrated in Figure 9. Thereafter, the process ends, as above, at block 44. In the event the marker object detected is a Define Marker Object, as determined by decision block 38, then the process proceeds to block 42 wherein the Define Marker Object may be utilized to create a marker entity for utilization within a document data stream, as illustrated in the logic flow diagram of Figure 8. Thereafter, the process again ends as depicted in block 44. Referring now to Figure 8, there is depicted a logic flow diagram of the process necessary for the creation of a marker entity for utilization within a document data stream. As above, the process begins at block 46 and block 48 illustrates the creation of a marker object. Block 50 then depicts the retrieval of the parameters which allow the user to specify a marker entity. Thereafter, blocks 52, 54, 56, and 58 may be utilized as desired to describe the format of the marker object, to determine the layout instructions for the marker object, to process the information within the marker object or to specify the data to be utilized by the marker object. In the event it is desired to modify or create the format description for a marker object, block 60 then illustrates the establishment of format controls for utilization with the marker object. If the layout instructions selected in block 54 are required, then block 62 depicts the mapping of the marker object to the desired object area. Similarly, if processing information has been selected by block 56 then block 64 is utilized to link the marker object to the appropriate marker or data manipulation routine which may be utilized, as those skilled in the art will appreciate, to provide a desired enumerative or iterative process. Finally, if data has been specified for utilization in the marker object as depicted in block 58, then block 66 illustrates the binding of the object data and type to the marker object thus created. Thereafter, block 68 is utilized to determine whether or not the parameter thus processed is the last parameter within the data stream entity and if not, the process returns to block 50 to begin again. In the event the last parameter has been determined, the process ends, as illustrated in block 70 and the process depicted in Figure 7 will end as depicted in block 44. Finally, with reference to Figure 9, there is depicted a logic flow diagram of the modification and/or manipulation of a marker entity within a document data stream. As above, the process begins at block 72 and thereafter decision block 74 is utilized to illustrate whether or not the data stream entity accessed is a reference to a marker. If not, the entity within the data stream is manipulated in accordance with the processing of the marker entity, as illustrated in block 78 and the program ends, as depicted in block 80. In the event data stream entity accessed at decision block 74 is a reference to a marker entity, then block 76 is utilized to illustrate the modification and/or manipulation of the marker entity in response to controls which are present within the data stream. As above, the process then ends, as illustrated by block 80. In summary, the method of the present invention provides a substantial improvement in the flexibility, efficiency, and useability of a data stream when there is a requirement to describe and process data generated from a numeric or other enumerative function during processing of the data stream. Marker entity data in accordance with the present invention is applicable to multiple types of data and may not be limited merely to textual data. Such data may be tied to specific object areas for imaging during presentation and may be utilized to span several separate areas on a single page or multiple pages. Additionally, the method of the present invention provides a manner in which such marker entities may be consistently defined and manipulated at the data stream level such that these processes may take place without the necessity of reducing the data stream to an image type presentation, such as a document.

Claims: A method of managing an entity including textual and/or graphical data (12, 14, 16, 18), within a document described by a data stream, independently of the content of said data stream, by defining said entity with define marker structure controls embedded in said data stream, including a Define Marker Object DMO control for specifying the physical structure and content of said entity as well as any logical relationships between said entity and other entities in said data stream, said method comprising the steps of: a) checking (36) until a given define marker structure control is encountered in said data stream, and when encountered, b) checking (38) whether said given define marker structure control is a DMO control, and: c) if said given define marker structure control is a DMO control, allowing (42, 48) to create an entity using marker structure controls embedded in said data stream and following said DMO, and if said given define marker structure control is not a DMO control, allowing (40) to modify and/or manipulate the entity defined by the DMO immediately preceding said given define marker structure control, d) repeating steps a) to c) for define marker structure controls following said given define marker structure control, until end (44) of said data stream. The method of claim 1, wherein step c) includes allowing (76, 54, 62) to specify a physical position of said entity within a presentation area of said document, and imaging said entity at said specified position. The method of claim 1 or 2 wherein step c) includes allowing (76, 58, 66) to specify selected data to be presented within said entity.

Inventors: BARKER BARBARA, EDEL THOMAS R, STARK JEFFREY A, BARKER, BARBARA, EDEL, THOMAS R., STARK, JEFFREY A.
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1989
Main classification: G06F17
IPC codes: G06F17, G06F3