/** * computes a combined child content pattern and its continuation, with error recovery. * * After calling this method, caller can call getElementsOfConcern to obtain * each EoC. * If both feedAttributes and checkTagName are false, then StartTagInfo is * also unnecessary. * * @param feedAttributes * if this flag is false, Attribute feeding & pruning are skipped and * AttributeExps are fully remained in the resulting expression. * @param checkTagName * if this flag is false, tag name check is skipped. */ public ExpressionPair get(Expression combinedPattern, StartTagInfo info, boolean checkTagName) { if (com.sun.msv.driver.textui.Debug.debug) // clear the buffer to make it easier to find a bug. for (int i = 0; i < result.length; i++) result[i] = null; numElements = 0; return continueGet(combinedPattern, info, checkTagName); }
cccc.get( expression, null, false ); final ElementExp[] eocs = cccc.getMatchedElements(); final int len = cccc.numMatchedElements(); for( int i=0; i<len; i++ ) {
Expression r = cccc.get(expression,sti,false).content; if( cccc.isComplex() ) { final ElementExp[] eocs = cccc.getMatchedElements(); final int len = cccc.numMatchedElements(); for( int i=0; i<len; i++ ) {
/** computes a combined child content pattern and (,if possible,) its continuation. */ public ExpressionPair get(Expression combinedPattern, StartTagInfo info) { StringPair sp = null; // check the cache if (combinedPattern.verifierTag != null) { OptimizationTag ot = (OptimizationTag)combinedPattern.verifierTag; sp = new StringPair(info.namespaceURI, info.localName); OptimizationTag.OwnerAndCont cache = (OptimizationTag.OwnerAndCont)ot.transitions.get(sp); if (cache != null) { // cache hit numElements = 1; result[0] = cache.owner; return new ExpressionPair(cache.owner.contentModel.getExpandedExp(pool), cache.continuation); } } ExpressionPair r = (ExpressionPair)get(combinedPattern, info, true); if (numElements == 1) { // only one element matchs this tag name. cache this result OptimizationTag ot = (OptimizationTag)combinedPattern.verifierTag; if (ot == null) combinedPattern.verifierTag = ot = new OptimizationTag(); if (sp == null) sp = new StringPair(info.namespaceURI, info.localName); ot.transitions.put(sp, new OptimizationTag.OwnerAndCont(result[0], r.continuation)); } return r; }
/** * creates an object that validates the specified expression. */ public REDocumentDeclaration( Expression topLevel, ExpressionPool pool ) { this.topLevel = topLevel; this.pool = pool; resCalc = new ResidualCalculator(pool); attFeeder = new AttributeFeeder(this); attPicker = new AttributePicker(pool); attPruner = new AttributePruner(pool); attRemover = new AttributeRemover(pool); cccec = new CombinedChildContentExpCreator(pool); ecc = new ElementsOfConcernCollector(); attToken = new AttributeToken(this,null,null,null,null); }
Expression r = cccc.get(expression,sti,false).content; if( cccc.isComplex() ) { final ElementExp[] eocs = cccc.getMatchedElements(); final int len = cccc.numMatchedElements(); for( int i=0; i<len; i++ ) {
cccc.get( expression, null, false );
/** * creates an object that validates the specified expression. */ public REDocumentDeclaration( Expression topLevel, ExpressionPool pool ) { this.topLevel = topLevel; this.pool = pool; resCalc = new ResidualCalculator(pool); attFeeder = new AttributeFeeder(this); attPicker = new AttributePicker(pool); attPruner = new AttributePruner(pool); attRemover = new AttributeRemover(pool); cccec = new CombinedChildContentExpCreator(pool); ecc = new ElementsOfConcernCollector(); attToken = new AttributeToken(this,null,null,null,null); }
CombinedChildContentExpCreator.ExpressionPair e = cccc.get(expression,tag); if( e.content!=Expression.nullSet ) { cccc.getMatchedElements(), cccc.numMatchedElements() );
Expression r = cccc.get(expression,sti,false).content; if( cccc.isComplex() ) { final ElementExp[] eocs = cccc.getMatchedElements(); final int len = cccc.numMatchedElements(); for( int i=0; i<len; i++ ) {
cccc.get( expression, null, false );
/** * creates an object that validates the specified expression. */ public REDocumentDeclaration( Expression topLevel, ExpressionPool pool ) { this.topLevel = topLevel; this.pool = pool; resCalc = new ResidualCalculator(pool); attFeeder = new AttributeFeeder(this); attPicker = new AttributePicker(pool); attPruner = new AttributePruner(pool); attRemover = new AttributeRemover(pool); cccec = new CombinedChildContentExpCreator(pool); ecc = new ElementsOfConcernCollector(); attToken = new AttributeToken(this,null,null,null,null); }
/** * computes a combined child content pattern and its continuation, with error recovery. * * After calling this method, caller can call getElementsOfConcern to obtain * each EoC. * If both feedAttributes and checkTagName are false, then StartTagInfo is * also unnecessary. * * @param feedAttributes * if this flag is false, Attribute feeding & pruning are skipped and * AttributeExps are fully remained in the resulting expression. * @param checkTagName * if this flag is false, tag name check is skipped. */ public ExpressionPair get(Expression combinedPattern, StartTagInfo info, boolean checkTagName) { if (com.sun.msv.driver.textui.Debug.debug) // clear the buffer to make it easier to find a bug. for (int i = 0; i < result.length; i++) result[i] = null; numElements = 0; return continueGet(combinedPattern, info, checkTagName); }
CombinedChildContentExpCreator.ExpressionPair e = cccc.get(expression,tag); if( e.content!=Expression.nullSet ) { cccc.getMatchedElements(), cccc.numMatchedElements() );
Expression r = cccc.get(expression,sti,false).content; if( cccc.isComplex() ) { final ElementExp[] eocs = cccc.getMatchedElements(); final int len = cccc.numMatchedElements(); for( int i=0; i<len; i++ ) {
/** computes a combined child content pattern and (,if possible,) its continuation. */ public ExpressionPair get(Expression combinedPattern, StartTagInfo info) { StringPair sp = null; // check the cache if (combinedPattern.verifierTag != null) { OptimizationTag ot = (OptimizationTag)combinedPattern.verifierTag; sp = new StringPair(info.namespaceURI, info.localName); OptimizationTag.OwnerAndCont cache = (OptimizationTag.OwnerAndCont)ot.transitions.get(sp); if (cache != null) { // cache hit numElements = 1; result[0] = cache.owner; return new ExpressionPair(cache.owner.contentModel.getExpandedExp(pool), cache.continuation); } } ExpressionPair r = (ExpressionPair)get(combinedPattern, info, true); if (numElements == 1) { // only one element matchs this tag name. cache this result OptimizationTag ot = (OptimizationTag)combinedPattern.verifierTag; if (ot == null) combinedPattern.verifierTag = ot = new OptimizationTag(); if (sp == null) sp = new StringPair(info.namespaceURI, info.localName); ot.transitions.put(sp, new OptimizationTag.OwnerAndCont(result[0], r.continuation)); } return r; }
/** * creates an object that validates the specified expression. */ public REDocumentDeclaration( Expression topLevel, ExpressionPool pool ) { this.topLevel = topLevel; this.pool = pool; resCalc = new ResidualCalculator(pool); attFeeder = new AttributeFeeder(this); attPicker = new AttributePicker(pool); attPruner = new AttributePruner(pool); attRemover = new AttributeRemover(pool); cccec = new CombinedChildContentExpCreator(pool); ecc = new ElementsOfConcernCollector(); attToken = new AttributeToken(this,null,null,null,null); }
/** * computes a combined child content pattern and its continuation, with error recovery. * * After calling this method, caller can call getElementsOfConcern to obtain * each EoC. * If both feedAttributes and checkTagName are false, then StartTagInfo is * also unnecessary. * * @param feedAttributes * if this flag is false, Attribute feeding & pruning are skipped and * AttributeExps are fully remained in the resulting expression. * @param checkTagName * if this flag is false, tag name check is skipped. */ public ExpressionPair get(Expression combinedPattern, StartTagInfo info, boolean checkTagName) { if (com.sun.msv.driver.textui.Debug.debug) // clear the buffer to make it easier to find a bug. for (int i = 0; i < result.length; i++) result[i] = null; numElements = 0; return continueGet(combinedPattern, info, checkTagName); }
cccc.get( expression, null, false ); final ElementExp[] eocs = cccc.getMatchedElements(); final int len = cccc.numMatchedElements(); for( int i=0; i<len; i++ ) {
cccc.get( expression, null, false );