本文整理汇总了Java中com.sun.org.apache.xerces.internal.impl.xs.XSConstraints类的典型用法代码示例。如果您正苦于以下问题:Java XSConstraints类的具体用法?Java XSConstraints怎么用?Java XSConstraints使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XSConstraints类属于com.sun.org.apache.xerces.internal.impl.xs包,在下文中一共展示了XSConstraints类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: checkUniqueParticleAttribution
import com.sun.org.apache.xerces.internal.impl.xs.XSConstraints; //导入依赖的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
示例2: checkUniqueParticleAttribution
import com.sun.org.apache.xerces.internal.impl.xs.XSConstraints; //导入依赖的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.XSConstraints类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论