类org.w3c.dom.DOMErrorHandler源码实例Demo

下面列出了怎么用org.w3c.dom.DOMErrorHandler的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: jdk1.8-source-analysis   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw abort;
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw abort;
}
 
源代码2 项目: TencentKona-8   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw new AbortException();
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw new AbortException();
}
 
源代码3 项目: jdk8u60   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw abort;
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw abort;
}
 
源代码4 项目: openjdk-8-source   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw abort;
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw abort;
}
 
源代码5 项目: jlibs   文件: XSParser.java
public XSParser(LSResourceResolver entityResolver, DOMErrorHandler errorHandler){
    System.setProperty(DOMImplementationRegistry.PROPERTY, DOMXSImplementationSourceImpl.class.getName());
    DOMImplementationRegistry registry;
    try{
        registry = DOMImplementationRegistry.newInstance();
    }catch(Exception ex){
        throw new ImpossibleException(ex);
    }
    XSImplementationImpl xsImpl = (XSImplementationImpl)registry.getDOMImplementation("XS-Loader");

    xsLoader = xsImpl.createXSLoader(null);
    DOMConfiguration config = xsLoader.getConfig();

    config.setParameter(Constants.DOM_VALIDATE, Boolean.TRUE);

    if(entityResolver!=null)
        config.setParameter(Constants.DOM_RESOURCE_RESOLVER, entityResolver);

    if(errorHandler!=null)
        config.setParameter(Constants.DOM_ERROR_HANDLER, errorHandler);
}
 
源代码6 项目: openjdk-jdk8u   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw new AbortException();
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw new AbortException();
}
 
源代码7 项目: openjdk-8   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw abort;
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw abort;
}
 
源代码8 项目: openjdk-jdk8u-backup   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw new AbortException();
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw new AbortException();
}
 
源代码9 项目: Bytecoder   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw new AbortException();
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw new AbortException();
}
 
源代码10 项目: Bytecoder   文件: DOM3TreeWalker.java
/**
 * Constructor.
 * @param   contentHandler serialHandler The implemention of the SerializationHandler interface
 */
DOM3TreeWalker(
    SerializationHandler serialHandler,
    DOMErrorHandler errHandler,
    LSSerializerFilter filter,
    String newLine) {
    fSerializer = serialHandler;
    //fErrorHandler = errHandler == null ? new DOMErrorHandlerImpl() : errHandler; // Should we be using the default?
    fErrorHandler = errHandler;
    fFilter = filter;
    fLexicalHandler = null;
    fNewLine = newLine;

    fNSBinder = new NamespaceSupport();
    fLocalNSBinder = new NamespaceSupport();

    fDOMConfigProperties = fSerializer.getOutputFormat();
    fSerializer.setDocumentLocator(fLocator);
    initProperties(fDOMConfigProperties);
}
 
源代码11 项目: openjdk-jdk9   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw new AbortException();
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw new AbortException();
}
 
源代码12 项目: openjdk-jdk9   文件: DOM3TreeWalker.java
/**
 * Constructor.
 * @param   contentHandler serialHandler The implemention of the SerializationHandler interface
 */
DOM3TreeWalker(
    SerializationHandler serialHandler,
    DOMErrorHandler errHandler,
    LSSerializerFilter filter,
    String newLine) {
    fSerializer = serialHandler;
    //fErrorHandler = errHandler == null ? new DOMErrorHandlerImpl() : errHandler; // Should we be using the default?
    fErrorHandler = errHandler;
    fFilter = filter;
    fLexicalHandler = null;
    fNewLine = newLine;

    fNSBinder = new NamespaceSupport();
    fLocalNSBinder = new NamespaceSupport();

    fDOMConfigProperties = fSerializer.getOutputFormat();
    fSerializer.setDocumentLocator(fLocator);
    initProperties(fDOMConfigProperties);
}
 
源代码13 项目: hottub   文件: DOMNormalizer.java
/**
 * Reports a DOM error to the user handler.
 *
 * If the error is fatal, the processing will be always aborted.
 */
