in src/xercesc/parsers/DOMLSParserImpl.cpp [251:438]
void DOMLSParserImpl::setParameter(const XMLCh* name, bool state)
{
if (XMLString::compareIStringASCII(name, XMLUni::fgDOMCharsetOverridesXMLEncoding) == 0)
{
// in fact, setting this has no effect to the parser
fCharsetOverridesXMLEncoding = state;
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMDisallowDoctype) == 0)
{
getScanner()->setDisallowDTD(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMIgnoreUnknownCharacterDenormalization) == 0)
{
// TODO
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMNamespaces) == 0)
{
setDoNamespaces(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSupportedMediatypesOnly) == 0)
{
if (state)
throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0, getMemoryManager());
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMValidate) == 0)
{
if (state) {
if (getValidationScheme() == AbstractDOMParser::Val_Never)
setValidationScheme(AbstractDOMParser::Val_Always);
}
else {
setValidationScheme(AbstractDOMParser::Val_Never);
}
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMValidateIfSchema) == 0)
{
if (state) {
setValidationScheme(AbstractDOMParser::Val_Auto);
}
else {
setValidationScheme(AbstractDOMParser::Val_Never);
}
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMWellFormed) == 0)
{
if(state==false)
throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0, getMemoryManager());
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMCanonicalForm) == 0 )
{
// TODO
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMCDATASections) == 0 )
{
// TODO
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMCheckCharacterNormalization) == 0 )
{
// TODO
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMComments) == 0)
{
setCreateCommentNodes(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMDatatypeNormalization) == 0)
{
getScanner()->setNormalizeData(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMElementContentWhitespace) == 0)
{
setIncludeIgnorableWhitespace(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMEntities) == 0)
{
setCreateEntityReferenceNodes(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMNamespaceDeclarations) == 0)
{
if (state==false)
throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0, getMemoryManager());
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMNormalizeCharacters) == 0)
{
// TODO
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSplitCDATASections) == 0)
{
// TODO
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMInfoset) == 0)
{
if (!state)
throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0, getMemoryManager());
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesSchema) == 0)
{
setDoSchema(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesSchemaFullChecking) == 0)
{
setValidationSchemaFullChecking(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesUserAdoptsDOMDocument) == 0)
{
if(state)
fUserAdoptsDocument = true;
else
fUserAdoptsDocument = false;
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesLoadExternalDTD) == 0)
{
setLoadExternalDTD(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesLoadSchema) == 0)
{
setLoadSchema(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesContinueAfterFatalError) == 0)
{
setExitOnFirstFatalError(!state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesValidationErrorAsFatal) == 0)
{
setValidationConstraintFatal(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesCacheGrammarFromParse) == 0)
{
getScanner()->cacheGrammarFromParse(state);
if (state)
getScanner()->useCachedGrammarInParse(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesUseCachedGrammarInParse) == 0)
{
if (state || !getScanner()->isCachingGrammarFromParse())
getScanner()->useCachedGrammarInParse(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesCalculateSrcOfs) == 0)
{
getScanner()->setCalculateSrcOfs(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesStandardUriConformant) == 0)
{
getScanner()->setStandardUriConformant(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesDOMHasPSVIInfo) == 0)
{
setCreateSchemaInfo(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesGenerateSyntheticAnnotations) == 0)
{
getScanner()->setGenerateSyntheticAnnotations(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesValidateAnnotations) == 0)
{
getScanner()->setValidateAnnotations(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesIdentityConstraintChecking) == 0)
{
getScanner()->setIdentityConstraintChecking(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesIgnoreCachedDTD) == 0)
{
getScanner()->setIgnoredCachedDTD(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesIgnoreAnnotations) == 0)
{
getScanner()->setIgnoreAnnotations(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesDisableDefaultEntityResolution) == 0)
{
getScanner()->setDisableDefaultEntityResolution(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesSkipDTDValidation) == 0)
{
getScanner()->setSkipDTDValidation(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesDoXInclude) == 0)
{
setDoXInclude(state);
}
else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesHandleMultipleImports) == 0)
{
getScanner()->setHandleMultipleImports(state);
}
else
throw DOMException(DOMException::NOT_FOUND_ERR, 0, getMemoryManager());
}