dnet-core/dnet-core-components/src/test/java/eu/dnetlib/miscutils/functional/xml/ApplyXsltTest.java

42 lines
1.5 KiB
Java

package eu.dnetlib.miscutils.functional.xml;
import static org.junit.Assert.*;
import java.io.IOException;
import javax.xml.transform.TransformerFactory;
import org.apache.commons.io.IOUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnit44Runner;
import org.springframework.core.io.ClassPathResource;
@RunWith(MockitoJUnit44Runner.class)
public class ApplyXsltTest {
TransformerFactory tf = TransformerFactory.newInstance();
private static final Class<?> transformerClass = net.sf.saxon.TransformerFactoryImpl.class;
@Test
public void testTransformerFactoryType() {
assertEquals(tf.getClass(), transformerClass);
}
@Test
public void applyXslt() throws IOException {
String record = IOUtils.toString((new ClassPathResource("/eu/dnetlib/miscutils/functional/xml/sampleRecord.xml")).getInputStream());
String layout = IOUtils.toString((new ClassPathResource("/eu/dnetlib/miscutils/functional/xml/sampleIndexLayout.xml")).getInputStream());
String indexXsltOfXslt = IOUtils.toString((new ClassPathResource("/eu/dnetlib/miscutils/functional/xml/layoutToRecordStylesheet.xsl")).getInputStream());
ApplyXslt applyXslt = new ApplyXslt(IOUtils.toString((new ClassPathResource("/eu/dnetlib/miscutils/functional/xml/recordStylesheet.xsl")).getInputStream()));
ApplyXslt xslt1 = new ApplyXslt(indexXsltOfXslt);
String indexXslt = xslt1.evaluate(layout);
ApplyXslt xslt2 = new ApplyXslt(indexXslt);
String response = xslt2.evaluate(record);
System.out.println(response);
}
}