This shows you the differences between two versions of the page.
— |
causalconnector [2014/09/16 14:26] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== The <causalConnector> Element ===== | ||
+ | ==== Definition and Usage ==== | ||
+ | |||
+ | The [[causalconnector|<causalConnector>]] element represents a causal relation that may be | ||
+ | used for creating relationships ([[link|<link>]] elements) in NCL documents. In | ||
+ | a causal relation, a condition must be satisfied in order to trigger an | ||
+ | action. | ||
+ | |||
+ | A [[causalconnector|<causalConnector>]] specifies a relation independently of | ||
+ | relationships, that is, it does not specify which nodes (represented by | ||
+ | [[media|<media>]], [[context|<context>]], [[body|<body>]], and [[switch|<switch>]] elements) will | ||
+ | interact through the relation. A [[link|<link>]] element, in its turn, | ||
+ | represents a relationship of the type defined by its referred connector, | ||
+ | interconnecting different nodes. Links representing the same type of | ||
+ | relation, but interconnecting different nodes, may reuse the same connector, | ||
+ | reusing all its previous specification. | ||
+ | |||
+ | A [[causalconnector|<causalConnector>]] defines, through its child elements, a set of | ||
+ | interface points, called roles. A [[link|<link>]] element refers to a | ||
+ | [[causalconnector|<causalConnector>]] and defines a set of binds ([[bind|<bind>]] child | ||
+ | elements of the [[link|<link>]] element), which associate each link endpoint | ||
+ | (node interface) to a role of the referred connector. | ||
+ | |||
+ | Relations in NCL are based on events. An NCL event is an occurrence in time | ||
+ | that may be instantaneous or have a measurable duration. Each event defines | ||
+ | a state machine that is maintained by the NCL player (see Figure 1). | ||
+ | Moreover, every event has an associated attribute, named | ||
+ | //occurrences//, which counts how many times the event transits from | ||
+ | occurring to sleeping state during a document presentation. Events of | ||
+ | presentation and attribution types have also an attribute named | ||
+ | //repetitions//, which counts how many times the event shall be | ||
+ | automatically restarted (transited from sleeping to occurring states) by the | ||
+ | NCL player. This attribute may contain the "indefinite" value, leading to | ||
+ | an endless loop of the event occurrences until some external interruption. | ||
+ | |||
+ | [{{ :state-machine.png |Figure 1: Event state machine.}}] | ||
+ | |||
+ | NCL 3.0 EDTV profile defines the following types of events: | ||
+ | |||
+ | * presentation event: defined by the presentation of a subset of | ||
+ | information units of a media object content. Presentation events are | ||
+ | specified in NCL on [[area|<area>]] elements, or on media nodes themselves | ||
+ | (on their whole content anchors). Presentation events may also be | ||
+ | defined on composite nodes (represented by [[body|<body>]], [[context|<context>]], | ||
+ | or [[switch|<switch>]] elements), representing the presentation of information | ||
+ | units of any node inside the composite node); | ||
+ | |||
+ | * selection event: defined by the selection of a subset of information | ||
+ | units of a media object content being presented. Selection events are | ||
+ | specified in NCL on [[area|<area>]] elements, or on media nodes themselves | ||
+ | (on their whole content anchors); | ||
+ | |||
+ | * attribution event: defined by the attribution of a value to a property | ||
+ | of a node (represented by a [[media|<media>]], [[body|<body>]], or [[context|<context>]] | ||
+ | element), which must be declared in a [[property|<property>]] child element of | ||
+ | the node; and | ||
+ | |||
+ | * composition event: defined by the presentation of the structure of a | ||
+ | composite node (represented by a [[body|<body>]], [[context|<context>]], or | ||
+ | [[switch|<switch>]] element). Composition events are used to present the | ||
+ | composite map (composite organization). This functionality is optional | ||
+ | in EDTV/BDTV profiles. | ||
+ | |||
+ | |||
+ | ==== Syntax ==== | ||
+ | ^ Element ^ Attributes ^ Content ^ Parent ^ | ||
+ | | [[causalconnector|<causalConnector>]] | __//id//__ | ([[connectorparam|<connectorParam>]]*, ([[simplecondition|<simpleCondition>]] <nowiki>|</nowiki> [[compoundcondition|<compoundCondition>]]), ([[simpleaction|<simpleAction>]] <nowiki>|</nowiki> [[compoundaction|<compoundAction>]])) | [[connectorbase|<connectorBase>]] | | ||
+ | ==== Attributes ==== | ||
+ | |||
+ | ^ Name ^ Value ^ Description ^ | ||
+ | | //id// | It may receive any string value that begins with a letter or an underscore and that only contains letters, digits, <".">, and <"_">. | The //id// attribute uniquely identifies the element within a document. | | ||
+ | |||
+ | |||
+ | |||