private MessageML parseMessageML ( String messageML , String version ) throws InvalidInputException , ProcessingException { validateMessageText ( messageML ) ; org . w3c . dom . Element docElement = parseDocument ( messageML ) ; validateEntities ( docElement , entityJson ) ; switch ( docElement . getTagName ( ) ) { case MessageML . MESSAGEML_TAG : this . messageFormat = FormatEnum . MESSAGEML ; if ( StringUtils . isBlank ( version ) ) { version = MessageML . MESSAGEML_VERSION ; } break ; case MessageML . PRESENTATIONML_TAG : this . messageFormat = FormatEnum . PRESENTATIONML ; break ; default : throw new InvalidInputException ( "Root tag must be <" + MessageML . MESSAGEML_TAG + ">" + " or <" + MessageML . PRESENTATIONML_TAG + ">" ) ; } MessageML result = new MessageML ( messageFormat , version ) ; result . buildAll ( this , docElement ) ; result . validate ( ) ; return result ; }
Parse the message string into its MessageML representation .