Package gavo :: Package base :: Module activetags
[frames] | no frames]

Module activetags

source code

Active tags are used in prepare and insert computed material into RD trees.

And, ok, we are dealing with elements here rather than tags, but I liked the name "active tags" much better, and there's too much talk of elements in this source as it is.

The main tricky part with active tags is when they're nested. In short, active tags are expanded even when within active tags. So, if you write:

       <STREAM id="foo">
               <LOOP>
               </LOOP>
       </STREAM>

foo contains not a loop element but whatever that spit out. In particular, macros within the loop are expanded not within some FEED element but within the RD.

Classes
  ActiveTag
A mixin for active tags.
  GhostMixin
A mixin to make a Structure ghostly.
  Defaults
Defaults for macros.
  RecordingBase
An "abstract base" for active tags doing event recording.
  EventStream
An active tag that records events as they come in.
  RawEventStream
An event stream that records events, not expanding active tags.
  EmbeddedStream
An event stream as a child of another element.
  Prune
An active tag that lets you selectively delete children of the current object.
  Edit
an event stream targeted at editing other structures.
  ReplayBase
An "abstract base" for active tags replaying streams.
  DelayedReplayBase
An base class for active tags wanting to replay streams from where the context is invisible.
  ReplayedEventsWithFreeAttributesBase
An active tag that takes arbitrary attributes as macro definitions.
  ReplayedEvents
An active tag that takes an event stream and replays the events, possibly filling variables.
  NonExpandedReplayedEvents
A ReplayedEventStream that does not expand active tag macros.
  GeneratorAttribute
An attribute containing a generator working on the parse context.
  Loop
An active tag that replays a feed several times, each time with different values.
Functions
 
registerActiveTag(activeTag) source code
 
isActive(name) source code
Variables
  __package__ = 'gavo.base'