001 package com.thaiopensource.relaxng.impl; 002 003 import com.thaiopensource.xml.util.Name; 004 005 class StartTagOpenRecoverDerivFunction extends StartTagOpenDerivFunction { 006 StartTagOpenRecoverDerivFunction(Name name, ValidatorPatternBuilder builder) { 007 super(name, builder); 008 } 009 010 public Object caseGroup(GroupPattern p) { 011 Pattern tem = (Pattern)super.caseGroup(p); 012 if (p.getOperand1().isNullable()) 013 return tem; 014 return getPatternBuilder().makeChoice(tem, memoApply(p.getOperand2())); 015 } 016 017 PatternMemo apply(PatternMemo memo) { 018 return memo.startTagOpenRecoverDeriv(this); 019 } 020 }