com.sun.msv.relaxns.grammar
Class ExternalElementExp

java.lang.Object
  |
  +--com.sun.msv.grammar.Expression
        |
        +--com.sun.msv.grammar.ElementExp
              |
              +--com.sun.msv.relaxns.grammar.ExternalElementExp
All Implemented Interfaces:
NameClassAndExpression, Serializable

public class ExternalElementExp
extends ElementExp

place holder for imported element declaration. This class derives ElementExp because "elementDecl" is a constraint over one element. This class also provides stub methods so that programs who are not aware to divide&validate can gracefully degrade.

Author:
Kohsuke KAWAGUCHI
See Also:
Serialized Form

Field Summary
 String namespaceURI
          namespace URI that this ExternalElementExp belongs to.
 ElementDecl rule
          imported ElementDecl object that actually validates this element.
 String ruleName
          name of the imported Rule
 Locator source
          where did this reference is written in the source file.
 
Fields inherited from class com.sun.msv.grammar.ElementExp
contentModel, ignoreUndeclaredAttributes
 
Fields inherited from class com.sun.msv.grammar.Expression
anyString, epsilon, nullSet, verifierTag
 
Constructor Summary
ExternalElementExp(ExpressionPool pool, String namespaceURI, String ruleName, Locator loc)
           
 
Method Summary
 NameClass getNameClass()
          obtains a constraint over tag name.
 
Methods inherited from class com.sun.msv.grammar.ElementExp
equals, getContentModel, visit, visit, visit, visit
 
Methods inherited from class com.sun.msv.grammar.Expression
hashCode, isEpsilonReducible, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

namespaceURI

public final String namespaceURI
namespace URI that this ExternalElementExp belongs to.

ruleName

public final String ruleName
name of the imported Rule

source

public transient Locator source
where did this reference is written in the source file. can be set to null (to reduce memory usage) at anytime.

rule

public ElementDecl rule
imported ElementDecl object that actually validates this element. this variable is set during binding phase.
Constructor Detail

ExternalElementExp

public ExternalElementExp(ExpressionPool pool,
                          String namespaceURI,
                          String ruleName,
                          Locator loc)
Method Detail

getNameClass

public NameClass getNameClass()
Description copied from class: ElementExp
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.
Overrides:
getNameClass in class ElementExp