`(12) Patent Application Publication (10) Pub. No.: US 2002/0023110 A1
`(43) Pub. Date:
`Feb. 21, 2002
`FORTIN et al.
`
`US 20020023110A1
`
`(54) DOCUMENT MARKUP LANGUAGE AND
`SYSTEMAND METHOD FOR GENERATING
`AND DISPLAYING DOCUMENTS THEREN
`
`(76) Inventors: RONALD E. FORTIN, EXETER, RI
`(US); LOUIS R. BERSHAD,
`JAMESTOWN, RI (US); BRIAN T.
`BRADY, WARWICK, RI (US)
`Correspondence Address:
`PETER J GORDON
`WOLF GREENFIELD AND SACKS
`600 ATLANTIC AVENUE
`BOSTON, MA 02210
`(*) Notice:
`This is a publication of a continued pros
`ecution application (CPA) filed under 37
`CFR 1.53(d).
`(21) Appl. No.:
`09/012,293
`(22) Filed:
`Jan. 23, 1998
`Publication Classification
`
`(51) Int. Cl. .................................................. G06F 17/00
`(52) U.S. Cl. .............................................................. 707/513
`
`(57)
`
`ABSTRACT
`
`The present invention uses a markup language that defines
`elements which improve the ability of users to view more
`complex documents, particularly graphical documents, Such
`as those based on data generated by computer-aided design,
`computer-aided Software engineering, or other data model
`ing tools. An electronically published document contains
`descriptive markup defining Several tags. Elements defined
`by tags are instantiated as objects which are responsive to
`user input. These tags define elements which are interpreted
`to define a diagram containing a plurality of layers. Each
`layer contains Several graphical objects. An object may have
`asSociated with it a menu of actions or hypertext linkS. A
`computer System or computer-implemented process pro
`ceSSes Such an electronically published document and gen
`erates on a computer display the diagram defined by the
`descriptive markup. The different layers of the document
`may be displayed Selectively. Also, the View of the diagram
`may change using a Zoom function, or it maybe refreshed,
`i.e., redisplayed, or the electronically published document
`may be reloaded and reprocessed. One or more objects may
`be selected. Selection of objects may invoke a display of a
`menu of Selectable actions which are associated with that
`object. These actions may include one or more hypertext
`linkS.
`
`AWA
`APPLET
`34
`
`FILE
`22
`
`COMPUTER SYSTEM
`20
`
`HTTP SERVER
`30
`
`NEWORK
`t-or
`
`BROWSER KH
`32
`
`USER
`INPU
`28
`
`DISPLAY
`DATA
`24
`
`Lenovo Exhibit 1008
`
`Page 1
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 1 of 26
`
`US 2002/0023110 A1
`
`
`
`Page 2
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 2 of 26
`
`US 2002/0023110 A1
`
`ld M
`
`
`
`generates
`
`rvic
`
`ld2
`
`Fi( . )
`
`Page 3
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 3 of 26
`
`US 2002/0023110 A1
`
`
`
`his state is
`decomposed in
`another diagram.
`
`16, 2s
`
`Page 4
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 4 of 26
`
`US 2002/0023110 A1
`
`
`
`of click-
`same object
`
`background menu
`
`of click
`
`or click
`
`of click
`
`
`
`
`
`done
`
`frien-up -
`no selection
`
`one thing selected
`
`service selection
`
`til- menu display
`
`f click
`
`
`
`
`
`
`
`
`
`
`
`sh
`
`or click
`
`multiple things
`selected
`
`sht- or click
`
`dore
`
`finenu-up--
`selected action
`
`group menu
`
`
`
`undisplay menu
`and invoke
`associated action
`
`feo
`
`user ext
`
`d2
`
`- G -
`
`Page 5
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 5 of 26
`
`US 2002/0023110 A1
`
`
`
`FIG, S
`
`Page 6
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 6 of 26
`
`US 2002/0023110 A1
`
`
`
`O
`
`
`
`Page 7
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 7 of 26
`
`US 2002/0023110 A1
`
`s
`
`bo
`
`o6
`
`
`
`tearsusteraraut
`
`sweete-ama wo
`
`a
`
`admitmanne
`enresoolah
`trans Enraermorrar parism researnscencomerstapleyPanpunt barn marcasnome
`
`Page 8
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 8 of 26
`
`US 2002/0023110 A1
`
`
`
`Netscape - file. rendeviavacasses thin
`
`M. Bres
`Presert
`
`one
`W.P. Engineering
`
`-
`
`Srther,
`W.P. Maketing
`
`16, 5
`
`Page 9
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 9 of 26
`
`US 2002/0023110 A1
`
`
`
`Netscape-filleryErdeviavarclasses/bithin
`
`Greeh = Primitive Process
`Blue = Non-Primitive Process
`
`16,
`
`Page 10
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 10 of 26 US 2002/0023110 A1
`
`
`
`- Netscape - file:AAEidewavailclasses?ibtb.html
`
`-1G, t0
`
`Page 11
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 11 of 26 US 2002/0023110 A1
`
`
`
`systems guild in c.
`
`Page 12
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 12 of 26
`
`US 2002/0023110 A1
`
`
`
`s
`
`Netscape file:FAC systidevicasses bib.ht
`&Es. s: Six
`
`Sassass
`
`als
`
`::
`X
`x33.
`2.
`
`s : :
`s . :
`s
`
`s
`&
`
`'s
`
`s
`
`.
`
`.
`i s
`3.
`s 3. & s
`
`&
`
`is's
`
`i. :
`E. s
`
`.
`
`.
`
`s
`
`Page 13
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 13 of 26 US 2002/0023110A1
`
`
`
`Wrarm-- Wrm
`
`at file wchiavadev classes?ibtbahti
`is:
`SS WSSY
`
`3. ... S.Š33
`:: 88s &
`Sease
`
`Page 14
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 14 of 26 US 2002/0023110 A1
`
`
`
`s
`s
`
`- 8
`
`(LG - 5
`
`Page 15
`
`
`
`Patent Application Publication
`
`Feb. 21, 2002 Sheet 15 of 26
`
`US 2002/0023110 A1
`
`©
`
`@
`
`98],
`
`SQLZ
`
`@
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 16
`
`
`
`Patent Application Publication
`
`Feb. 21, 2002. Sheet 16 of 26
`
`US 2002/0023110 A1
`
`ZOZ
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 17
`
`
`
`Patent Application Publication
`
`Feb. 21, 2002. Sheet 17 of 26
`
`US 2002/0023110 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 18
`
`
`
`Patent Application Publication
`
`Feb. 21, 2002. Sheet 18 of 26
`
`US 2002/0023110 A1
`
`ZOZ
`
`
`
`
`
`Page 19
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 19 of 26
`
`F36, 17A
`
`US 2002/0023110 A1
`Diagra
`diagrari Size:Dimension
`diagramMargin:int=10
`id:String
`type:String
`title:String
`backgroundColor:Color=
`requireslayoutbooleans
`addilayer(layer)
`Layer get layers
`boolean haslayers
`addAction(action)
`Action getActions
`enableAction(name, flag)
`Oinension size
`setSize(dimension)
`String getTitle
`setTitle(string)
`String getid
`setid(d)
`Color getColor
`setColor(color)
`seftype(string)
`String getType
`addAttribute(attribute)
`Attribute getAttributes
`draw(Graphics goat scat
`showAllSelected(Graphics
`Fayout
`normalize
`drawpoints(Graphics giflo
`boolean handleEvent(Eve
`boolean performEvent(Ev
`DiagramObject findByld(St
`Extent getObjectsExtent
`String to HGML
`
`
`
`
`
`id:String
`visible;boolean=true
`| WaitingForendingEvent:DiagramObject
`add(Objecto
`w
`settd(String id)
`String getid
`sefvisible(boolean visible)
`booleai is Visible
`draw(Graphics gifloat scale)
`
`| type:Ac
`Action Ac
`setType(
`Action ty
`add(Actio
`boolean
`boolean
`boolear C
`String to
`Actionite
`Action ?te
`enableAc
`Mendon
`
`Page 20
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 20 of 26
`
`US 2002/0023110 A1
`
`(5000,5000)
`
`gDisplayArea da)
`
`lev)
`int ev)
`
`-
`
`.
`
`-- --
`Action
`.
`.
`ionType=None
`ion(ActionType type)
`ctionType type)
`e getType
`item item)
`and Event(Event evt)
`andleEvent(Event evt,boolean adddiagramMenu)
`nHandleEvent(Event evt)
`GML
`getDefaultAction:tern
`getActionFrom Text(Sting name)
`ion(String name,boolean flag)
`structMenu(DisplayArea daboolean addOiagramMenu)
`
`F.C. 713
`
`
`
`...
`
`-
`
`Action item
`defaultitern:boolean=false
`enabledboolean=true
`Actioniten Actionltern(String name)
`setAction(Action action)
`Action getAction
`setAnchor(Anchor anchor)
`Anchor getAnchor
`setName(String name)
`String getName
`setdefautboolean flag)
`boolean getDefault
`set:Enabled(boolean enable)
`boolean senabled
`Stringto-GML
`
`------
`
`.
`J
`
`
`
`href:Stfing
`name:String
`I urn:String
`rel:String
`rev:String
`title:String
`methods:String
`target:String
`Anchor Anchor(Stri
`Anchor Anchor(Stri
`string getHRef
`setHRef(String hire
`String gettname
`setName(String na
`String getURN
`setURN(String urn)
`String getRel
`setRet(String re)
`String getRew
`setRev(String rev)
`String getTitle
`setTitle(String title)
`String getMethods
`setMethods(String
`String get target
`set larget(String ta
`String to-GML
`
`Page 21
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 21 of 26 US 2002/0023110 A1
`
`FG, TC
`
`- -
`
`-aa--
`
`fire
`galf parms")
`)
`
`e)
`
`-- - Attribute -
`Attribute Attribute T
`--- -nu- -
`add(Attribute item item)
`intsize
`String toHGML
`buildHierarchyTree(HierarchyTree tree)
`buildhierarchyTree(HierarchyTree tree, HierarchyNode node)
`
`-- - - - m
`
`has
`
`n
`
`ethods)
`get)
`
`--
`
`Attribute ttern
`-
`
`
`
`name:String
`type:String
`Attribute?tern Attributeitem(String nameString type)
`String getName
`setName(String name)
`String getType
`
`
`
`Page 22
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 22 of 26
`
`US 2002/0023110 A1
`
`FC (7D
`
`Page 23
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 23 of 26 US 2002/0023110 A1
`
`bjects(int x,inty)
`of
`oints(Graphics gifloat scale,boolean on)
`dra
`Diagramobject findobjectToHandleEvent(Event evt)
`DiagranObject findByld(String id)
`Extent getObjectsextent
`String tohGML
`
`Rotua, Calva) )
`--
`
`...-a
`
`-
`
`w
`
`-
`
`referenc
`
`
`
`
`
`
`
`
`
`
`
`
`
`format:int
`in outint
`offsetx:float
`offsetY:float
`offsetByPercentage:boolean
`Attachment Attachment(AIt Params"
`setformat(int formatint in out)
`int getFormat
`int getinout
`DiagramObject getAttached
`float getOffsetx
`float getOffsetY
`boolean offsettsPercentage
`String toGML
`String toString
`
`Page 24
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 24 of 26 US 2002/0023110 A1
`
`D.
`
`m. Mesa Systems suild HGMLApplet Diagrat
`
`2OuJ2, Col - M2
`
`6
`
`Diagram Object
`
`- - - -
`
`-
`
`- -
`
`-a 'rm
`
`are-
`ar
`Fa 6, -
`
`
`
`--- m-- - - - -
`
`-
`
`as - - - -
`enable:boolean
`description:Textblock
`type:String
`DiagramObject DiagramObject(Stringid)
`DiagramObject DiagramObject(String id,Shape shape. TextBlock description)
`DiagramObject DiagramObject(String id,Shape shape.String type,textBlock description)
`paint(Graphics g,float scale)
`layout
`addAttribute(Attribute att)
`attach(Attachment att)
`Attachment getAttachment
`set.d(String id)
`String getld
`String getType
`setType(String type)
`setShape(Shape shape)
`seterable(boolean enable)
`boolean isnablisd
`TextBlock getDescription
`setDescription(TextBlock description)
`processevent(Event evt)
`select(boolean select)
`offset(intx,inty)
`String toHGML
`
`Shape getShape
`
`
`
`...n
`
`Group Object
`
`layout
`paint(Graphics gifloat scale)
`
`-
`
`
`
`- - -
`Single Object
`layout T
`paint(Graphics g,float scale)
`
`nam
`
`Page 25
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 25 of 26 US 2002/0023110 A1
`foul 2-, (/vp-11 is
`m Mesa' Systems Guild HGML. A setValue(Tock value)
`TextBlock getValue
`setChild(Attribute attribute)
`Attribute getChild
`boolean haschild
`
`116, 176
`
`
`
`
`
`---
`SelectedObjects
`Selected.Objects SelectedObjects
`toggle:Selection(Graphics g,Diagrarnobject do, DisplayArea da)
`Select(Graphics g, DiagramObject do, DisplayArea da)
`deselect(Graphics g,OiagramObject do,DisplayArea da)
`show(GraphicsgDiagramObject do. Display area da)
`boolean isselected(DiagramObject do)
`DiagramObject getFirst
`deselectAll(Graphics g,DisplayArea da)
`showAltSelected (Graphics g.DisplayArea da)
`
`Page 26
`
`
`
`Patent Application Publication Feb. 21, 2002 Sheet 26 of 26
`
`US 2002/0023110 A1
`
`gram Mesa' Systems Guild HGML. Applet: Diagra
`
`IGH
`
`Page 27
`
`
`
`US 2002/0023110 A1
`
`Feb. 21, 2002
`
`DOCUMENT MARKUP LANGUAGE AND SYSTEM
`AND METHOD FOR GENERATING AND
`DISPLAYING DOCUMENTS THEREN
`
`FIELD OF THE INVENTION
`0001. The present invention is related to the generation
`and processing of documents in a markup language.
`
`BACKGROUND OF THE INVENTION
`0002 Markup languages, Such as the Standard general
`ized markup language (SGML), and variants thereof, have
`been used previously in electronic publishing. One advan
`tage of a markup language, rather than a particular data file
`format, is that a markup language defines elements which
`describe the Structure of a document. In Such a document,
`markup language elements include tags and their content,
`Such as text, graphics, pointers to other documentary or
`other media. Tags may include Start tags, end tags, or empty
`tags. A Start tag begins a markup element. An end tag ends
`the corresponding markup element. These start and end tags
`generally define the boundaries of an element. An empty tag
`is understood as being both a start and an end tag with no
`content. These tags and their content are interpreted when
`the document is rendered to display the content of the
`document according to a desired format. One form of
`markup language is the hypertext markup language (HTML)
`which is commonly used in a client-Server System to dis
`tribute electronic documents. These documents are typically
`transferred using the hypertext transfer protocol (HTTP)
`over the Internet or other computer network using the
`TCP/IP protocol. Other markup languages include the vir
`tual reality modeling language (VRML) and HyTime,
`among other markup languages.
`0.003 Markup languages generally have been used to
`define the Structure of electronic documents. When graphics
`are used within these documents, they are imported into Such
`documents by using a tag, Such as the “-IMG> tag in
`HTML. This tag uses a reference to a data file in some
`graphic file format to import the image data. Additionally,
`Such markup languages typically have a mechanism to
`provide a hypertext link from a location in one document to
`a location in another document.
`0004. While markup languages have many useful fea
`tures, they also have Some limitations. For example, in
`HTML, each element can have a hypertext link to only one
`other element or file. Similarly, in HTML, graphics require
`an image file already to be created. The entire image is
`displayed. HTML browsers generally do not allow selective
`Viewing of only a portion of an image or otherwise allow a
`browser to "Zoom’ in and out on an image.
`0005) Further, these HTML documents contain static
`content, and when updated, need to be reloaded from a
`server. In addition, updated HTML documents need to be
`created manually and deposited in Server directories, creat
`ing additional work for a document administrator.
`
`SUMMARY OF THE INVENTION
`0006 The present invention uses a markup language that
`defines elements which improve the ability of users to view
`more complex documents, particularly graphical documents,
`Such as those based on data generated by computer-aided
`
`design, computer-aided Software engineering, or other data
`modeling tools. Further, one embodiment of the present
`invention allows a display of an electronic document to
`dynamically change in response to user input.
`0007 Accordingly, one aspect of the present invention is
`an electronically published document containing descriptive
`markup defining Several tags. These tags define elements
`which are interpreted to define a diagram containing a
`plurality of layers. Each layer contains Several graphical
`objects. An object may have associated with it a menu of
`actions or hypertext linkS.
`0008 Another aspect of the invention is a computer
`System or computer-implemented process which processes
`Such an electronically published document and generates on
`a computer display the diagram defined by the descriptive
`markup. Elements of the electronic document are instanti
`ated as objects which may be responsive to user input. These
`objects may be graphics objects which respond to events
`received from the user through the computer System. The
`different layers of the document may be displayed Selec
`tively. Also, the View of the diagram may change using a
`Zoom function, or it may be refreshed, i.e., redisplayed, or
`the electronically published document may be reloaded and
`reprocessed. One or more objects may be Selected. Selection
`of objects may invoke a display of a menu of Selectable
`actions which are associated with that object. These actions
`may include one or more hypertext linkS.
`0009. Another aspect of the invention is a computer
`System for generating and displaying electronically pub
`lished documents having a plurality of markup elements, the
`computer System comprising a display configured to display
`an input electronic document to a user and a processor which
`processes the input electronic document and generates a first
`image on the display of the computer System on the basis of
`the plurality of markup elements, wherein the processor is
`responsive to an input of the user to generate a Second image
`of the input electronic document based on the user input.
`0010. In another aspect of the invention, the processor
`instantiates a first object corresponding to at least one of the
`plurality of markup elements. In another aspect at least one
`of the plurality of markup elements is a graphics element. In
`another aspect of the invention the processor instantiates an
`object corresponding to the graphics element.
`0011) Another aspect of the invention is a computer
`System wherein the processor instantiates a parser object
`configured to parse the input electronic document. In
`another aspect of the invention is a computer System
`wherein the processor instantiates a Second object having a
`defined relation to the first object and is adapted to change
`a representation of the Second object when a representation
`of the first object is changed. In another aspect of the
`invention, the processor instantiates a view handler object
`that responds to user input.
`0012. In another aspect of the invention the processor
`instantiates a parser object configured to parse the input
`electronic document and wherein the processor instantiates
`a diagram object based on the plurality of markup elements.
`In yet another aspect of the invention, wherein the diagram
`object includes a plurality of shape objects which represent
`graphic markup elements. In another aspect of the invention,
`the diagram object includes a plurality of layers with which
`are associated each of the plurality of Shape objects.
`
`Page 28
`
`
`
`US 2002/0023110 A1
`
`Feb. 21, 2002
`
`0013 In another aspect of the invention is a computer
`System according wherein the processor is adapted to a
`display one or more of the plurality of layers.
`0.014.
`In yet another aspect of the invention, selection of
`a graphics object by a user invokes a menu of Selectable
`actions.
`0.015. In another aspect of the invention is a computer
`System wherein one or more of the Selectable actions have
`an associated link to another input electronic document. In
`another aspect of the invention, the first object is responsive
`to the user input and wherein the processor generates an
`updated display of the first object based on the user input.
`0016. Another aspect of the invention is a computer
`System wherein the first object is associated with a graphics
`element, and is responsive to a function and wherein the
`function provides the updated display is different than an
`original display of the first object. Another aspect of the
`invention is computer System wherein the processor instan
`tiates a Second graphics object having a defined relation to
`the first graphics object and is adapted to change a repre
`Sentation of the Second graphics object when the original
`display is updated.
`0.017. Accordingly, another aspect of the present inven
`tion is an electronically published document comprising a
`computer readable medium with computer logic Stored
`thereon and defining descriptive markup defining Several
`tags, wherein each tag defines an element, wherein an
`element is interpreted to define a diagram containing a
`plurality of layers, wherein each layer contains Several
`graphical objects, and wherein each object may have asso
`ciated there with a menu of actions or hypertext linkS.
`0.018. Another aspect of the invention is a computer
`System or computer-implemented process which processes
`Such an electronically published document and generates on
`a computer display the diagram defined by the descriptive
`markup, wherein the different layers of the document are
`displayed Selectively.
`0.019
`Accordingly, another aspect of the invention is a
`computer-readable medium having computer-readable logic
`Stored therein defining a data Structure for representing an
`electronic document, the data structure comprising means
`defining the electronic document as a plurality of markup
`elements defining a first one of the plurality of markup
`elements wherein the one includes an attribute expressing an
`inheritance relation to a Second element that is at a same
`hierarchical level as the first one.
`0020. Another aspect of the invention is a computer
`readable medium wherein the one of the plurality of markup
`elements may be instantiated as an object by a computer
`proceSS.
`0021 Another aspect of the invention is a computer
`readable medium wherein the one of the plurality of markup
`elements is a graphics element.
`0022. Another aspect of the invention is a computer
`readable medium the data Structure further comprising
`means for defining a menu having Selections associated with
`the one, wherein each element has an associated link.
`0023. Another aspect of the invention is a computer
`readable medium wherein the first and Second elements are
`
`graphical elements, and wherein an interpreted display of the
`first element depends on attributes of the Second object.
`0024. Another aspect of the invention is an object-ori
`ented computer System for generating and displaying an
`electronic document including a plurality of markup lan
`guage elements, the System comprising of a parser object
`class wherein an instance of the parser object class com
`prises a method adapted to parse the electronic document, a
`diagram object class wherein an instance of the diagram
`object class is generated by the parser object class and
`comprises a plurality of Shape objects representing graphic
`elements and a view handler object class wherein an
`instance of the view handler object class comprises a method
`for manipulating the diagram object used by the parser
`object class to generate an updated diagram object.
`0025. Another aspect of the invention is an object-ori
`ented System wherein a first instance of the shape object
`class has a defined relation to a Second instance of the shape
`object class and is adapted by a change in the Second
`instance.
`0026. Another aspect of the invention is a method for
`generating and displaying an electronically-published docu
`ment having a plurality of markup elements, the method
`comprising the Steps of parsing an input electronic docu
`ment, generating a display of the input electronic document,
`responding to a user input by generating a different display
`of the electronic document based on the user input.
`0027. Another aspect of the invention is a method
`wherein the parsing Step includes the Steps of reading a
`markup element of the input electronic document and instan
`tiating a first object associated with the markup element.
`0028. Yet, another aspect of the invention is a method
`wherein the responding and generating Step includes the
`Steps of determining a change in the first object based upon
`the user input determining a change in a Second object based
`on the change in the first object and generating a display of
`the changed first and Second objects.
`0029. Another aspect of the invention is a method
`wherein the first and Second objects are graphics objects and
`the change in the first object is a change in Zoom.
`0030. Another aspect of the invention is a method
`wherein the input electronic document comprises a plurality
`of markup elements with at least one of the markup elements
`being a graphics element, and wherein the responding Step
`includes the Steps of displaying the graphics element and
`generating, in response to the user input, a different display
`of the graphics element.
`0031) Another aspect of the invention is a method for
`processing an electronically-published document having a
`plurality of markup elements, the method comprising the
`Steps of parsing an input electronic document, reading a
`plurality of markup elements of the input electronic docu
`ment, instantiating objects corresponding to the plurality of
`markup elements, and generating output and accepting
`inputs, by at least one object to a user.
`0032. Further features and advantages of the present
`invention as well as the Structure and operation of various
`embodiments of the present invention are described in detail
`below with reference to the accompanying drawings.
`
`Page 29
`
`
`
`US 2002/0023110 A1
`
`Feb. 21, 2002
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`In the drawings,
`0033)
`0034 FIG. 1 is a data flow diagram illustrating a com
`puter network as an example embodiment in which the
`present invention may be used;
`0.035
`FIG. 2 is a module dependency diagram of a
`display System in accordance with one embodiment of the
`present invention;
`0.036
`FIG. 3 is a state diagram of a program for display
`ing a document;
`0037 FIG. 4 is a state diagram of the state of servicing
`user interface events in FIG. 3;
`0038 FIG. 5 is an object model of the diagram object in
`FIG. 2;
`FIG. 6 is an object model of the shape object class
`0.039
`illustrated in FIG. 5;
`0040 FIG. 7 is an object model of the view handler
`shown in FIG. 2;
`0041
`FIG. 8 is a display generated from the sample
`document of Appendix II;
`0.042
`FIG. 9 is a display generated from the sample
`document of Appendix III;
`0.043
`FIG. 10 is a display of a document generated by
`Appendix III;
`0044 FIG. 11 is a display generated from the sample
`document of Appendix IV;
`004.5
`FIG. 12A is a diagram of an interface for allowing
`Zooming of the displayed diagram;
`0.046
`FIG. 12B is a diagram of an interface for allowing
`Selection of layers of the diagram;
`0047 FIG. 13 is a display generated from the sample
`document of Appendix V,
`0.048
`FIG. 14 is a display generated using selected layers
`from the display of FIG. 13;
`0049 FIG. 15 is a display generated with all selected
`layers of the document of Appendix V,
`0050 FIGS. 16A-16F are parts of an enlarged view of
`FIG. 7; and
`0051 FIGS. 17A-17H are parts of an enlarged view of
`FIG 5.
`
`DETAILED DESCRIPTION
`0.052 The present invention will be more completely
`understood through the following detailed description which
`should be read in conjunction with the attached drawing in
`which Similar reference numbers indicate Similar structures.
`All references cited herein are expressly incorporated by
`reference.
`0.053
`Electronically published documents may be using
`descriptive markup, i.e., tags, which define a hierarchical
`Structure of a plurality of elements. Such a markup language
`is the Standard generalized markup language (SGML). A
`document may be represented using a structure that is
`defined as a document type within the SGML standard. The
`
`document type definition for a markup language used in one
`embodiment of the present invention is found in Appendix
`I, which is incorporated herein by reference. Sample docu
`ments in this language are in Appendices II, III, IV and V,
`which are incorporated by reference.
`0054) Referring now to FIG. 1, one embodiment of the
`present invention will now be described. It should be under
`stood that there are several different embodiments which are
`possible, and that the invention is not limited to the one
`described.
`0055 FIG. 1 illustrates a computer system 20 which
`receives as one input a data file 22 which contains a
`document in a markup language, Such as the language of the
`document type shown in Appendix I. The computer System
`20 generates display data 24 and processes user requests 26.
`0056. A suitable computer system 20 typically includes
`an output device which displays information to a user. The
`computer System includes a main unit connected to the
`output device and an input device, Such as a keyboard. The
`main unit generally includes a processor connected to a
`memory System via an interconnection mechanism. The
`input device is also connected to the processor and memory
`System via the connection mechanism, as is the output
`device.
`0057. It should be understood that one or more output
`devices may be connected to the computer System. Example
`output devices include a cathode ray tube (CRT) display,
`liquid crystal displays (LCD), printers, communication
`devices Such as a modem or network interface, and audio
`output. It should also be understood that one or more input
`devices may be connected to the computer System. Example
`input devices include a keyboard, keypad, track ball, mouse,
`pen and tablet, communication device, audio input and
`Scanner. It should be understood the invention is not limited
`to the particular input or output devices used in combination
`with the computer System or to those described herein.
`0058. The computer system 20 may be a general purpose
`computer System which is programmable using a high level
`computer programming language, Such as the “C”, “C++',
`and “Java” programming languages (Java is a trademark of
`Sun MicroSystems, Inc.). Other programming languages are
`available. The computer System may also be specially pro
`grammed, Special purpose hardware. In a general purpose
`computer System, the processor is typically a commercially
`available processor, of which the Series x86 processors, Such
`as the Pentium II processor with MMX technology available
`from Intel and similar devices from AMD and Cyrix, and the
`680X0 series microprocessors available from Motorola are
`examples (Pentium and Intel are registered trademarks of the
`Intel Corporation, MMX is a trademark of the Intel Corpo
`ration, AMD is a trademark of Advanced Micro Devices,
`Inc., Cyrix is a registered trademark of the Cyrix Corpora
`tion, and Motorola is a trademark of Motorola, Inc.). Many
`other processors are available. Such a microprocessor
`executes a program called an operating System, of which the
`Windows NT, Windows 95, UNIX, DOS, VMS, ULTRIX,
`IRIX, Solaris, VxWorks, OS/Warp, MacOS, and Intranet
`Ware operating systems are examples (Windows, DOS, and
`Microsoft are registered trademarks; and Windows NT is a
`trademark of the Microsoft Corporation, VMS and ULTRIX
`are trademarks of Digital Equipment Corporation, IRIX is a
`registered trademark of Silicon Graphics, Inc., Solaris is a
`
`Page 30
`
`
`
`US 2002/0023110 A1
`
`Feb. 21, 2002
`
`registered trademark of Sun Microsystems, OS/Warp is a
`registered trademark of International BusineSS Machines,
`Inc., and MacOS is a registered trademark of the Apple
`Corporation). The operating System controls the execution
`of other computer programs and provides Scheduling,
`debugging, input/output control, accounting, compilation,
`Storage assignment, data management and memory manage
`ment, and communication control and related Services. The
`processor and operating System define a computer platform
`for which application programs in high-level programming
`languages are Written.
`0059 A memory system typically includes a computer
`readable and writeable nonvolatile recording medium, of
`which a magnetic disk, a flash memory and tape are
`examples. The disk may be removable, Such as a floppy disk
`or removable hard drive, or permanent, Such as an internal
`hard drive. A disk has a number of tracks in which Signals
`are Stored, typically in binary form, i.e., a form interpreted
`as a Sequence of ones and ZeroS. Such Signals may define an
`application program to be executed by the microprocessor,
`or information stored on the disk to be processed by the
`application program. Typically, in operation, the processor
`causes data to be read from the nonvolatile recording
`medium into an integrated circuit memory element, which is
`typically a volatile, random access memory Such as a
`dynamic random access memory (DRAM) or static memory
`(SRAM). Other memory types are available. The integrated
`circuit memory element allows for faster access to the
`information by the processor than does the disk. The pro
`cessor generally manipulates the data within the integrated
`circuit memory and then copies the data to the disk when
`processing is completed. A variety of mechanisms are
`known for managing data movement between the disk and
`the integrated circuit memory element, and the invention is
`not limited thereto. It should also be understood that the
`invention is not limited to a particular memory System.
`0060. It should be understood the invention is not limited
`to a particular computer platform, particular processor, or
`particular high-level programming language. Additionally,
`the computer System 20 may be a multiprocessor computer
`System or may