private double[] _getMincRange(Node node)
  {
    double[] max = new double[2];
    NamedNodeMap map;
    Node attribute;
    while(node != null ){
      if(node.getNodeName() == "VARIABLES"){
	  
	NodeList list = node.getChildNodes();
	for(int i = 0; i < list.getLength(); i++){
	  Node nodeForImage = list.item(i);

	  // Search for "image"
	  if(nodeForImage.getNodeName().equals("image")){
		    
	    NodeList listUnderImage = nodeForImage.getChildNodes();
	    for(int n = 0; n < listUnderImage.getLength(); n++){
	      Node nodeForATTR = listUnderImage.item(n);

	      // Search for "ATTRIBUTES"
	      if(nodeForATTR.getNodeName().equals("ATTRIBUTES")){
		NodeList listUnderATTR = nodeForATTR.getChildNodes();
		for(int m = 0; m < listUnderATTR.getLength(); m++){
		  Node nodeForValRan = listUnderATTR.item(m);

		  // search for "valid_range"
		  if(nodeForValRan.getNodeName().equals("valid_range")){
		    NodeList valRanList = nodeForValRan.getChildNodes();
		    for(int k = 0; k < max.length; k++){
		      Node valRanNode = valRanList.item(k);
		      map = valRanNode.getAttributes();
		      attribute = map.getNamedItem("value");
 		      max[k] = (new Double(attribute.getNodeValue()))  
 			  .doubleValue();
		    }
		  }
		}
	      }
	    }
	  }
	}
      }
      node = node.getNextSibling();
    }
    return max;
  }