Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
elemental subroutine get_attributes(self,source)!< Get the attributes values from source after tag_name and attributes names have been set.class(xml_tag),intent(inout)::self!< XML tag.character(*),intent(in)::source!< String containing data.integer::a!< Counter.integer::c1!< Counter.integer::c2!< Counter.if(index(string=source,substring='<'//self%tag_name)>0)then if(self%attributes_number>0)then! parsing attributesdo a=1,self%attributes_numberc1=index(string=source,substring=self%attribute(1,a)//'="')+self%attribute(1,a)%len()+2if(c1>self%attribute(1,a)%len()+2)thenc2=index(string=source(c1:),substring='"')if(c2>0)thenself%attribute(2,a)=source(c1:c1+c2-2)else call self%attribute(2,a)%freeendif else call self%attribute(2,a)%freeendif enddo endif endif endsubroutine get_attributes