10 package de.uni_hamburg.corpora.validation;
18 import java.io.IOException;
19 import java.net.URISyntaxException;
21 import java.nio.file.Paths;
22 import java.util.Collection;
23 import javax.xml.transform.Source;
24 import javax.xml.transform.stream.StreamSource;
25 import javax.xml.validation.Schema;
26 import javax.xml.validation.SchemaFactory;
27 import javax.xml.validation.Validator;
28 import javax.xml.XMLConstants;
29 import javax.xml.parsers.ParserConfigurationException;
30 import javax.xml.transform.TransformerException;
31 import javax.xml.xpath.XPathExpressionException;
32 import org.exmaralda.partitureditor.jexmaralda.JexmaraldaException;
33 import org.jdom.JDOMException;
34 import org.xml.sax.SAXException;
56 throws SAXException, JDOMException, IOException, JexmaraldaException, TransformerException, ParserConfigurationException, XPathExpressionException{
57 System.out.println(
"Checking the exb file against DTD...");
58 String exbSchemaPath =
new File(
"src\\test\\java\\de\\uni_hamburg\\corpora\\resources\\schemas\\exb_schema.xsd").getAbsolutePath();
59 URL exbSchema = Paths.get(exbSchemaPath).toUri().toURL();
61 SchemaFactory schemaFactory =
62 SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
63 Schema schema = schemaFactory.newSchema(exbSchema);
64 Validator validator = schema.newValidator();
66 validator.setErrorHandler(eh);
67 validator.validate(xmlStream);
78 Class cl = Class.forName(
"de.uni_hamburg.corpora.BasicTranscriptionData");
80 }
catch (ClassNotFoundException ex) {
91 String description =
"This class validates a exb file with its DTD file. ";
96 public Report function(
Corpus c, Boolean fix)
throws SAXException, IOException, ParserConfigurationException, URISyntaxException, JDOMException, TransformerException, XPathExpressionException, JexmaraldaException {
98 for (
CorpusData cdata : c.getBasicTranscriptionData()) {
99 stats.
merge(
function(cdata, fix));
Collection< Class<?extends CorpusData > > getIsUsableFor()
static InputStream String2InputStream(String s)
void addException(Throwable e, String description)