org.apache.ws.commons.schema.walker
Interface XmlSchemaVisitor

All Known Implementing Classes:
XmlSchemaStateMachineGenerator

public interface XmlSchemaVisitor

Defines a visitor interface for notifications when walking an XmlSchema using the XmlSchemaWalker.

Use this interface in conjunction with XmlSchemaWalker to receive events as an XmlSchema is traversed.


Method Summary
 void onEndAttributes(XmlSchemaElement element, XmlSchemaTypeInfo typeInfo)
          This method is called when all of the attributes have been processed (provided the element has a type defined).
 void onEnterAllGroup(XmlSchemaAll all)
          Called when an all group is entered.
 void onEnterChoiceGroup(XmlSchemaChoice choice)
          Called when a choice group is entered.
 void onEnterElement(XmlSchemaElement element, XmlSchemaTypeInfo typeInfo, boolean previouslyVisited)
          A notification that an XmlSchemaElement has been entered.
 void onEnterSequenceGroup(XmlSchemaSequence seq)
          Called when a sequence is entered.
 void onEnterSubstitutionGroup(XmlSchemaElement base)
          This method is called when the walker enters a substitution group.
 void onExitAllGroup(XmlSchemaAll all)
          Called when an all group is exited.
 void onExitChoiceGroup(XmlSchemaChoice choice)
          Called when a choice group is exited.
 void onExitElement(XmlSchemaElement element, XmlSchemaTypeInfo typeInfo, boolean previouslyVisited)
          Signifies the end of the element that was previously entered.
 void onExitSequenceGroup(XmlSchemaSequence seq)
          Called when a sequence is exited.
 void onExitSubstitutionGroup(XmlSchemaElement base)
          Called when the end of the substitution group is reached.
 void onVisitAny(XmlSchemaAny any)
          Called when a wildcard element is entered.
 void onVisitAnyAttribute(XmlSchemaElement element, XmlSchemaAnyAttribute anyAttr)
          Called when a wildcard attribute is visited.
 void onVisitAttribute(XmlSchemaElement element, XmlSchemaAttrInfo attrInfo)
          This method is called for each attribute associated with the element, providing the XmlSchemaAttrInfo representing that attribute.
 

Method Detail

onEnterElement

void onEnterElement(XmlSchemaElement element,
                    XmlSchemaTypeInfo typeInfo,
                    boolean previouslyVisited)
A notification that an XmlSchemaElement has been entered. The element returned will be a true representation of the element at that point in the schema: if the schema defines a reference, the reference is followed and merged with its global definition.

The first time this element is reached, all of its attributes will be visited (if any). Once the attributes have been visited, onEndAttributes(XmlSchemaElement, XmlSchemaTypeInfo) will be called. The only exception is when the element has no type information, at which point the next call will be to onExitElement(XmlSchemaElement, XmlSchemaTypeInfo, boolean).

On all subsequent visits to this element, previouslyVisited will be set to true and the attributes will not be revisited. The next call will be to onExitElement(XmlSchemaElement, XmlSchemaTypeInfo, boolean), as all of the element's attributes and children have already been provided.

Parameters:
element - The element the walker is currently entering.
typeInfo - The type information of that element.
previouslyVisited - Whether the element was previously visited.

onExitElement

void onExitElement(XmlSchemaElement element,
                   XmlSchemaTypeInfo typeInfo,
                   boolean previouslyVisited)
Signifies the end of the element that was previously entered. Provides the same information about the element as was provided in onEnterElement(XmlSchemaElement, XmlSchemaTypeInfo, boolean) in the event it is easier to process on exit.

Parameters:
element - The element the walker is currently exiting.
typeInfo - The type information of that element.
previouslyVisited - Whether the element was previously visited.

onVisitAttribute

void onVisitAttribute(XmlSchemaElement element,
                      XmlSchemaAttrInfo attrInfo)
This method is called for each attribute associated with the element, providing the XmlSchemaAttrInfo representing that attribute.

Parameters:
element - The element owing the attribute.
attrInfo - The attribute information.

onEndAttributes

void onEndAttributes(XmlSchemaElement element,
                     XmlSchemaTypeInfo typeInfo)
This method is called when all of the attributes have been processed (provided the element has a type defined). This is a convenience method to allow the visitor to be notified when no more attributes are coming, and the walker will be traversing the element's children.

Parameters:
element - The element the walker is traversing.
typeInfo - Type information about the element, if it is easier to process here.

onEnterSubstitutionGroup

void onEnterSubstitutionGroup(XmlSchemaElement base)
This method is called when the walker enters a substitution group. This method is called providing the base type, and then onEnterElement(XmlSchemaElement, XmlSchemaTypeInfo, boolean) is called for all types in the substitution group, starting with the base type.

The only exception is when the base type of the substitution group is abstract (XmlSchemaElement.isAbstract() returns true ). When this happens, onEnterElement(XmlSchemaElement, XmlSchemaTypeInfo, boolean) is not called with the abstract type, as there is no information to provide.

If the root element is the base of a substitution group, this method will be the first one called. Otherwise, onEnterElement(XmlSchemaElement, XmlSchemaTypeInfo, boolean) will be called with the root element.

Parameters:
base - The XmlSchemaElement representing the base of the substitution group.

onExitSubstitutionGroup

void onExitSubstitutionGroup(XmlSchemaElement base)
Called when the end of the substitution group is reached. The base element of the substitution group is provided for convenience.

Parameters:
base - The base element of the subtitution group.

onEnterAllGroup

void onEnterAllGroup(XmlSchemaAll all)
Called when an all group is entered.

Parameters:
all - The XmlSchemaAll representing the all group.

onExitAllGroup

void onExitAllGroup(XmlSchemaAll all)
Called when an all group is exited.

Parameters:
all - The XmlSchemaAll representing the all group.

onEnterChoiceGroup

void onEnterChoiceGroup(XmlSchemaChoice choice)
Called when a choice group is entered.

Parameters:
all - The XmlSchemaChoice representing the choice group.

onExitChoiceGroup

void onExitChoiceGroup(XmlSchemaChoice choice)
Called when a choice group is exited.

Parameters:
all - The XmlSchemaChoice representing the choice group.

onEnterSequenceGroup

void onEnterSequenceGroup(XmlSchemaSequence seq)
Called when a sequence is entered.

Parameters:
seq - The XmlSchemaSequence representing the sequence.

onExitSequenceGroup

void onExitSequenceGroup(XmlSchemaSequence seq)
Called when a sequence is exited.

Parameters:
seq - The XmlSchemaSequence representing the sequence.

onVisitAny

void onVisitAny(XmlSchemaAny any)
Called when a wildcard element is entered.

Parameters:
any - The XmlSchemaAny representing the wildcard element.

onVisitAnyAttribute

void onVisitAnyAttribute(XmlSchemaElement element,
                         XmlSchemaAnyAttribute anyAttr)
Called when a wildcard attribute is visited. If an element has a wildcard element, this will be called after all other attributes have been visited, and before the call to onEndAttributes(XmlSchemaElement, XmlSchemaTypeInfo).

Parameters:
element - The owning element.
anyAttr - The XmlSchemaAnyAttribute representing the wildcard attribute.


Copyright © 2004-2015 The Apache Software Foundation. All Rights Reserved.