public Void onChoice(DChoicePattern p) { boolean old = insideOptional; insideOptional = true; super.onChoice(p); insideOptional = old; return null; }
public Void onInterleave(DInterleavePattern p) { return onContainer(p); }
public Void onOptional(DOptionalPattern p) { boolean old = insideOptional; insideOptional = true; super.onOptional(p); insideOptional = old; return null; }
public Void onMixed(DMixedPattern p) { return onUnary(p); }
public Void onOneOrMore(DOneOrMorePattern p) { mul = mul.makeRepeated(); return super.onOneOrMore(p); }
public Void onZeroOrMore(DZeroOrMorePattern p) { mul = mul.makeRepeated(); return super.onZeroOrMore(p); }
public Void onAttribute(DAttributePattern p) { return onXmlToken(p); }
public Void onList(DListPattern p) { push(false); super.onList(p); pop(); return null; }
public Void onAttribute(DAttributePattern p) { push(false); super.onAttribute(p); pop(); return null; }
public Void onMixed(DMixedPattern p) { push(false); super.onMixed(p); pop(); return null; }
public Void onOneOrMore(DOneOrMorePattern p) { return onUnary(p); }
public Void onOneOrMore(DOneOrMorePattern p) { mul = mul.makeRepeated(); return super.onOneOrMore(p); }
public Void onZeroOrMore(DZeroOrMorePattern p) { mul = mul.makeRepeated(); return super.onZeroOrMore(p); }
public Void onElement(DElementPattern p) { return onXmlToken(p); }
public Void onList(DListPattern p) { push(false); super.onList(p); pop(); return null; }
public Void onAttribute(DAttributePattern p) { push(false); super.onAttribute(p); pop(); return null; }
public Void onMixed(DMixedPattern p) { push(false); super.onMixed(p); pop(); return null; }
protected Void onXmlToken(DXmlTokenPattern p) { return onUnary(p); }
public Void onChoice(DChoicePattern p) { return onContainer(p); }
public Void onChoice(DChoicePattern p) { boolean old = insideOptional; insideOptional = true; super.onChoice(p); insideOptional = old; return null; }