NrofDataFormats = DataFormatList.length; IntRadix = new int [NrofDataFormats];    for (int i=0; i < NrofDataFormats; i++) { if (DataFormatList[i] instanceof IntegerDataFormat) { String type = ((IntegerDataFormat) DataFormatList[i]).getType(); if (type.equals(Constants.INTEGER_TYPE_DECIMAL)) IntRadix[i] = 10; else if (type.equals(Constants.INTEGER_TYPE_HEX)) IntRadix[i] = 16; else if (type.equals(Constants.INTEGER_TYPE_OCTAL)) IntRadix[i] = 8; else IntRadix[i] = 10; } else if (DataFormatList[i] instanceof BinaryIntegerDataFormat) { IntRadix[i] = 10; } }
       public Object action (SaxDocumentHandler handler, AttributeList attrs) {           // we only need to do these things for the first time we enter          // a data node          if (DataNodeLevel == 0) {             // A little 'pre-handling' as href is a specialattribute             // that will hold an (Href) object rather than string value              Href hrefObj = null;             String hrefValue = getAttributeListValueByName(attrs,"href");             if (hrefValue != null )              {                // now we look up the href from the entity list gathered by                // the parser and transfer relevant info to our Href object                 hrefObj = new Href();                Hashtable hrefInfo = (Hashtable) UnParsedEntity.get(hrefValue);                if (UnParsedEntity.containsKey(hrefValue))                 {                   hrefObj.setName((String) hrefInfo.get("name"));                   if (hrefInfo.containsKey("base"))                       hrefObj.setBase((String) hrefInfo.get("base"));                   if (hrefInfo.containsKey("sysId"))                       hrefObj.setSysId((String) hrefInfo.get("sysId"));                   if (hrefInfo.containsKey("pubId"))                       hrefObj.setPubId((String) hrefInfo.get("pubId"));                   if (hrefInfo.containsKey("ndata"))                       hrefObj.setNdata((String) hrefInfo.get("ndata"));                } else {                   // bizarre. It usually means that the unparsed entity handler                   // isnt working like it should                   Log.error("Error: UnParsedEntity list lacks entry for :"+hrefValue);                   Log.errorln(" ignoring request to read data.");                }             }             // update the array dataCube with passed attributes             CurrentArray.getDataCube().setXMLAttributes(attrs);             // Clean up. We override the string value of Href and set it as             // the Href object , if we created it (yeh, sloppy).              if (hrefObj != null)                 CurrentArray.getDataCube().setHref(hrefObj);             // determine the size of the dataFormat (s) in our dataCube             if (CurrentArray.hasFieldAxis()) {                 // if there is a field axis, then its set to the number of fields                 FieldAxis fieldAxis = CurrentArray.getFieldAxis();                 MaxDataFormatIndex = (fieldAxis.getLength()-1);             } else {                 // its homogeneous                  MaxDataFormatIndex = 0;             }                               // reset to start of which dataformat type we currently are reading             CurrentDataFormatIndex = 0;                 // reset to start of which IOCmd we currently are reading             CurrentIOCmdIndex = 0;                 // reset the list of dataformats we are reading             DataFormatList = CurrentArray.getDataFormatList();          }          XMLDataIOStyle readObj = CurrentArray.getXMLDataIOStyle();          FastestAxis = (AxisInterface) CurrentArray.getAxisList().get(0);          LastFastAxisCoordinate = -1;          if ( readObj instanceof TaggedXMLDataIOStyle) {             TaggedLocatorObj = CurrentArray.createLocator();          } else {             // A safety. We clear datablock when this is the first datanode we              // have entered DATABLOCK is used in cases where we read in untagged data             if (DataNodeLevel == 0) DATABLOCK = new StringBuffer ();          }          // tack in href data           if (CurrentArray.getDataCube().getHref() != null)               DATABLOCK.append(getHrefData(CurrentArray.getDataCube().getHref()));              //loadHrefDataIntoCurrentArray();          // entered a datanode, raise the count           // this (partially helps) declare we are now reading data,           DataNodeLevel++;           return readObj;       }