com.sun.msv.reader.relax.core.checker

Class IdAbuseChecker

public class IdAbuseChecker extends Object implements RELAXExpressionVisitorVoid

makes sure that ID/IDREF are not abused. RELAX has the following constraint over the use of ID/IDREF.

First, ID and IDREF can be only used as attribute values. They cannot be used from type attribute of elementRules.

Second, if <tag> clause declares directly or indirectly (by referencing attPool) one of its attribute as ID/IDREF type, it must satisfies either (or both) of the following statement.

  1. no other tag clause shares the same tag name.
  2. no other attribute of non-ID/IDREF types shares the same attribute name.

Author: Kohsuke KAWAGUCHI

Method Summary
static voidcheck(RELAXCoreReader reader, RELAXModule module)
voidonAnyString()
voidonAttPool(AttPoolClause exp)
voidonAttribute(AttributeExp exp)
voidonChoice(ChoiceExp exp)
voidonConcur(ConcurExp exp)
voidonData(DataExp exp)
voidonElement(ElementExp exp)
voidonElementRules(ElementRules exp)
voidonEpsilon()
voidonHedgeRules(HedgeRules exp)
voidonInterleave(InterleaveExp exp)
voidonList(ListExp exp)
voidonMixed(MixedExp exp)
voidonNullSet()
voidonOneOrMore(OneOrMoreExp exp)
voidonOther(OtherExp exp)
voidonRef(ReferenceExp exp)
voidonSequence(SequenceExp exp)
voidonTag(TagClause exp)
voidonValue(ValueExp exp)

Method Detail

check

public static void check(RELAXCoreReader reader, RELAXModule module)

onAnyString

public void onAnyString()

onAttPool

public void onAttPool(AttPoolClause exp)

onAttribute

public void onAttribute(AttributeExp exp)

onChoice

public void onChoice(ChoiceExp exp)

onConcur

public void onConcur(ConcurExp exp)

onData

public void onData(DataExp exp)

onElement

public void onElement(ElementExp exp)

onElementRules

public void onElementRules(ElementRules exp)

onEpsilon

public void onEpsilon()

onHedgeRules

public void onHedgeRules(HedgeRules exp)

onInterleave

public void onInterleave(InterleaveExp exp)

onList

public void onList(ListExp exp)

onMixed

public void onMixed(MixedExp exp)

onNullSet

public void onNullSet()

onOneOrMore

public void onOneOrMore(OneOrMoreExp exp)

onOther

public void onOther(OtherExp exp)

onRef

public void onRef(ReferenceExp exp)

onSequence

public void onSequence(SequenceExp exp)

onTag

public void onTag(TagClause exp)

onValue

public void onValue(ValueExp exp)