code: public static CmsXmlContentDefinition unmarshal(String schemaLocation, EntityResolver resolver)
      throws CmsXmlException, SAXException, IOException {
  
          schemaLocation = translateSchema(schemaLocation);
          CmsXmlContentDefinition result = getCachedContentDefinition(schemaLocation, resolver);
          if (result == null) {
              // content definition was not found in the cache, unmarshal the XML document
              InputSource source = resolver.resolveEntity(null, schemaLocation);
              result = unmarshalInternal(CmsXmlUtils.unmarshalHelper(source, resolver), schemaLocation, resolver);
          }
          return result;
      }
docs: Factory method to unmarshal (read) a XML content definition instance from a given XML schema location.<p>
  
  The XML content definition data to unmarshal will be read from the provided schema location using
  an XML InputSource.<p>
  
  @param schemaLocation the location from which to read the XML schema (system id)
  @param resolver the XML entity resolver to use
  
  @return a XML content definition instance unmarshalled from the InputSource
  
  @throws CmsXmlException if something goes wrong
  @throws SAXException if the XML schema location could not be converted to an XML InputSource
  @throws IOException if the XML schema location could not be converted to an XML InputSource