public static final void reportDOMError(DOMErrorHandler errorHandler, DOMErrorImpl error, DOMLocatorImpl locator,
                    String message, short severity, String type ) {
    if( errorHandler!=null ) {
        error.reset();
        error.fMessage = message;
        error.fSeverity = severity;
        error.fLocator = locator;
        error.fType = type;
        error.fRelatedData = locator.fRelatedNode;

        if(!errorHandler.handleError(error))
            throw abort;
    }
    if( severity==DOMError.SEVERITY_FATAL_ERROR )
        throw abort;
}
 
源代码14 项目: lemminx   文件: CMXSDContentModelProvider.java
public XSLoaderImpl getLoader() {		
	XSLoaderImpl loader = new XSLoaderImpl();
	loader.setParameter("http://apache.org/xml/properties/internal/entity-resolver", resolverExtensionManager);
	loader.setParameter(Constants.DOM_ERROR_HANDLER, new DOMErrorHandler() {

		@Override
		public boolean handleError(DOMError error) {
			if (error.getRelatedException() instanceof CacheResourceDownloadingException) {
				throw ((CacheResourceDownloadingException) error.getRelatedException());
			}
			return false;
		}
	});
	return loader;
}
 
源代码15 项目: Bytecoder   文件: LSSerializerImpl.java
/**
 * Checks if setting a parameter to a specific value is supported.
 *
 * @see org.w3c.dom.DOMConfiguration#canSetParameter(java.lang.String, java.lang.Object)
 * @since DOM Level 3
 * @param name A String containing the DOMConfiguration parameter name.
 * @param value An Object specifying the value of the corresponding parameter.
 */
