private Vector getMessages(String file) throws Exception {
    file = util_format.replace(file, "//", "/");
    Vector result = new Vector();
    String sourceUrlString = file;

    PHPTagTypes.register();
    PHPTagTypes.PHP_SHORT.deregister();
    MasonTagTypes.register();
    String test = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\"/>\n";
    test += getURLContent(sourceUrlString);

    //	Source source=new Source(new URL(sourceUrlString));
    Source source = new Source(test.subSequence(0, test.length()));
    source.setLogWriter(new OutputStreamWriter(System.err)); // send log messages to stderr
    source.fullSequentialParse();
    List elementList = source.findAllElements();
    HashMap jspParamDesc = new HashMap();
    for (Iterator i = elementList.iterator(); i.hasNext(); ) {
      Element element = (Element) i.next();
      if (element.getName().indexOf("bs:message") == 0) {
        Attributes atts = element.getAttributes();
        if (atts != null && atts.get("code") != null) {
          message mes = new message();
          mes.setCD_MESS(atts.get("code").getValue());
          mes.setCD_LANG("IT");
          try {
            mes.setDESC_MESS(atts.get("defaultValue").getValue());
          } catch (Exception e) {
          }
          result.add(mes);
        }
      }
      if (element.getName().indexOf("jsp:param") == 0) {
        Attributes atts = element.getAttributes();
        if (atts != null
            && atts.get("name") != null
            && atts.get("name").getValue().indexOf("code_tab_desc") == 0) {
          jspParamDesc.put(
              util_format.replace(atts.get("name").getValue(), "code_tab_desc", "def_tab_desc"),
              atts.get("value").getValue());
        }
        if (atts != null
            && atts.get("name") != null
            && atts.get("name").getValue().indexOf("def_tab_desc") == 0) {
          String code = (String) jspParamDesc.get(atts.get("name").getValue());
          if (code != null) {
            message mes = new message();
            mes.setCD_MESS(code);
            mes.setCD_LANG("IT");
            try {
              mes.setDESC_MESS(atts.get("value").getValue());
            } catch (Exception e) {
            }
            result.add(mes);
            jspParamDesc.remove(atts.get("name").getValue());
          }
        }
      }
      if (element.getName().indexOf("bs:show_lm_actionlabel") == 0) {
        Attributes atts = element.getAttributes();
        if (atts != null && atts.get("message_code") != null) {
          message mes = new message();
          mes.setCD_MESS(atts.get("message_code").getValue());
          mes.setCD_LANG("IT");
          try {
            mes.setDESC_MESS(atts.get("message_defaultValue").getValue());
          } catch (Exception e) {
          }
          result.add(mes);
        }
      }
      if (element.getName().indexOf("element") == 0
          || element.getName().indexOf("form-redirect") == 0) {
        Attributes atts = element.getAttributes();
        if (atts != null && atts.get("mess_id") != null) {
          message mes = new message();
          mes.setCD_MESS(atts.get("mess_id").getValue());
          mes.setCD_LANG("IT");
          try {
            mes.setDESC_MESS(atts.get("descr").getValue());
          } catch (Exception e) {
          }
          result.add(mes);
        }
      }
    }

    return result;
  }