#21 HTML Extraktion mit in der API angebunden

This commit is contained in:
Andreas Penski (init) 2019-05-17 14:25:45 +02:00 committed by Andreas Penski
parent 7ba7c84533
commit 65f4dfad68
3 changed files with 40 additions and 0 deletions

View file

@ -3,6 +3,7 @@ package de.kosit.validationtool.api;
import java.util.List;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import net.sf.saxon.s9api.XdmNode;
@ -40,4 +41,27 @@ public interface Result {
*/
List<XmlError> getSchemaViolations();
// TODO scheitert momentan daran, das intern kein svlr o.ä. zur Verfügung steht
// List<XmlError> getSchematronResult();
/**
* Extrahiert evtl. vorhandenes HTML aus dem Report und stellt diese als {@link XdmNode}-Objekt zur Verfügung.
*
* @return HTML-Nodes
*/
List<XdmNode> extractHtml();
/**
* Extrahiert evtl. vorhandenes HTML aus dem Report und stellt diese als {@link String} zur Verfügung.
*
* @return HTML-Nodes
*/
List<String> extractHtmlAsString();
/**
* Extrahiert evtl. vorhandenes HTML aus dem Report und stellt diese im als {@link Element}-Objekt zur Verfügung.
*
* @return HTML-Nodes
*/
List<Element> extractHtmlAsElement();
}

View file

@ -84,6 +84,11 @@ public abstract class BaseXMLSyntaxError implements XmlError {
*/
public abstract XMLSyntaxErrorSeverity getSeverityCode();
/**
* Dies ist der API-Zugriff. Es gibt zwei Methoden, weil es für die API einen abweichenden Typ gibt.
*
* @return der Schweregrad
*/
@Override
public Severity getSeverity() {
final XMLSyntaxErrorSeverity code = getSeverityCode();

View file

@ -92,4 +92,15 @@ public class DefaultCheckTest {
assertThat(docs).hasSize(MULTI_COUNT);
}
@Test
public void testExtractHtml() {
final DefaultResult doc = (DefaultResult) this.implementation.checkInput(read(VALID_EXAMPLE));
assertThat(doc).isNotNull();
assertThat(doc.getReport()).isNotNull();
assertThat(doc.isAcceptable()).isFalse();
assertThat(doc.extractHtmlAsString()).isNotEmpty();
assertThat(doc.extractHtmlAsElement()).isNotEmpty();
assertThat(doc.extractHtml()).isNotEmpty();
}
}