本文整理汇总了Java中org.apache.xerces.parsers.DOMParser.setErrorHandler方法的典型用法代码示例。如果您正苦于以下问题:Java DOMParser.setErrorHandler方法的具体用法?Java DOMParser.setErrorHandler怎么用?Java DOMParser.setErrorHandler使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.xerces.parsers.DOMParser
的用法示例。
在下文中一共展示了DOMParser.setErrorHandler方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: XMLUtils
import org.apache.xerces.parsers.DOMParser; //导入方法依赖的package包/类
public XMLUtils() {
try {
// Bertoli Marco - load schema inside JAR
String externalSchemaLocation = XSDSchemaLoader.loadSchema(XSDSchemaLoader.JMVA_MODEL_DEFINITION);
//String externalSchemaLocation = "xml//JMTmodel.xsd";
parser = new DOMParser();
parser.setFeature(NAMESPACES_FEATURE_ID, true);
parser.setFeature(VALIDATION_FEATURE_ID, true);
parser.setFeature(VALIDATION_DYNAMIC_FEATURE_ID, true);
//parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, false);
//parser.setFeature(SCHEMA_FULL_CHECKING_FEATURE_ID, true);
//parser.setProperty(EXTERNAL_SCHEMA_LOCATION_PROPERTY_ID, externalSchemaLocation);
//parser.setFeature(INCLUDE_IGNORABLE_WHITESPACE, false);
//NEW
//TODO:
parser.setProperty(EXTERNAL_SCHEMA_LOCATION_PROPERTY_ID, externalSchemaLocation);
//end NEW
//parser.setProperty(JAXP_SCHEMA_LANGUAGE,W3C_XML_SCHEMA);
parser.setErrorHandler(new ErrorCatcher());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
示例2: getParser
import org.apache.xerces.parsers.DOMParser; //导入方法依赖的package包/类
/**
* Get your non-cached DOM parser which can be configured to do schema
* based validation of the instance Document.
*
*/
public static DOMParser getParser(
String schemaLocationPropertyValue,
EntityResolver entityResolver,
boolean validate)
throws SAXNotRecognizedException, SAXNotSupportedException
{
boolean doingValidation =
(validate || (schemaLocationPropertyValue != null));
DOMParser parser = new DOMParser();
parser.setEntityResolver(entityResolver);
parser.setErrorHandler(new SaxErrorHandler());
parser.setFeature(DEFER_NODE_EXPANSION, false);
parser.setFeature(NAMESPACES_FEATURE_ID, true);
parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, doingValidation);
parser.setFeature(VALIDATION_FEATURE_ID, doingValidation);
if (schemaLocationPropertyValue != null) {
parser.setProperty(
SCHEMA_LOCATION,
schemaLocationPropertyValue.replace('\\', '/'));
}
return parser;
}
示例3: parse
import org.apache.xerces.parsers.DOMParser; //导入方法依赖的package包/类
/**
* XML Parsing
* @param isValid - Validation 검사여부
* @return 파싱결과
* @throws ValidatorException
*/
@Override
public boolean parse(boolean isValid) throws ValidatorException {
// TODO Auto-generated method stub
try {
if ( (getXML() == null) && (getXMLFile() == null) ) {
String message = null;
if ( isValid ) {
message = "XML Validation을 체크하기 위한 XML이 필요합니다.";
} else {
message = "Well-Formed를 체크하기 위한 XML이 필요합니다.";
}
}
//파서를 생성한다. DOM 파서는 파서의 직접 생성이 가능하다.
DOMParser parser = new DOMParser();
//Validation의 실행 유무를 결정한다. isValid가 false일 경우 XML 문서가
//Well-Formed인지의 여부만 체크한다.
//true로 설정할 경우 XML 문서의 Validation을 체크한다.
// Well-formed : XML문서가 갖추어야 할 기본 조건을 잘지키는 문서
// Valid : Well-formed+DTD 조건을 추가로 지키고 있는 문
parser.setFeature("http://xml.org/sax/features/validation", isValid);
if(getSCHEMAFile() != null)
{
parser.setFeature("http://apache.org/xml/features/validation/schema",true);
parser.setFeature("http://apache.org/xml/features/validation/schema-full-checking", true);
parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", getSCHEMAFile() );
}
//에러 메시지를 저장할 ErrorHandler를 세팅한다.
ErrorChecker errors = new ErrorChecker();
//파서에 ErrorHandler를 전달한다.
parser.setErrorHandler(errors);
//XML 문서를 파싱한다.
if (getXMLFile() != null) {
parser.parse(getXMLFile());
} else {
parser.parse(stringToInputSource());
}
Set errorReport = errors.getErrorReport();
//XML 문서 파싱시 발생된 에러가 있다면 XMLValidatorException을
//이용해서 에러 메시지를 사용자에게 전달한다.
if (errorReport.size() > 0) {
makeErrorMessage(errorReport);
return false;
} else {
return true;
}
} catch (Exception e) {
throw new ValidatorException(e.getMessage());
}
}