Media-Doc MAP
(Markup for Authoring Presentations)


Overview

The MAP language is a growing language designed to specify appearance and behavior of a diagram in an SGML style. A MAP file is requested from the Diagram Generator server by a Diagram Generator client. The MAP language is interpreted by the client and executed on the client machine.

Language Definition

Each line of a MAP file consists of an SGML-like tag, which is called the keyword, and a set of name-value pairs, which are called the arguments. Arguments may be supplied in any order and some may be optional. As a general rule, no more than one parameter of a given type is allowed per each tag. In the case of multiple similar parameters for a same entity (e.g., menu lines for a given node of type menu), the tag name has to be repeated, one line per each parameter. Several different parameters can be specified in the same tag line, though.


Diagram Layout

<diagram>
This tag indicates that the following arguments will specify the layout of the diagram to the diagram generator. <diagram> </diagram> tags may surround a sequence of node and edge tags, but they are not mandatory.

layout
This argument specifies the default layout for the diagram. It should be one of the layout types which can be handled by a specific implementation. If the layout type is not recognized by the interpreter, then it shall pick its own default layout type. Current options are:

Tree-Vert: Vertical tree layout (default)
Tree-Horiz: Horizontal tree layout
Nested-Vert: Vertical nested layout
Nested-Horiz: Horizontal nested layout

label
This argument specifies the default title on the diagram window.

auto
yes (default): The diagram will be laid out automatically.
no: The nodes will be located according to the (x,y) positions specified in the map file

transient
yes: The diagram window will be destroyed when linking to other page.
no (default): The window will remain visible.

setlogical
This argument specifies the starting logical view for the diagram (default: setlogical=all)



<node>
A node argument specifies the attributes for a particular node in the diagram.

name
A string of characters that is used to uniquely identify the node within the diagram. Names may have spaces and are case sensitive.

x=number y=number
The x and y positions for the top left corner of the node. These values must be specified when using auto=no in <diagram>, and are ignored otherwise. BUG: x and y should be specified in the last <node...> tag of each given node for the layout to work properly.

logical
This argument specifies the logical view of the diagram to which the node belongs (default: logical=always -always present for all views-)

label
A string of characters that specifies the node label that is displayed within the node. Spaces may be used within a node label.

url
A string of characters specifies an optional url which is linked to the node. If the URL is not valid, the applet will not access it when the associated node is clicked on. While the url is optional, the label must be included within the node argument.

setlogical
This argument specifies a logical view of the diagram which is linked to the node. Clicking on the node will change the current logical view to the one specified in this tag.

rgb
RGB representation of the color to be used to shade the node.

hide
The node will be used to determine the layout, but it won't be displayed on the screen, and neither will be any edges connecting it. Possible values are yes and no (default: hide=no).

fontname
The font name of the actor (default: fontname="Helvetica").

fontsize
The font size of the edge label (default: fontsize=10).

shape
A string of characters that define the particular shape which will be used to draw the node. Options for this will be all the shapes which the diagram generator knows about. Possible values are oval, rect (rectangular, the default), menu, image (not implemented), none (node contents are shown without a bounding shape).

menulabel
When the node is of type "menu", menulabel specifies one entry in the menu. For a given menulabel, a menulink or setlogical argument can be specified.

menulink
Same functionality as "url", but for this particular menu line.

setlogical
Same functionality as node setlogical, but for this particular menu line.



<edge>
An edge argument specifies the attributes for a particular edge. A single edge may only connect two nodes, no more, no less.

name
A string of characters that is used to uniquely identify the edge within the diagram. Names may have spaces and are case sensitive.

label
A string of characters specifies the edge label which is displayed within the node. Spaces may be used within a edge label.

from
A string of characters defines the name of a node in the graph. The "from" node is the node where the edge originates. This is important for directed graphs. If the node name has not been defined with a node argument, it will be created anew.

to
A string of characters defines the name of a node in the graph. The "from" node is the node where the edge terminates. This is important for directed graphs. If the node name has not been defined with a node argument, it will be created anew.

hide
The edge will be used to determine the layout, but it won't be displayed on the screen. Possible values yes and no (default=no).

rgb
RGB representation of the color to be used to shade the edge.

fontname
The font name of the actor (default="Helvetica").

fontsize
The font size of the edge label (default=10).




Animation

<step>
A step is a discrete behavior or simultaneous set of behaviors. A step consists of one or more actors.

name
A string of characters that uniquely specifies the name of a step.

<actor>
An actor performs some type of animation. A background actor acts on a pre-defined background object, while a foreground actor must be defined and is overlaid on the background diagram. The specific actions of an actor are described in methods that are defined between tags.

layer
The layer the actor will operate in. Currently, there are two layers: the background, "bg", and the foreground, "fg". A background actor takes no additional parameters.

type
The actor type, "string" ("symbol"& "file" not implemented).

name
A symbol, string, or image to be displayed in the foreground.

rgb
The RGB color of the actor, for example "F900A0".

fontname
The font name of the actor, for example "TimesRoman".

fontsize
The font size of the actor, for example "24".

fontstyle
The font style of the actor, "BOLD" or "PLAIN".

<method>
Method tags describe behaviors that are applied to background objects and foreground actors.

permanent
Causes the changes provoked by this method to be permanent until the end of the animation, or until they are explicitly reset. Possible values "yes" and "no" (default: permanent=no).

type
A string of characters that designates the type of animation that the actor should perform.

view
Change the logical view of the diagram. Requires one field, "logical", which contains the name of the new view.

delay
Causes the animation to keep its current state for a period of time. Requires one field, "seconds", which indicates the amount of seconds to delay.

move
Move the name of an actor. This method is for foreground actors only. Requires at least four fields:

object
the type of pre-defined graph object the actor will move from

name: name of the from object

object2
the type of pre-defined graph object the actor will move to

name2: name of the to object

speed
The speed at which the actor moves from object to object2

blink
Causes an object or actor to blink.

color
Repaint an object or actor. Requires one field, "rgb", which contains the RGB value of the new color.


Back to Media-Doc homepage
Last modified on 8/12/97 by Rogelio Adobbati