001    package com.thaiopensource.relaxng.impl;
002    
003    import org.relaxng.datatype.ValidationContext;
004    
005    abstract class DataDerivType {
006      abstract DataDerivType copy();
007      abstract DataDerivType combine(DataDerivType ddt);
008      PatternMemo dataDeriv(ValidatorPatternBuilder builder, Pattern p, String str, ValidationContext vc) {
009        return builder.getPatternMemo(p.applyForPattern(new DataDerivFunction(str, vc, builder)));
010      }
011    }