Work in progress

This version may be updated without notice.

Active Tags Glossary

Working Draft 02 august 2006

Philippe Poulard  <>

Copyright © INRIA


This document contains the complete list of the definitions used in the Active Tags specifications.

Active Tags specifications

The following specifications are part of the Active Tags technologies.

Table of contents

1 Glossary

1 Glossary

A - C - D - E - F - M - P - Q - R - U


Active sheet
An ·active sheet· is an XML document that feeds an Active Tags engine. In such a document, XML tags encountered by the engine are designed to perform some actions. Actions are divided in 2 categories : An ·active sheet· may contain one or a mix of these categories of actions. Once unmarshalled, an ·active sheet· gives a processor instance.


Canonical path
The ·canonical path· of a node is an XPath expression with its namespace bindings that starts from the root node and descends from child to child until the node to consider. Each step of the path must specify the name of its node if relevant or its node type, and its position regarding the node test, except for attributes. The compact syntax is preferred to the verbose syntax (/ instead of /child::, @ instead of attribute::, etc). For example, /xcl:active-sheet[1]/xcl:logic[3]/xcl:if[2]/xcl:then[1]/xcl:parse[1] is a valid ·canonical path· if the namespace URI of the xcl prefix was also supplied. When a node test involves an attribute or an element, the prefix used is not necessary the same used in the document, for example when prefixes are redefined ; a canonical path can't be used by an XPath engine safely if a namespace mapping is not provided.
Composite property
A ·composite property· is a set of properties. A property within a ·composite property· is called an item, that may be named or unnamed. The name of a named item is a qualified name A ·composite property· can be stored like a property in a data set.
Cross operable object
A ·cross operable object· is a non-XML object that behaves as if it was an XML object. Thus, it is usable with XPath, and may support some XML operations such as insert before or append. When accessed with XPath, a ·cross operable object· may contain others ·cross operable object· not necessary of the same type. As a ·cross operable object· is related to a particular feature, it is defined in a module.


Data set
A ·data set· is a structure used to store properties. A property stored inside a ·data set· may be a single property or a collection.


An ·expression· is a string that looks like XSLT attribute value templates (AVT) : within an ·expression· , each substring surrounded by curly braces ({}) stands for an XPath expression. The differences with XSLT AVT are : An ·expression· that consists of a single XPath expression surrounded by curly braces returns an object.


Foreign attribute
A ·foreign attribute· is an XML attribute bound to a namespace URI. The term of 'foreign' stands for an attribute that is not naturally 'owned' by the element that contains it. On the opposite, one can say that an XML attribute that has no namespace URI (its name has no prefix) owned to the element that contains it.


A ·module· allows to group related features together. A ·module· consists of :


Processor instance
A ·processor instance· corresponds to an active sheet after unmarshalling; it is the active form of the XML document. A ·processor instance· is a cross operable object.
A ·property· is an object identifiable thanks to a qualified name. Properties are stored in a data set. Each property is defined with a scope that represents its accessibility. There are two types of properties :


Qualified name
A ·qualified name· is an XML name that may contain a colon. The part before the colon is called the prefix, and is bound to a namespace URI thanks to an xmlns declaration.
When the XML name doesn't contain a colon, there is no prefix in such a ·qualified name· , and its namespace URI is bound to the default namespace URI if it is about an element name, or not bound to a namespace URI otherwise.


Runtime phase
The ·runtime phase· is the phase where the processor instance runs actions. The actions described by tags are executed by the corresponding concrete classes which have been loaded during the unmarshal phase. At ·runtime· , several executions of the same active sheet may be performed simultaneously, each with its own set of datas.


Unmarshal phase
The ·unmarshal phase· is the initialization phase performed by the Active Tags engine that loads the modules according to the tags encountered in the XML active sheet and built instances of inter-dependant objects designed to produce the expected actions. This phase is performed only once to provide an instance of the processor ready to run.
An ·UFO· is an Unidentified Flying Object. Active Tags is certainly such a kind of object, although it is not obvious to make it fly.