com.sun.msv.verifier.regexp
public class CombinedChildContentExpCreator extends Object implements ExpressionVisitorVoid
For example, when the current expression is
then the combined child expression is..(A).. ..(B).. .....(C).. ....
and elements of concern and its attribute-pruned content models are..(A').. ..(B').. ..(C')..
Nested Class Summary | |
---|---|
static class | CombinedChildContentExpCreator.ExpressionPair |
Method Summary | |
---|---|
CombinedChildContentExpCreator.ExpressionPair | continueGet(Expression combinedPattern, StartTagInfo info, boolean checkTagName) |
CombinedChildContentExpCreator.ExpressionPair | get(Expression combinedPattern, StartTagInfo info, boolean checkTagName)
computes a combined child content pattern and its continuation, with error recovery.
|
CombinedChildContentExpCreator.ExpressionPair | get(Expression combinedPattern, StartTagInfo info) computes a combined child content pattern and (,if possible,) its continuation. |
ElementExp[] | getMatchedElements()
obtains matched elements.
|
boolean | isComplex()
checks if the result of 'get' method is not the union of all
elements of concern.
|
int | numMatchedElements() gets the number of matched elements.
|
void | onAnyString() |
void | onAttribute(AttributeExp exp) |
void | onChoice(ChoiceExp exp) |
void | onConcur(ConcurExp exp) |
void | onData(DataExp exp) |
void | onElement(ElementExp exp) |
void | onEpsilon() |
void | onInterleave(InterleaveExp exp) |
void | onList(ListExp exp) |
void | onMixed(MixedExp exp) |
void | onNullSet() |
void | onOneOrMore(OneOrMoreExp exp) |
void | onOther(OtherExp exp) |
void | onRef(ReferenceExp exp) |
void | onSequence(SequenceExp exp) |
void | onValue(ValueExp exp) |
Parameters: feedAttributes if this flag is false, Attribute feeding & pruning are skipped and AttributeExps are fully remained in the resulting expression. checkTagName if this flag is false, tag name check is skipped.
The extra care should be taken not to hold reference to the result longer than necessary. The contents of the result is valid only until the next invocation. Because OwnerAndContent objects are reused.
Apparently this is a bad design, but this design gives us better performance.
Returns: true if the combined child content expression is not the union of all elements of concern. false if otherwise.