package com.thaiopensource.relaxng.pattern; import com.thaiopensource.xml.util.Name; class StartTagOpenRecoverDerivFunction extends StartTagOpenDerivFunction { StartTagOpenRecoverDerivFunction(Name name, ValidatorPatternBuilder builder) { super(name, builder); } public Pattern caseGroup(GroupPattern p) { Pattern tem = super.caseGroup(p); if (p.getOperand1().isNullable()) return tem; return getPatternBuilder().makeChoice(tem, memoApply(p.getOperand2())); } PatternMemo apply(PatternMemo memo) { return memo.startTagOpenRecoverDeriv(this); } }