code: public static CmsXmlPage unmarshal(String xmlData, String encoding, EntityResolver resolver)
      throws CmsXmlException {
  
          return new CmsXmlPage(CmsXmlUtils.unmarshalHelper(xmlData, resolver), encoding);
      }
docs: Factory method to unmarshal (read) a XML page instance from a String
  that contains XML data.<p>
  
  When unmarshalling, the encoding is read directly from the XML header.
  The given encoding is used only when marshalling the XML again later.<p>
  
  @param xmlData the XML data in a String
  @param encoding the encoding to use when marshalling the XML page later
  @param resolver the XML entity resolver to use
  
  @return a XML page instance unmarshalled from the String
  
  @throws CmsXmlException if something goes wrong