}
else if (contentSpec == fStringPool.addSymbol("MIXED")
|| contentSpec == fStringPool.addSymbol("CHILDREN"))
{
// Get the content model for this element, faulting it in if needed
XMLContentModel cmElem = null;
try
{
cmElem = getContentModel(elementIndex);
return cmElem.validateContent(childCount, children);
}
catch(CMException excToCatch)
{
int majorCode = excToCatch.getErrorCode();
fErrorReporter.reportError(fErrorReporter.getLocator(),
ImplementationMessages.XERCES_IMPLEMENTATION_DOMAIN,
majorCode,
0,
null,
XMLErrorReporter.ERRORTYPE_FATAL_ERROR);
}
}
else if (contentSpec == -1)
{
Object[] args = { fStringPool.toString(elementTypeIndex) };
fErrorReporter.reportError(fErrorReporter.getLocator(),
XMLMessages.XML_DOMAIN,
XMLMessages.MSG_ELEMENT_NOT_DECLARED,
XMLMessages.VC_ELEMENT_VALID,
args,
XMLErrorReporter.ERRORTYPE_RECOVERABLE_ERROR);
}
else if (contentSpec == fStringPool.addSymbol("DATATYPE"))
{
XMLContentModel cmElem = null;
try {
cmElem = getContentModel(elementIndex);
return cmElem.validateContent(1, new int[] { fStringPool.addString(fDatatypeBuffer.toString()) });
} catch (CMException cme) {
System.out.println("Internal Error in datatype validation");
} catch (InvalidDatatypeValueException idve) {
reportSchemaError(SchemaMessageProvider.DatatypeError,
new Object [] { idve.getMessage() });