use of org.eclipse.wst.xml.xpath2.processor.testsuite.userdefined.XercesIntegerUserDefined in project webtools.sourceediting by eclipse.
the class AbstractPsychoPathTest method addUserDefinedSimpleTypes.
protected void addUserDefinedSimpleTypes(XSModel schema) {
XSNamedMap xstypes = schema.getComponents(XSConstants.TYPE_DEFINITION);
if (xstypes.getLength() == 0) {
return;
}
addNamespace("myType", "http://www.w3.org/XQueryTest/userDefinedTypes");
UserDefinedCtrLibrary udl = new UserDefinedCtrLibrary("http://www.w3.org/XQueryTest/userDefinedTypes");
for (int i = 0; i < xstypes.getLength(); i++) {
XSObject xsobject = xstypes.item(i);
if ("http://www.w3.org/XQueryTest/userDefinedTypes".equals(xsobject.getNamespace())) {
if (xsobject instanceof XSSimpleTypeDefinition) {
XSSimpleTypeDefinition typeDef = (XSSimpleTypeDefinition) xsobject;
if (typeDef.getNumeric()) {
if (xsobject.getName().equals("floatBased") || xsobject.getName().equals("shoesize")) {
XercesFloatUserDefined fudt = new XercesFloatUserDefined(xsobject);
udl.add_type(fudt);
} else {
XercesIntegerUserDefined iudt = new XercesIntegerUserDefined(xsobject);
udl.add_type(iudt);
}
} else {
if (xsobject.getName().equals("QNameBased")) {
XercesQNameUserDefined qudt = new XercesQNameUserDefined(xsobject);
udl.add_type(qudt);
} else {
XercesUserDefined udt = new XercesUserDefined(typeDef);
udl.add_type(udt);
}
}
}
}
}
addFunctionLibrary(udl);
}
use of org.eclipse.wst.xml.xpath2.processor.testsuite.userdefined.XercesIntegerUserDefined in project webtools.sourceediting by eclipse.
the class XercesIntegerUserDefined method constructor.
public ResultSequence constructor(ResultSequence arg) throws DynamicError {
ResultSequence rs = ResultSequenceFactory.create_new();
if (arg.empty())
return rs;
// AnyAtomicType aat = (AnyAtomicType) arg.first();
Item aat = arg.first();
XSSimpleTypeDefinition simpletype = (XSSimpleTypeDefinition) typeInfo;
if (simpletype != null) {
if (simpletype.isDefinedFacet(XSSimpleTypeDefinition.FACET_MININCLUSIVE)) {
String minValue = simpletype.getLexicalFacetValue(XSSimpleTypeDefinition.FACET_MININCLUSIVE);
int iminValue = Integer.parseInt(minValue);
int actualValue = Integer.parseInt(aat.getStringValue());
if (actualValue < iminValue) {
throw DynamicError.invalidForCastConstructor();
}
}
if (simpletype.isDefinedFacet(XSSimpleTypeDefinition.FACET_MAXINCLUSIVE)) {
String maxValue = simpletype.getLexicalFacetValue(XSSimpleTypeDefinition.FACET_MAXINCLUSIVE);
int imaxValue = Integer.parseInt(maxValue);
int actualValue = Integer.parseInt(aat.getStringValue());
if (actualValue > imaxValue) {
throw DynamicError.invalidForCastConstructor();
}
}
}
return new XercesIntegerUserDefined(new BigInteger(aat.getStringValue()));
}
Aggregations