StringWriter buffer = new StringWriter();
try {
getXSLT().applyTo(in, buffer);
} catch (XSLTStylesheetException xslte) {
throw new ExtractionException("An error occurred during the XSLT application.", xslte);
}
try {
RDFParser parser
= RDFParserFactory.getInstance().getRDFXMLParser(
verifyDataType, stopAtFirstError, extractionContext, out
);
parser.parse(
new StringReader(buffer.getBuffer().toString()),
extractionContext.getDocumentURI().stringValue()
);
} catch (RDFHandlerException ex) {
throw new IllegalStateException(
"Should not happen, RDFHandlerAdapter does not throw RDFHandlerException", ex
);
} catch (RDFParseException ex) {
throw new ExtractionException(
"Invalid RDF/XML produced by RDFa transform.", ex, out
);
}
}