public boolean canSetParameter(String name, Object value) {
    if (value instanceof Boolean){
        if ( name.equalsIgnoreCase(DOMConstants.DOM_CDATA_SECTIONS)
                || name.equalsIgnoreCase(DOMConstants.DOM_COMMENTS)
                || name.equalsIgnoreCase(DOMConstants.DOM_ENTITIES)
                || name.equalsIgnoreCase(DOMConstants.DOM_INFOSET)
                || name.equalsIgnoreCase(DOMConstants.DOM_ELEMENT_CONTENT_WHITESPACE)
                || name.equalsIgnoreCase(DOMConstants.DOM_NAMESPACES)
                || name.equalsIgnoreCase(DOMConstants.DOM_NAMESPACE_DECLARATIONS)
                || name.equalsIgnoreCase(DOMConstants.DOM_SPLIT_CDATA)
                || name.equalsIgnoreCase(DOMConstants.DOM_WELLFORMED)
                || name.equalsIgnoreCase(DOMConstants.DOM_DISCARD_DEFAULT_CONTENT)
                || name.equalsIgnoreCase(DOMConstants.DOM_FORMAT_PRETTY_PRINT)
                || name.equalsIgnoreCase(DOMConstants.DOM_XMLDECL)){
            // both values supported
            return true;
        }
        else if (name.equalsIgnoreCase(DOMConstants.DOM_CANONICAL_FORM)
                || name.equalsIgnoreCase(DOMConstants.DOM_CHECK_CHAR_NORMALIZATION)
                || name.equalsIgnoreCase(DOMConstants.DOM_DATATYPE_NORMALIZATION)
                || name.equalsIgnoreCase(DOMConstants.DOM_VALIDATE_IF_SCHEMA)
                || name.equalsIgnoreCase(DOMConstants.DOM_VALIDATE)
                // || name.equalsIgnoreCase(DOMConstants.DOM_NORMALIZE_CHARACTERS)
                ) {
            // true is not supported
            return !((Boolean)value).booleanValue();
        }
        else if (name.equalsIgnoreCase(DOMConstants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) {
            // false is not supported
            return ((Boolean)value).booleanValue();
        }
    }
    else if (name.equalsIgnoreCase(DOMConstants.DOM_ERROR_HANDLER) &&
            value == null || value instanceof DOMErrorHandler){
        return true;
    }
    return false;
}
 
源代码16 项目: j2objc   文件: DOM3TreeWalker.java
/**
 * Constructor.
 * @param   contentHandler serialHandler The implemention of the SerializationHandler interface
 */
DOM3TreeWalker(
    SerializationHandler serialHandler,
    DOMErrorHandler errHandler,
    LSSerializerFilter filter,
    String newLine) {
    fSerializer = serialHandler;
    //fErrorHandler = errHandler == null ? new DOMErrorHandlerImpl() : errHandler; // Should we be using the default?
    fErrorHandler = errHandler;
    fFilter = filter;
    fLexicalHandler = null;
    fNewLine = newLine;

    fNSBinder = new NamespaceSupport();
    fLocalNSBinder = new NamespaceSupport();
    
    fDOMConfigProperties = fSerializer.getOutputFormat();
    fSerializer.setDocumentLocator(fLocator);
    initProperties(fDOMConfigProperties);
    
    try {
        // Bug see Bugzilla  26741
        fLocator.setSystemId(
            System.getProperty("user.dir") + File.separator + "dummy.xsl");
    } catch (SecurityException se) { // user.dir not accessible from applet

    }
}
 
源代码17 项目: openjdk-jdk9   文件: LSSerializerImpl.java
/**
 * Checks if setting a parameter to a specific value is supported.
 *
 * @see org.w3c.dom.DOMConfiguration#canSetParameter(java.lang.String, java.lang.Object)
 * @since DOM Level 3
 * @param name A String containing the DOMConfiguration parameter name.
 * @param value An Object specifying the value of the corresponding parameter.
 */
public boolean canSetParameter(String name, Object value) {
    if (value instanceof Boolean){
        if ( name.equalsIgnoreCase(DOMConstants.DOM_CDATA_SECTIONS)
                || name.equalsIgnoreCase(DOMConstants.DOM_COMMENTS)
                || name.equalsIgnoreCase(DOMConstants.DOM_ENTITIES)
                || name.equalsIgnoreCase(DOMConstants.DOM_INFOSET)
                || name.equalsIgnoreCase(DOMConstants.DOM_ELEMENT_CONTENT_WHITESPACE)
                || name.equalsIgnoreCase(DOMConstants.DOM_NAMESPACES)
                || name.equalsIgnoreCase(DOMConstants.DOM_NAMESPACE_DECLARATIONS)
                || name.equalsIgnoreCase(DOMConstants.DOM_SPLIT_CDATA)
                || name.equalsIgnoreCase(DOMConstants.DOM_WELLFORMED)
                || name.equalsIgnoreCase(DOMConstants.DOM_DISCARD_DEFAULT_CONTENT)
                || name.equalsIgnoreCase(DOMConstants.DOM_FORMAT_PRETTY_PRINT)
                || name.equalsIgnoreCase(DOMConstants.DOM_XMLDECL)){
            // both values supported
            return true;
        }
        else if (name.equalsIgnoreCase(DOMConstants.DOM_CANONICAL_FORM)
                || name.equalsIgnoreCase(DOMConstants.DOM_CHECK_CHAR_NORMALIZATION)
                || name.equalsIgnoreCase(DOMConstants.DOM_DATATYPE_NORMALIZATION)
                || name.equalsIgnoreCase(DOMConstants.DOM_VALIDATE_IF_SCHEMA)
                || name.equalsIgnoreCase(DOMConstants.DOM_VALIDATE)
                // || name.equalsIgnoreCase(DOMConstants.DOM_NORMALIZE_CHARACTERS)
                ) {
            // true is not supported
            return !((Boolean)value).booleanValue();
        }
        else if (name.equalsIgnoreCase(DOMConstants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) {
            // false is not supported
            return ((Boolean)value).booleanValue();
        }
    }
    else if (name.equalsIgnoreCase(DOMConstants.DOM_ERROR_HANDLER) &&
            value == null || value instanceof DOMErrorHandler){
        return true;
    }
    return false;
}
 
源代码18 项目: jdk1.8-source-analysis   文件: DOMParserImpl.java
public boolean canSetParameter (String name, Object value) {
    if (value == null){
            return true;
    }

    if(value instanceof Boolean){
        boolean state = ((Boolean)value).booleanValue ();
        if ( name.equalsIgnoreCase (Constants.DOM_SUPPORTED_MEDIATYPES_ONLY)
        || name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
        || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION )
        || name.equalsIgnoreCase (Constants.DOM_CANONICAL_FORM) ) {
            // true is not supported
            return (state) ? false : true;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_WELLFORMED)
        || name.equalsIgnoreCase (Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) {
            // false is not supported
            return (state) ? true : false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_CDATA_SECTIONS)
        || name.equalsIgnoreCase (Constants.DOM_CHARSET_OVERRIDES_XML_ENCODING)
        || name.equalsIgnoreCase (Constants.DOM_COMMENTS)
        || name.equalsIgnoreCase (Constants.DOM_DATATYPE_NORMALIZATION)
        || name.equalsIgnoreCase (Constants.DOM_DISALLOW_DOCTYPE)
        || name.equalsIgnoreCase (Constants.DOM_ENTITIES)
        || name.equalsIgnoreCase (Constants.DOM_INFOSET)
        || name.equalsIgnoreCase (Constants.DOM_NAMESPACES)
        || name.equalsIgnoreCase (Constants.DOM_NAMESPACE_DECLARATIONS)
        || name.equalsIgnoreCase (Constants.DOM_VALIDATE)
        || name.equalsIgnoreCase (Constants.DOM_VALIDATE_IF_SCHEMA)
        || name.equalsIgnoreCase (Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
        || name.equalsIgnoreCase (Constants.DOM_XMLDECL)) {
            return true;
        }

        // Recognize Xerces features.
        try {
            String normalizedName;
            if (name.equalsIgnoreCase(NAMESPACE_GROWTH)) {
                normalizedName = NAMESPACE_GROWTH;
            }
            else if (name.equalsIgnoreCase(TOLERATE_DUPLICATES)) {
                normalizedName = TOLERATE_DUPLICATES;
            }
            else {
                normalizedName = name.toLowerCase(Locale.ENGLISH);
            }
            fConfiguration.getFeature(normalizedName);
            return true;
        }
        catch (XMLConfigurationException e) {
            return false;
        }
    }
    else { // check properties
        if (name.equalsIgnoreCase (Constants.DOM_ERROR_HANDLER)) {
            if (value instanceof DOMErrorHandler || value == null) {
                return true;
            }
            return false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_RESOURCE_RESOLVER)) {
            if (value instanceof LSResourceResolver || value == null) {
                return true;
            }
            return false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_SCHEMA_TYPE)) {
            if ((value instanceof String
            && (value.equals (Constants.NS_XMLSCHEMA)
            || value.equals (Constants.NS_DTD))) || value == null) {
                return true;
            }
            return false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_SCHEMA_LOCATION)) {
            if (value instanceof String || value == null)
                return true;
            return false;
        }
        else if (name.equalsIgnoreCase (DOCUMENT_CLASS_NAME)){
            return true;
        }
        return false;
    }
}
 
