SchemaFactory Sınıfı
newInstance metodu
Factory şöyle yaratılır.
XSD dosyasını yüklemek için kullanılır. Dosyadan yüklemek için şöyle yaparız.
Şöyle yaparız.
setErrorHandler metodu
Bir ErrorHandler sınıfı tanımlarız
Verilen XML'i doğrular.
newInstance metodu
Factory şöyle yaratılır.
SchemaFactory f = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
Şöyle de yapabilirdik.SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
newSchema metoduXSD dosyasını yüklemek için kullanılır. Dosyadan yüklemek için şöyle yaparız.
Schema schema = factory.newSchema(new File("/tmp/checkxsd.xsd"));
Stream'den yüklemek için şöyle yaparız.InputStream xsd = ...;
Schema schema = factory.newSchema(new StreamSource(xsd));
String'den yükleme için şöyle yaparız.
newValidator metoduSchema schema = factory.newSchema(new StreamSource(new StringReader(xsd)))
Schema SınıfıŞöyle yaparız.
Validator validator = schema.newValidator();
Validator SınıfısetErrorHandler metodu
Bir ErrorHandler sınıfı tanımlarız
public class LoggingErrorHandler implements ErrorHandler {
@Override
public void warning(SAXParseException exc) {..}
@Override
public void error(SAXParseException exc) {...}
@Override
public void fatalError(SAXParseException exc) throws SAXParseException {...}
}
Bu sınıfı Validator nesnesine veririz.LoggingErrorHandler errorHandler = new LoggingErrorHandler();
validator.setErrorHandler(errorHandler);
validate metoduVerilen XML'i doğrular.
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new File("/home/my-pc/MyXMLFile.xml"))
Şöyle de yapabiliriz.InputStream xml = ...;
Validator validator = schema.newValidator();
validator.validate(new StreamSource(xml));
Eğer hata varsa exception atar.
Validator validator = schema.newValidator();
Source source = new StreamSource(myXmlFile);
try {
validator.validate(source);
return null;
}catch (SAXException ex) {
String validationMessage = ex.getMessage();
return validationMessage;
}
Hiç yorum yok:
Yorum Gönder