if (attribName.equals(sPCDATAAttribute)) { xmlInfo.put("PCDATA", obj.attribValue); } else { Hashtable item = new Hashtable(); item.put("name", attribName); item.put("value", obj.attribValue); attribList.add(item); } } else { if(obj.attribType == Constants.NUMBER_TYPE || obj.attribType == Constants.STRING_OR_NUMBER_TYPE) { Hashtable item = new Hashtable(); item.put("name", attribName); item.put("value", obj.attribValue.toString()); attribList.add(item); } else { if ((obj.attribType !=Constants.LIST_TYPE) || (((List)obj.attribValue).size()!=0)) {
if (attribName.equals(Specification.getInstance().getPCDATAAttribute())) { xmlInfo.put("PCDATA", obj.attribValue); }else {
  protected Hashtable getXMLInfo () {    Hashtable xmlInfo = new Hashtable();    ArrayList attribList = new ArrayList();    ArrayList objRefList = new ArrayList();    int size = attribHash.size();    for (int i = 0; i < size; i++) {      String attribName = (String) attribOrder.get(i);      XMLAttribute obj = (XMLAttribute) attribHash.get(attribName);      if (obj != null && obj.attribValue != null) {        if ( obj.attribType == Constants.STRING_TYPE)        {          if (attribName.equals(sPCDATAAttribute)) {            xmlInfo.put("PCDATA", obj.attribValue);          } else {            Hashtable item = new Hashtable();            item.put("name", attribName);            item.put("value", obj.attribValue);            attribList.add(item);          }        }        else {          if(obj.attribType == Constants.NUMBER_TYPE ||             obj.attribType == Constants.STRING_OR_NUMBER_TYPE) {  //it's an attribute of Number type            Hashtable item = new Hashtable();            item.put("name", attribName);            item.put("value", obj.attribValue.toString());            attribList.add(item);          }          else {// add to list if it is not an empty list  -k.z.            if ((obj.attribType !=Constants.LIST_TYPE) || (((List)obj.attribValue).size()!=0)) {              Hashtable item = new Hashtable();              item.put("name", attribName);              item.put("value", obj.attribValue);              item.put("type", obj.attribType);              objRefList.add(item);            }          }        }      }    }    xmlInfo.put("attribList", attribList);    xmlInfo.put("childObjList", objRefList);    return xmlInfo;  }