源代码19 项目: openjdk-8-source   文件: DOMErrorHandlerWrapper.java
public DOMErrorHandlerWrapper(DOMErrorHandler domErrorHandler) {
    fDomErrorHandler = domErrorHandler;
}
 
/**
* DOM Level 3 WD - Experimental.
* Check if setting a parameter to a specific value is supported.
*
* @param name The name of the parameter to check.
*
* @param value An object. if null, the returned value is true.
*
* @return true if the parameter could be successfully set to the
* specified value, or false if the parameter is not recognized or
* the requested value is not supported. This does not change the
* current value of the parameter itself.
*/
   public boolean canSetParameter(String name, Object value) {

   if (value == null){
       //if null, the returned value is true.
       //REVISIT: I dont like this --- even for unrecognized parameter it would
       //return 'true'. I think it should return false in that case.
       // Application will be surprised to find that setParameter throws not
       //recognized exception when canSetParameter returns 'true' Then what is the use
       //of having canSetParameter ??? - nb.
       return true ;
   }
   if( value instanceof Boolean ){
       //features whose parameter value can be set either 'true' or 'false'
       // or they accept any boolean value -- so we just need to check that
       // its a boolean value..
       if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)
           || name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)
           || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)
           || name.equalsIgnoreCase(Constants.DOM_ENTITIES)
           || name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)
           || name.equalsIgnoreCase(Constants.DOM_NAMESPACES)
           || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
           || name.equalsIgnoreCase(Constants.DOM_WELLFORMED)
           || name.equalsIgnoreCase(Constants.DOM_INFOSET)
           || name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)
           ) {
           return true;
       }//features whose parameter value can not be set to 'true'
       else if (
           name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
               || name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
               || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
               || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION)
               ) {
               return (value.equals(Boolean.TRUE)) ? false : true;
       }//features whose parameter value can not be set to 'false'
       else if( name.equalsIgnoreCase(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
               || name.equalsIgnoreCase(SEND_PSVI)
               ) {
               return (value.equals(Boolean.TRUE)) ? true : false;
       }// if name is not among the above listed above -- its not recognized. return false
       else {
           return false ;
       }
   }
           else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
       return (value instanceof DOMErrorHandler) ? true : false ;
   }
   else if (name.equalsIgnoreCase(Constants.DOM_RESOURCE_RESOLVER)) {
       return (value instanceof LSResourceResolver) ? true : false ;
   }
   else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
       return (value instanceof String) ? true : false ;
   }
   else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
       // REVISIT: should null value be supported?
       //as of now we are only supporting W3C XML Schema
       return ( (value instanceof String) && value.equals(Constants.NS_XMLSCHEMA) ) ? true : false ;
   }
   else if (name.equalsIgnoreCase(SYMBOL_TABLE)){
       // Xerces Symbol Table
       return (value instanceof SymbolTable) ? true : false ;
   }
   else if (name.equalsIgnoreCase (GRAMMAR_POOL)){
       return (value instanceof XMLGrammarPool) ? true : false ;
   }
   else {
       //false if the parameter is not recognized or the requested value is not supported.
       return false ;
   }

   }
 
