code: private void cacheDtdSystemId(I_CmsXmlConfiguration configuration) {
  
          if (configuration.getDtdSystemLocation() != null) {
              try {
                  String file = CmsFileUtil.readFile(
                      configuration.getDtdSystemLocation() + configuration.getDtdFilename(),
                      CmsEncoder.ENCODING_UTF_8);
                  CmsXmlEntityResolver.cacheSystemId(
                      configuration.getDtdUrlPrefix() + configuration.getDtdFilename(),
                      file.getBytes(CmsEncoder.ENCODING_UTF_8));
                  if (LOG.isDebugEnabled()) {
                      LOG.debug(
                          Messages.get().getBundle().key(
                              Messages.LOG_CACHE_DTD_SYSTEM_ID_1,
                              configuration.getDtdUrlPrefix()
                                  + configuration.getDtdFilename()
                                  + " --> "
                                  + configuration.getDtdSystemLocation()
                                  + configuration.getDtdFilename()));
                  }
              } catch (IOException e) {
                  LOG.error(
                      Messages.get().getBundle().key(
                          Messages.LOG_CACHE_DTD_SYSTEM_ID_FAILURE_1,
                          configuration.getDtdSystemLocation() + configuration.getDtdFilename()),
                      e);
              }
          }
      }
docs: Adds a new DTD system id prefix mapping for internal resolution of external URLs.<p>
  
  @param configuration the configuration to add the mapping from