// no PID, always return the currently-supported HTML version
if (pid == null || "".equals(pid)){
return staticHTML5;
}
HTMLDocumentTypeEntry entry = doctypeRegistry.getEntry(pid);
if (entry == null)
return staticHTML;
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=151000 - use internal content model
if (entry.useInternalModel()) {
if (pid != null && pid.equals(HTMLDocumentTypeRegistry.CHTML_PUBLIC_ID)) {
return staticCHTML;
}
return staticHTML;
}
pid = entry.getPublicId();
String sid = entry.getSystemId();
CMDocument dtdcm = xhtmlassoc.getXHTMLCMDocument(pid, sid);
if (dtdcm == null) {
if (pid != null && pid.equals(HTMLDocumentTypeRegistry.CHTML_PUBLIC_ID)) {
return staticCHTML;
}
return staticHTML;
}
String grammarURI = xhtmlassoc.getCachedGrammerURI();
CMDocument buddycm = (CMDocument) buddyCache.get(grammarURI);
if (buddycm != null)
return buddycm;
buddycm = new CMDocumentForBuddySystem(dtdcm, entry.isXMLType());
buddyCache.put(grammarURI, buddycm);
return buddycm;
}