当前位置: 首页>>代码示例>>Java>>正文


Java SAXReader.setValidation方法代码示例

本文整理汇总了Java中org.dom4j.io.SAXReader.setValidation方法的典型用法代码示例。如果您正苦于以下问题:Java SAXReader.setValidation方法的具体用法?Java SAXReader.setValidation怎么用?Java SAXReader.setValidation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.dom4j.io.SAXReader的用法示例。


在下文中一共展示了SAXReader.setValidation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setValidationFor

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
private void setValidationFor(SAXReader saxReader, String xsd) {
	try {
		saxReader.setFeature( "http://apache.org/xml/features/validation/schema", true );
		// saxReader.setFeature( "http://apache.org/xml/features/validation/dynamic", true );
		if ( "orm_2_1.xsd".equals( xsd ) ) {
			saxReader.setProperty(
					"http://apache.org/xml/properties/schema/external-schemaLocation",
					"http://xmlns.jcp.org/xml/ns/persistence/orm " + xsd
			);
		}
		else {
			saxReader.setProperty(
					"http://apache.org/xml/properties/schema/external-schemaLocation",
					"http://java.sun.com/xml/ns/persistence/orm " + xsd
			);
		}
	}
	catch ( SAXException e ) {
		saxReader.setValidation( false );
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:22,代码来源:MappingReader.java

示例2: legacyReadMappingDocument

import org.dom4j.io.SAXReader; //导入方法依赖的package包/类
private XmlDocument legacyReadMappingDocument(EntityResolver entityResolver, InputSource source, Origin origin) {
	// IMPL NOTE : this is the legacy logic as pulled from the old AnnotationConfiguration code

	Exception failure;

	ErrorLogger errorHandler = new ErrorLogger();

	SAXReader saxReader = new SAXReader();
	saxReader.setEntityResolver( entityResolver );
	saxReader.setErrorHandler( errorHandler );
	saxReader.setMergeAdjacentText( true );
	saxReader.setValidation( true );

	Document document = null;
	try {
		// first try with orm 2.1 xsd validation
		setValidationFor( saxReader, "orm_2_1.xsd" );
		document = saxReader.read( source );
		if ( errorHandler.hasErrors() ) {
			throw errorHandler.getErrors().get( 0 );
		}
		return new XmlDocumentImpl( document, origin.getType(), origin.getName() );
	}
	catch ( Exception e ) {
		if ( LOG.isDebugEnabled() ) {
			LOG.debugf( "Problem parsing XML using orm 2.1 xsd, trying 2.0 xsd : %s", e.getMessage() );
		}
		failure = e;
		errorHandler.reset();

		if ( document != null ) {
			// next try with orm 2.0 xsd validation
			try {
				setValidationFor( saxReader, "orm_2_0.xsd" );
				document = saxReader.read( new StringReader( document.asXML() ) );
				if ( errorHandler.hasErrors() ) {
					errorHandler.logErrors();
					throw errorHandler.getErrors().get( 0 );
				}
				return new XmlDocumentImpl( document, origin.getType(), origin.getName() );
			}
			catch ( Exception e2 ) {
				if ( LOG.isDebugEnabled() ) {
					LOG.debugf( "Problem parsing XML using orm 2.0 xsd, trying 1.0 xsd : %s", e2.getMessage() );
				}
				errorHandler.reset();

				if ( document != null ) {
					// next try with orm 1.0 xsd validation
					try {
						setValidationFor( saxReader, "orm_1_0.xsd" );
						document = saxReader.read( new StringReader( document.asXML() ) );
						if ( errorHandler.hasErrors() ) {
							errorHandler.logErrors();
							throw errorHandler.getErrors().get( 0 );
						}
						return new XmlDocumentImpl( document, origin.getType(), origin.getName() );
					}
					catch ( Exception e3 ) {
						if ( LOG.isDebugEnabled() ) {
							LOG.debugf( "Problem parsing XML using orm 1.0 xsd : %s", e3.getMessage() );
						}
					}
				}
			}
		}
	}
	throw new InvalidMappingException( "Unable to read XML", origin.getType(), origin.getName(), failure );
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:70,代码来源:MappingReader.java


注:本文中的org.dom4j.io.SAXReader.setValidation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。