Ignore:
Timestamp:
04/15/09 17:34:38 (15 years ago)
Author:
ymipsl
Message:

New Features :

  • Les zoom sont maintenant utilisables.
  • Lorsqu'un serveur ne sort pas de données dans un fichier, le fichier n'est pas crée.
  • Lorsqu'un serveur est le seul a sortir un fichier, l'indexation par numero de process est supprimé.
  • Les axes verticaux ont maintenant un attribut << positive [TRUE/FALSE]>>
File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_SERVER/trunk/src/XMLIO/mod_parse_xml.f90

    r26 r29  
    255255      CALL axis__set(pt_axis,a_size=string_to_integer(value)) 
    256256    ENDIF 
     257 
     258    IF (is_attribute_exist(node,"positive")) THEN 
     259      value =  getAttribute(node,"positive") 
     260      CALL axis__set(pt_axis,positive=string_to_logical(value)) 
     261    ENDIF 
    257262    
    258263  END SUBROUTINE parsing_axis_attribute  
     
    333338    TYPE(grid_group),POINTER :: parent 
    334339     
    335     TYPE(grid),POINTER :: pt_grid 
    336     TYPE(grid),POINTER       :: attribute 
     340    TYPE(grid),POINTER       :: pt_grid 
     341    TYPE(fnode), POINTER     :: child_node 
     342    TYPE(fnodeList), POINTER :: child_list 
    337343    INTEGER :: il 
    338344    CHARACTER(len=100) :: node_name 
     
    348354       
    349355    CALL parsing_grid_attribute(node,pt_grid) 
     356     
     357 
     358   IF (hasChildNodes(node)) THEN 
     359      child_list => getChildnodes(node) 
     360 
     361      DO il=0,getLength(child_list)-1 
     362        child_node => item(child_list,il) 
     363        node_name=getNodename(child_node) 
     364         
     365        SELECT CASE (TRIM(node_name))  
     366         
     367          CASE ('zoom')  
     368            CALL parsing_zoom(child_node,pt_grid) 
     369              
     370          CASE DEFAULT 
     371            IF (is_bad_node(node_name)) THEN 
     372              WRITE(message,*) 'Unknown node <<',TRIM(node_name),'>> while parsing grid' 
     373              CALL Warning("mod_parse_xml:parsing_grid") 
     374            ENDIF 
     375        END SELECT 
     376      ENDDO 
     377    ENDIF 
    350378   
    351379  END SUBROUTINE parsing_grid 
    352380 
    353    
    354381  SUBROUTINE parsing_grid_attribute(node,pt_grid) 
    355382  USE mod_grid 
     
    372399  END SUBROUTINE parsing_grid_attribute  
    373400 
    374  
    375  
    376  
     401  SUBROUTINE parsing_zoom(node,parent) 
     402  USE mod_zoom 
     403  USE mod_grid  
     404  IMPLICIT NONE   
     405    TYPE(fnode), POINTER     :: node 
     406    TYPE(grid),POINTER       :: parent 
     407     
     408    TYPE(zoom),POINTER       :: pt_zoom 
     409    INTEGER :: il 
     410    CHARACTER(len=100) :: node_name 
     411    CHARACTER(len=100) :: value 
     412   
     413       
     414    IF (is_attribute_exist(node,"id")) THEN 
     415      value=getAttribute(node,"id") 
     416      CALL grid__get_new_zoom(parent,pt_zoom,TRIM(value)) 
     417    ELSE 
     418      CALL grid__get_new_zoom(parent,pt_zoom) 
     419    ENDIF 
     420       
     421    CALL parsing_zoom_attribute(node,pt_zoom) 
     422     
     423  END SUBROUTINE parsing_zoom 
     424 
     425 
     426  SUBROUTINE parsing_zoom_attribute(node,pt_zoom) 
     427  USE mod_zoom 
     428  IMPLICIT NONE 
     429    TYPE(fnode), POINTER     :: node 
     430    TYPE(zoom),POINTER       :: pt_zoom 
     431 
     432    CHARACTER(len=100) :: value 
     433    
     434    IF (is_attribute_exist(node,"name")) THEN 
     435      value =  getAttribute(node,"name") 
     436      CALL zoom__set(pt_zoom,name=TRIM(value)) 
     437    ENDIF 
     438 
     439    IF (is_attribute_exist(node,"description")) THEN 
     440      value =  getAttribute(node,"description") 
     441      CALL zoom__set(pt_zoom,description=TRIM(value)) 
     442    ENDIF 
     443 
     444    IF (is_attribute_exist(node,"ni")) THEN 
     445      value =  getAttribute(node,"ni") 
     446      CALL zoom__set(pt_zoom,ni_glo=string_to_integer(value)) 
     447    ENDIF 
     448 
     449    IF (is_attribute_exist(node,"nj")) THEN 
     450      value =  getAttribute(node,"nj") 
     451      CALL zoom__set(pt_zoom,nj_glo=string_to_integer(value)) 
     452    ENDIF 
     453 
     454    IF (is_attribute_exist(node,"ibegin")) THEN 
     455      value =  getAttribute(node,"ibegin") 
     456      CALL zoom__set(pt_zoom,ibegin_glo=string_to_integer(value)) 
     457    ENDIF 
     458 
     459    IF (is_attribute_exist(node,"jbegin")) THEN 
     460      value =  getAttribute(node,"jbegin") 
     461      CALL zoom__set(pt_zoom,jbegin_glo=string_to_integer(value)) 
     462    ENDIF 
     463         
     464  END SUBROUTINE parsing_zoom_attribute  
    377465 
    378466 
     
    508596    ENDIF 
    509597 
     598    IF (is_attribute_exist(node,"zoom_ref")) THEN 
     599      value =  getAttribute(node,"zoom_ref") 
     600      CALL field__set(pt_field,zoom_ref=TRIM(value)) 
     601    ENDIF 
     602 
    510603    IF (is_attribute_exist(node,"level")) THEN 
    511604      value =  getAttribute(node,"level") 
Note: See TracChangeset for help on using the changeset viewer.