public DOMErrorHandlerWrapper(DOMErrorHandler domErrorHandler) {
    fDomErrorHandler = domErrorHandler;
}
 
/** Sets the DOM error handler. */
public void setErrorHandler(DOMErrorHandler errorHandler) {
    fDomErrorHandler = errorHandler;
}
 
public DOMErrorHandler getErrorHandler(){
    return fDomErrorHandler;
}
 
源代码24 项目: jdk1.8-source-analysis   文件: DOMSerializerImpl.java
/** DOM L3-EXPERIMENTAL:
 * Check if parameter can be set
 */
public boolean canSetParameter(String name, Object state) {

    if (state == null) {
        return true;
    }

    if (state instanceof Boolean) {
        boolean value = ((Boolean) state).booleanValue();

        if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)
            || name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)
            || name.equalsIgnoreCase(Constants.DOM_DISCARD_DEFAULT_CONTENT)
            || name.equalsIgnoreCase(Constants.DOM_XMLDECL)
            || name.equalsIgnoreCase(Constants.DOM_WELLFORMED)
            || name.equalsIgnoreCase(Constants.DOM_INFOSET)
            || name.equalsIgnoreCase(Constants.DOM_ENTITIES)
            || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)
            || name.equalsIgnoreCase(Constants.DOM_COMMENTS)
            || name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)
            || name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)) {
            // both values supported
            return true;
        } else if (name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
            || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
            || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
            || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION)
            || name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)) {
            // || name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)) {
            // true is not supported
            return !value;
        } else if (name.equalsIgnoreCase(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
            || name.equalsIgnoreCase(Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) {
            // false is not supported
            return value;
        }
    } else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER) &&
        state == null || state instanceof DOMErrorHandler) {
        return true;
    }

    return false;
}
 
