// transform to a known schema if required
String toKnownSchemaXslt = schema.getInterrogation().getToKnownSchemaXslt();
if ((toKnownSchemaXslt != null) && (toKnownSchemaXslt.length() > 0)) {
try {
XsltTemplate template = getCompiledTemplate(toKnownSchemaXslt);
DOMSource source = new DOMSource(dom);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
HashMap<String,String> params = new HashMap<String,String>();
params.put("currentDate", getDateTime());
params.put("sourceUrlUuid",
"{" +
UUID.nameUUIDFromBytes(
this._sourceUri.toLowerCase().toString().getBytes())
.toString().toUpperCase() + "}");
params.put("sourceUrl", this._sourceUri.toLowerCase().contains("?f=json")?this._sourceUri.substring(0,this._sourceUri.indexOf("?")):this._sourceUri);
if(this._sourceUri != null){
String[] s = this._sourceUri.split("&");
for(int i=0;i < s.length; i++){
int serviceIndexStart = s[i].toUpperCase().indexOf("SERVICE=");
if( serviceIndexStart > -1){
params.put("serviceType", s[i].substring(serviceIndexStart+8,s[i].length()));
}
}
}
template.transform(source,result,params);
_transformedToKnownXml = Val.chkStr(writer.toString());
dom = loadDom(_transformedToKnownXml);
schema = schemas.interrogate(dom);
schema.setActiveDocumentXml(_transformedToKnownXml);
} catch (TransformerException e) {