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