源代码25 项目: TencentKona-8   文件: DOMParserImpl.java
public boolean canSetParameter (String name, Object value) {
    if (value == null){
            return true;
    }

    if(value instanceof Boolean){
        boolean state = ((Boolean)value).booleanValue ();
        if ( name.equalsIgnoreCase (Constants.DOM_SUPPORTED_MEDIATYPES_ONLY)
        || name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
        || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION )
        || name.equalsIgnoreCase (Constants.DOM_CANONICAL_FORM) ) {
            // true is not supported
            return (state) ? false : true;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_WELLFORMED)
        || name.equalsIgnoreCase (Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) {
            // false is not supported
            return (state) ? true : false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_CDATA_SECTIONS)
        || name.equalsIgnoreCase (Constants.DOM_CHARSET_OVERRIDES_XML_ENCODING)
        || name.equalsIgnoreCase (Constants.DOM_COMMENTS)
        || name.equalsIgnoreCase (Constants.DOM_DATATYPE_NORMALIZATION)
        || name.equalsIgnoreCase (Constants.DOM_DISALLOW_DOCTYPE)
        || name.equalsIgnoreCase (Constants.DOM_ENTITIES)
        || name.equalsIgnoreCase (Constants.DOM_INFOSET)
        || name.equalsIgnoreCase (Constants.DOM_NAMESPACES)
        || name.equalsIgnoreCase (Constants.DOM_NAMESPACE_DECLARATIONS)
        || name.equalsIgnoreCase (Constants.DOM_VALIDATE)
        || name.equalsIgnoreCase (Constants.DOM_VALIDATE_IF_SCHEMA)
        || name.equalsIgnoreCase (Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
        || name.equalsIgnoreCase (Constants.DOM_XMLDECL)) {
            return true;
        }

        // Recognize Xerces features.
        try {
            String normalizedName;
            if (name.equalsIgnoreCase(NAMESPACE_GROWTH)) {
                normalizedName = NAMESPACE_GROWTH;
            }
            else if (name.equalsIgnoreCase(TOLERATE_DUPLICATES)) {
                normalizedName = TOLERATE_DUPLICATES;
            }
            else {
                normalizedName = name.toLowerCase(Locale.ENGLISH);
            }
            fConfiguration.getFeature(normalizedName);
            return true;
        }
        catch (XMLConfigurationException e) {
            return false;
        }
    }
    else { // check properties
        if (name.equalsIgnoreCase (Constants.DOM_ERROR_HANDLER)) {
            if (value instanceof DOMErrorHandler || value == null) {
                return true;
            }
            return false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_RESOURCE_RESOLVER)) {
            if (value instanceof LSResourceResolver || value == null) {
                return true;
            }
            return false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_SCHEMA_TYPE)) {
            if ((value instanceof String
            && (value.equals (Constants.NS_XMLSCHEMA)
            || value.equals (Constants.NS_DTD))) || value == null) {
                return true;
            }
            return false;
        }
        else if (name.equalsIgnoreCase (Constants.DOM_SCHEMA_LOCATION)) {
            if (value instanceof String || value == null)
                return true;
            return false;
        }
        else if (name.equalsIgnoreCase (DOCUMENT_CLASS_NAME)){
            return true;
        }
        return false;
    }
}
 
源代码26 项目: TencentKona-8   文件: DOMConfigurationImpl.java
/**
* DOM Level 3 WD - Experimental.
* Check if setting a parameter to a specific value is supported.
*
* @param name The name of the parameter to check.
*
* @param value An object. if null, the returned value is true.
*
* @return true if the parameter could be successfully set to the
* specified value, or false if the parameter is not recognized or
* the requested value is not supported. This does not change the
* current value of the parameter itself.
*/
   public boolean canSetParameter(String name, Object value) {

   if (value == null){
       //if null, the returned value is true.
       //REVISIT: I dont like this --- even for unrecognized parameter it would
       //return 'true'. I think it should return false in that case.
       // Application will be surprised to find that setParameter throws not
       //recognized exception when canSetParameter returns 'true' Then what is the use
       //of having canSetParameter ??? - nb.
       return true ;
   }
   if( value instanceof Boolean ){
       //features whose parameter value can be set either 'true' or 'false'
       // or they accept any boolean value -- so we just need to check that
       // its a boolean value..
       if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)
           || name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)
           || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)
           || name.equalsIgnoreCase(Constants.DOM_ENTITIES)
           || name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)
           || name.equalsIgnoreCase(Constants.DOM_NAMESPACES)
           || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
           || name.equalsIgnoreCase(Constants.DOM_WELLFORMED)
           || name.equalsIgnoreCase(Constants.DOM_INFOSET)
           || name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)
           ) {
           return true;
       }//features whose parameter value can not be set to 'true'
       else if (
           name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
               || name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
               || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
               || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION)
               ) {
               return (value.equals(Boolean.TRUE)) ? false : true;
       }//features whose parameter value can not be set to 'false'
       else if( name.equalsIgnoreCase(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
               || name.equalsIgnoreCase(SEND_PSVI)
               ) {
               return (value.equals(Boolean.TRUE)) ? true : false;
       }// if name is not among the above listed above -- its not recognized. return false
       else {
           return false ;
       }
   }
           else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
       return (value instanceof DOMErrorHandler) ? true : false ;
   }
   else if (name.equalsIgnoreCase(Constants.DOM_RESOURCE_RESOLVER)) {
       return (value instanceof LSResourceResolver) ? true : false ;
   }
   else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
       return (value instanceof String) ? true : false ;
   }
   else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
       // REVISIT: should null value be supported?
       //as of now we are only supporting W3C XML Schema
       return ( (value instanceof String) && value.equals(Constants.NS_XMLSCHEMA) ) ? true : false ;
   }
   else if (name.equalsIgnoreCase(SYMBOL_TABLE)){
       // Xerces Symbol Table
       return (value instanceof SymbolTable) ? true : false ;
   }
   else if (name.equalsIgnoreCase (GRAMMAR_POOL)){
       return (value instanceof XMLGrammarPool) ? true : false ;
   }
   else {
       //false if the parameter is not recognized or the requested value is not supported.
       return false ;
   }

   }
 
