⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schemavalidator.java

📁 精通Jboss——Ejb和Web Services开发精解的随书源代码
💻 JAVA
字号:
/**
 * Validator.java
 * 
 * Created on 2003-5-18 11:14:19
 */
package com.liuyang.ejb.xml.validation;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;

import org.iso_relax.verifier.Verifier;
import org.iso_relax.verifier.VerifierConfigurationException;
import org.iso_relax.verifier.VerifierFactory;
import org.jdom.Document;
import org.jdom.transform.JDOMSource;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import com.sun.msv.driver.textui.ReportErrorHandler;
/**
 * @author
 * <a href="mailto:jdcyang@yahoo.com.cn">刘洋</a>
 */
public class SchemaValidator extends Validator {

	private Verifier verifier = null;

	/**
	 * @param xsd
	 */
	public SchemaValidator(File xsd) {
		
		// TODO Auto-generated constructor stub
		VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
		try {
			verifier = factory.newVerifier(xsd);
		} catch (VerifierConfigurationException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
			return;
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		}
		verifier.setErrorHandler( new ReportErrorHandler() );
	}	
	/**
	 * @param xsd
	 */
	public SchemaValidator(InputSource xsd) {
		
		// TODO Auto-generated constructor stub
		VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
		try {
			verifier = factory.newVerifier(xsd);
		} catch (VerifierConfigurationException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
			return;
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		}
		verifier.setErrorHandler( new ReportErrorHandler() );
	}
	/**
	 * @param xsd
	 */
	public SchemaValidator(InputStream xsd) {
		
		// TODO Auto-generated constructor stub
		VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
		try {
			verifier = factory.newVerifier(xsd);
		} catch (VerifierConfigurationException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
			return;
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		}
		verifier.setErrorHandler( new ReportErrorHandler() );
	}	
	/**
	 * @param xsd
	 */
	public SchemaValidator(String xsd) {
		
		// TODO Auto-generated constructor stub
		VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
		try {
			verifier = factory.newVerifier(xsd);
		} catch (VerifierConfigurationException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
			return;
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			xsdok =false;
			e.printStackTrace();
		}
		verifier.setErrorHandler( new ReportErrorHandler() );
	}

	/**
	 * @return
	 */
	public Verifier getVerifier() {
		return verifier;
	}

	/**
	 * @param verifier
	 */
	public void setVerifier(Verifier verifier) {
		this.verifier = verifier;
	}
	/* (non-Javadoc)
	 * @see com.liuy.commons.schema.Validater#validate(java.io.File)
	 */
	public boolean validate(File xmlinstance) {
		// TODO Auto-generated method stub
		if(xsdok == false)return false;
		boolean result = false;
		try {
			result = verifier.verify(xmlinstance);
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
	/* (non-Javadoc)
	 * @see com.liuy.commons.schema.Validater#validate(org.xml.sax.InputSource)
	 */
	public boolean validate(InputSource xmlinstance) {
		// TODO Auto-generated method stub
		if(xsdok == false)return false;
		boolean result = false;
		try {
			result = verifier.verify(xmlinstance);
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
	/* (non-Javadoc)
	 * @see com.liuy.commons.schema.Validater#validate(org.w3c.dom.Node)
	 */
	public boolean validate(Node xmlinstance) {
		// TODO Auto-generated method stub
		if(xsdok == false)return false;
		boolean result = false;
		try {
			result = verifier.verify(xmlinstance);
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}	

	/**
	 * @param xmlinstance
	 * @return
	 */
	public boolean validate(Document xmlinstance) {
		// TODO Auto-generated method stub
		if(xsdok == false)return false;
		boolean result = false;
		try {
			result = verifier.verify(new JDOMSource(xmlinstance).getInputSource());
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}

	/**
	 * @param xmlinstance
	 * @return
	 */
	public boolean validate(String xmlinstance) {
		// TODO Auto-generated method stub
		if(xsdok == false)return false;
		boolean result = false;
		try {
			result = verifier.verify(xmlinstance);
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -