com.sun.msv.grammar

Class ElementExp

public abstract class ElementExp extends Expression implements NameClassAndExpression

Element declaration. For RELAX, this is a base implementation of 'elementRule' declaration. For TREX, this is a base implementation of 'element' pattern. Each grammar must/can provide only one concrete implementation. Therefore, they cannot override visit method.

This class can be extended.

Author: Kohsuke KAWAGUCHI

Field Summary
ExpressioncontentModel
content model of this element declaration.
booleanignoreUndeclaredAttributes
a flag that indicates undeclared attributes should be ignored.
Constructor Summary
ElementExp(Expression contentModel, boolean ignoreUndeclaredAttributes)
Method Summary
booleanequals(Object o)
ExpressiongetContentModel()
abstract NameClassgetNameClass()
obtains a constraint over tag name.
Objectvisit(ExpressionVisitor visitor)
Expressionvisit(ExpressionVisitorExpression visitor)
booleanvisit(ExpressionVisitorBoolean visitor)
voidvisit(ExpressionVisitorVoid visitor)

Field Detail

contentModel

public Expression contentModel
content model of this element declaration.

ignoreUndeclaredAttributes

public boolean ignoreUndeclaredAttributes
a flag that indicates undeclared attributes should be ignored.

Constructor Detail

ElementExp

public ElementExp(Expression contentModel, boolean ignoreUndeclaredAttributes)

Method Detail

equals

public final boolean equals(Object o)

getContentModel

public final Expression getContentModel()

getNameClass

public abstract NameClass getNameClass()
obtains a constraint over tag name. ElementExp is cannot be shared because NameClass has to be mutable to absorb the difference of RELAX and TREX. In case of TREX, name class will be determined when parsing ElementExp itself. Thus effectively it's immutable. In case of RELAX, name class will be determined when its corresponding Clause object is parsed.

visit

public final Object visit(ExpressionVisitor visitor)

visit

public final Expression visit(ExpressionVisitorExpression visitor)

visit

public final boolean visit(ExpressionVisitorBoolean visitor)

visit

public final void visit(ExpressionVisitorVoid visitor)