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

Class RawEventStream

source code

              object --+                    
                       |                    
 structure.StructureBase --+                
                           |                
              object --+   |                
                       |   |                
           common.Parser --+                
                           |                
structure.ParseableStructure --+            
                               |            
             structure.Structure --+        
                                   |        
                       RecordingBase --+    
                                       |    
                          object --+   |    
                                   |   |    
                          GhostMixin --+    
                                       |    
                          object --+   |    
                                   |   |    
                           ActiveTag --+    
                                       |    
                             EventStream --+
                                           |
                                          RawEventStream

An event stream that records events, not expanding active tags.

Normal event streams expand embedded active tags in place. This is frequently what you want, but it means that you cannot, e.g., fill in loop variables through stream macros.

With non-expanded streams, you can do that:

       <NXSTREAM id="cols">
               <LOOP listItems="\stuff">
                       <events>
                               <column name="\item"/>
                       </events>
               </LOOP>
       </NXSTREAM>
       <table id="foo">
               <FEED source="cols" stuff="x y"/>
       </table>

Note that the normal innermost-only rule for macro expansions within active tags does not apply for NXSTREAMS. Macros expanded by a replayed NXSTREAM will be re-expanded by the next active tag that sees them (this is allow embedded active tags to use macros; you need to double-escape macros for them, of course).

Nested Classes

Inherited from structure.StructureBase: __metaclass__

Instance Methods

Inherited from EventStream: end_

Inherited from RecordingBase: __init__, feedEvent, getEventSource, iterEvents, start_, unexpandMacros, value_

Inherited from structure.Structure: __provides__, callCompletedCallbacks, completeElement, finishElement, onElementComplete, validate

Inherited from structure.ParseableStructure: feed, feedFrom, feedObject, getAttribute

Inherited from structure.StructureBase: __providedBy__, adopt, breakCircles, change, copy, getAttributes, getCopyableAttributes, getSourcePosition, iterChildren, setPosition

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods

Inherited from structure.StructureBase: fromStructure

Class Variables
  name_ = 'NXSTREAM'
hash(x)
  ACTIVE_NOEXPAND = None
hash(x)

Inherited from RecordingBase: attrSeq, managedAttrs

Inherited from structure.Structure: __implemented__

Inherited from structure.StructureBase: completedCallbacks

Properties

Inherited from object: __class__