Bases: ResultVisitor
Provides an xUnit-compatible result file.
Attempts to adhere to the de facto schema guessed by Peter Reilly, see: http://marc.info/?l=ant-dev&m=123551933508682
Source code in src/robot/reporting/xunitwriter.py
                    
                  
    Implements traversing through suites.
Can be overridden to allow modifying the passed in suite without
calling :meth:start_suite or :meth:end_suite nor visiting child
suites, tests or setup and teardown at all.
Source code in src/robot/model/visitor.py
              
    Called when a test starts. Default implementation does nothing.
Can return explicit False to stop visiting.
    
    Called when a keyword starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a keyword ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Implements traversing through FOR loops.
Can be overridden to allow modifying the passed in for_ without
calling :meth:start_for or :meth:end_for nor visiting body.
Source code in src/robot/model/visitor.py
              
    Called when a FOR loop starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a FOR loop ends.
By default, calls :meth:end_body_item which, by default, does nothing.
Implements traversing through single FOR loop iteration.
This is only used with the result side model because on the running side there are no iterations.
Can be overridden to allow modifying the passed in iteration without
calling :meth:start_for_iteration or :meth:end_for_iteration nor visiting
body.
Source code in src/robot/model/visitor.py
              
    Called when a FOR loop iteration starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
Called when a FOR loop iteration ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Implements traversing through IF/ELSE structures.
Notice that if_ does not have any data directly. Actual IF/ELSE
branches are in its body and they are visited separately using
:meth:visit_if_branch.
Can be overridden to allow modifying the passed in if_ without
calling :meth:start_if or :meth:end_if nor visiting branches.
Source code in src/robot/model/visitor.py
              
    Called when an IF/ELSE structure starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when an IF/ELSE structure ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Implements traversing through single IF/ELSE branch.
Can be overridden to allow modifying the passed in branch without
calling :meth:start_if_branch or :meth:end_if_branch nor visiting body.
Source code in src/robot/model/visitor.py
              
    Called when an IF/ELSE branch starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when an IF/ELSE branch ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Implements traversing through TRY/EXCEPT structures.
This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE
and FINALLY branches are visited separately using :meth:visit_try_branch.
Source code in src/robot/model/visitor.py
              
    Called when a TRY/EXCEPT structure starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a TRY/EXCEPT structure ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Visits individual TRY, EXCEPT, ELSE and FINALLY branches.
    Called when TRY, EXCEPT, ELSE or FINALLY branches start.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
    Called when TRY, EXCEPT, ELSE and FINALLY branches end.
By default, calls :meth:end_body_item which, by default, does nothing.
    Implements traversing through WHILE loops.
Can be overridden to allow modifying the passed in while_ without
calling :meth:start_while or :meth:end_while nor visiting body.
Source code in src/robot/model/visitor.py
              
    Called when a WHILE loop starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a WHILE loop ends.
By default, calls :meth:end_body_item which, by default, does nothing.
Implements traversing through single WHILE loop iteration.
This is only used with the result side model because on the running side there are no iterations.
Can be overridden to allow modifying the passed in iteration without
calling :meth:start_while_iteration or :meth:end_while_iteration nor visiting
body.
Source code in src/robot/model/visitor.py
              
    Called when a WHILE loop iteration starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
Called when a WHILE loop iteration ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    
    Called when a VAR element starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a VAR element ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    
    Called when a RETURN element starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a RETURN element ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    
    Called when a CONTINUE element starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
    Called when a CONTINUE element ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    
    Called when a BREAK element starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a BREAK element ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Visits body items resulting from invalid syntax.
Examples include syntax like END or ELSE in wrong place and
invalid setting like [Invalid].
Source code in src/robot/model/visitor.py
              
    Called when a ERROR element starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a ERROR element ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Implements visiting messages.
Can be overridden to allow modifying the passed in msg without
calling :meth:start_message or :meth:end_message.
Source code in src/robot/model/visitor.py
              
    Called when a message starts.
By default, calls :meth:start_body_item which, by default, does nothing.
Can return explicit False to stop visiting.
Source code in src/robot/model/visitor.py
              
            
    Called when a message ends.
By default, calls :meth:end_body_item which, by default, does nothing.
    Called, by default, when keywords, messages or control structures start.
More specific :meth:start_keyword, :meth:start_message, :meth:start_for`,
etc. can be implemented to visit only keywords, messages or specific control
structures.
Can return explicit False to stop visiting. Default implementation does
nothing.
Source code in src/robot/model/visitor.py
              
    Called, by default, when keywords, messages or control structures end.
More specific :meth:end_keyword, :meth:end_message, :meth:end_for`,
etc. can be implemented to visit only keywords, messages or specific control
structures.
Default implementation does nothing.