源代码27 项目: TencentKona-8   文件: DOMErrorHandlerWrapper.java
public DOMErrorHandlerWrapper(DOMErrorHandler domErrorHandler) {
    fDomErrorHandler = domErrorHandler;
}
 
源代码28 项目: cxf   文件: XercesSchemaValidationUtils.java
void tryToParseSchemas(XmlSchemaCollection collection, DOMErrorHandler handler)
    throws Exception {

    final List<DOMLSInput> inputs = new ArrayList<>();
    final Map<String, LSInput> resolverMap = new HashMap<>();

    for (XmlSchema schema : collection.getXmlSchemas()) {
        if (XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(schema.getTargetNamespace())) {
            continue;
        }
        Document document = new XmlSchemaSerializer().serializeSchema(schema, false)[0];
        DOMLSInput input = new DOMLSInput(document, schema.getTargetNamespace());
        resolverMap.put(schema.getTargetNamespace(), input);
        inputs.add(input);
    }

    try {

        Object schemaLoader = findMethod(impl, "createXSLoader").invoke(impl, new Object[1]);
        DOMConfiguration config = (DOMConfiguration)findMethod(schemaLoader, "getConfig").invoke(schemaLoader);

        config.setParameter("validate", Boolean.TRUE);
        config.setParameter("error-handler", handler);
        config.setParameter("resource-resolver", new LSResourceResolver() {
            public LSInput resolveResource(String type, String namespaceURI, String publicId,
                                           String systemId, String baseURI) {
                return resolverMap.get(namespaceURI);
            }
        });


        Method m = findMethod(schemaLoader, "loadInputList");
        String name = m.getParameterTypes()[0].getName() + "Impl";
        name = name.replace("xs.LS", "impl.xs.util.LS");
        Class<?> c = Class.forName(name);
        Object inputList = c.getConstructor(LSInput[].class, Integer.TYPE)
            .newInstance(inputs.toArray(new LSInput[0]), inputs.size());
        m.invoke(schemaLoader, inputList);
    } catch (InvocationTargetException e) {
        throw (Exception)e.getTargetException();
    }
}
 
源代码29 项目: TencentKona-8   文件: DOMErrorHandlerWrapper.java
public DOMErrorHandler getErrorHandler(){
    return fDomErrorHandler;
}
 
源代码30 项目: TencentKona-8   文件: DOMSerializerImpl.java
/** DOM L3-EXPERIMENTAL:
 * Check if parameter can be set
 */
public boolean canSetParameter(String name, Object state) {

    if (state == null) {
        return true;
    }

    if (state instanceof Boolean) {
        boolean value = ((Boolean) state).booleanValue();

        if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)
            || name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)
            || name.equalsIgnoreCase(Constants.DOM_DISCARD_DEFAULT_CONTENT)
            || name.equalsIgnoreCase(Constants.DOM_XMLDECL)
            || name.equalsIgnoreCase(Constants.DOM_WELLFORMED)
            || name.equalsIgnoreCase(Constants.DOM_INFOSET)
            || name.equalsIgnoreCase(Constants.DOM_ENTITIES)
            || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)
            || name.equalsIgnoreCase(Constants.DOM_COMMENTS)
            || name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)
            || name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)) {
            // both values supported
            return true;
        } else if (name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
            || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
            || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
            || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION)
            || name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)) {
            // || name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)) {
            // true is not supported
            return !value;
        } else if (name.equalsIgnoreCase(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
            || name.equalsIgnoreCase(Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) {
            // false is not supported
            return value;
        }
    } else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER) &&
        state == null || state instanceof DOMErrorHandler) {
        return true;
    }

    return false;
}
 
 类所在包
 类方法
 同包方法