本文整理汇总了Java中com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler类的典型用法代码示例。如果您正苦于以下问题:Java SubstitutionGroupHandler类的具体用法?Java SubstitutionGroupHandler怎么用?Java SubstitutionGroupHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SubstitutionGroupHandler类属于com.sun.org.apache.xerces.internal.impl.xs包,在下文中一共展示了SubstitutionGroupHandler类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: findMatchingDecl
import com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler; //导入依赖的package包/类
Object findMatchingDecl(QName curElem, SubstitutionGroupHandler subGroupHandler) {
Object matchingDecl = null;
for (int elemIndex = 0; elemIndex < fElemMapSize; elemIndex++) {
int type = fElemMapType[elemIndex] ;
if (type == XSParticleDecl.PARTICLE_ELEMENT) {
matchingDecl = subGroupHandler.getMatchingElemDecl(curElem, (XSElementDecl)fElemMap[elemIndex]);
if (matchingDecl != null) {
return matchingDecl;
}
}
else if (type == XSParticleDecl.PARTICLE_WILDCARD) {
if(((XSWildcardDecl)fElemMap[elemIndex]).allowNamespace(curElem.uri))
return fElemMap[elemIndex];
}
}
return null;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:XSDFACM.java
示例2: oneTransition
import com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler; //导入依赖的package包/类
/**
* The method corresponds to one transaction in the content model.
*
* @param elementName the qualified name of the element
* @param currentState Current state
* @param subGroupHandler the substitution group handler
* @return element index corresponding to the element from the Schema grammar
*/
public Object oneTransition (QName elementName, int[] currentState, SubstitutionGroupHandler subGroupHandler){
// error state
if (currentState[0] < 0) {
currentState[0] = XSCMValidator.SUBSEQUENT_ERROR;
return null;
}
currentState[0] = XSCMValidator.FIRST_ERROR;
return null;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:XSEmptyCM.java
示例3: findMatchingDecl
import com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler; //导入依赖的package包/类
Object findMatchingDecl(QName elementName, SubstitutionGroupHandler subGroupHandler) {
Object matchingDecl = null;
for (int i = 0; i < fNumElements; i++) {
matchingDecl = subGroupHandler.getMatchingElemDecl(elementName, fAllElements[i]);
if (matchingDecl != null)
break;
}
return matchingDecl;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:XSAllCM.java
示例4: oneTransition
import com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler; //导入依赖的package包/类
/**
* The method corresponds to one transition in the content model.
*
* @param elementName
* @param currentState Current state
* @return an element decl object
*/
public Object oneTransition (QName elementName, int[] currentState, SubstitutionGroupHandler subGroupHandler) {
// error state
if (currentState[0] < 0) {
currentState[0] = XSCMValidator.SUBSEQUENT_ERROR;
return findMatchingDecl(elementName, subGroupHandler);
}
// seen child
currentState[0] = STATE_CHILD;
Object matchingDecl = null;
for (int i = 0; i < fNumElements; i++) {
// we only try to look for a matching decl if we have not seen
// this element yet.
if (currentState[i+1] != STATE_START)
continue;
matchingDecl = subGroupHandler.getMatchingElemDecl(elementName, fAllElements[i]);
if (matchingDecl != null) {
// found the decl, mark this element as "seen".
currentState[i+1] = STATE_VALID;
return matchingDecl;
}
}
// couldn't find the decl, change to error state.
currentState[0] = XSCMValidator.FIRST_ERROR;
return findMatchingDecl(elementName, subGroupHandler);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:38,代码来源:XSAllCM.java
示例5: checkUniqueParticleAttribution
import com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler; //导入依赖的package包/类
/**
* check whether this content violates UPA constraint.
*
* @param subGroupHandler the substitution group handler
* @return true if this content model contains other or list wildcard
*/
public boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler) throws XMLSchemaException {
// check whether there is conflict between any two leaves
for (int i = 0; i < fNumElements; i++) {
for (int j = i+1; j < fNumElements; j++) {
if (XSConstraints.overlapUPA(fAllElements[i], fAllElements[j], subGroupHandler)) {
// REVISIT: do we want to report all errors? or just one?
throw new XMLSchemaException("cos-nonambig", new Object[]{fAllElements[i].toString(),
fAllElements[j].toString()});
}
}
}
return false;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:21,代码来源:XSAllCM.java
示例6: checkUniqueParticleAttribution
import com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler; //导入依赖的package包/类
/**
* check whether this content violates UPA constraint.
*
* @param subGroupHandler the substitution group handler
* @return true if this content model contains other or list wildcard
*/
public boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler) throws XMLSchemaException {
// Unique Particle Attribution
// store the conflict results between any two elements in fElemMap
// 0: not compared; -1: no conflict; 1: conflict
// initialize the conflict table (all 0 initially)
byte conflictTable[][] = new byte[fElemMapSize][fElemMapSize];
// for each state, check whether it has overlap transitions
for (int i = 0; i < fTransTable.length && fTransTable[i] != null; i++) {
for (int j = 0; j < fElemMapSize; j++) {
for (int k = j+1; k < fElemMapSize; k++) {
if (fTransTable[i][j] != -1 &&
fTransTable[i][k] != -1) {
if (conflictTable[j][k] == 0) {
if (XSConstraints.overlapUPA
(fElemMap[j], fElemMap[k],
subGroupHandler)) {
if (fCountingStates != null) {
Occurence o = fCountingStates[i];
// If "i" is a counting state and exactly one of the transitions
// loops back to "i" then the two particles do not overlap if
// minOccurs == maxOccurs.
if (o != null &&
fTransTable[i][j] == i ^ fTransTable[i][k] == i &&
o.minOccurs == o.maxOccurs) {
conflictTable[j][k] = (byte) -1;
continue;
}
}
conflictTable[j][k] = (byte) 1;
}
else {
conflictTable[j][k] = (byte) -1;
}
}
}
}
}
}
// report all errors
for (int i = 0; i < fElemMapSize; i++) {
for (int j = 0; j < fElemMapSize; j++) {
if (conflictTable[i][j] == 1) {
//errors.newError("cos-nonambig", new Object[]{fElemMap[i].toString(),
// fElemMap[j].toString()});
// REVISIT: do we want to report all errors? or just one?
throw new XMLSchemaException("cos-nonambig", new Object[]{fElemMap[i].toString(),
fElemMap[j].toString()});
}
}
}
// if there is a other or list wildcard, we need to check this CM
// again, if this grammar is cached.
for (int i = 0; i < fElemMapSize; i++) {
if (fElemMapType[i] == XSParticleDecl.PARTICLE_WILDCARD) {
XSWildcardDecl wildcard = (XSWildcardDecl)fElemMap[i];
if (wildcard.fType == XSWildcardDecl.NSCONSTRAINT_LIST ||
wildcard.fType == XSWildcardDecl.NSCONSTRAINT_NOT) {
return true;
}
}
}
return false;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:74,代码来源:XSDFACM.java
注:本文中的com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论